|
|
|
|
UNIX에서의 프로세스
|
|
|
|
보 고 서
제 목: UNIX에서의 프로세스
과 목 명:
오퍼레이팅 시스템
학 과:
전자계산학과
학 번:
93414048
이 름:
제 출 일:
담당교수:
구흥서 교수님
◈ 목 차 ◈
프로세스의 개념
프로세스의 구조
프로세스의 생성
프로세스의 기다림
프로세스의 종료
예 제
◎ 프로세스의 개념
프로세스란 프로그램의 실행을 의미한다( 텍스트 + 데이터 + 스택 ). 여러 프로세스들을 커널이 스케줄링하여, 이들 프로세스는 동시에 실행하는 것처럼 보인다. 그리고 하나의 프로그램은 여러개의 프로세스 인스턴트를 생성할 수 있다. 프로세스는 자신의 데이터와 스택 영역을 읽고 쓰지만 다른 프로세스의 데이터와 스택 영역을 읽거나 쓰지는 못한다. 그래서 다른 프로세스나 UNIX와 통신하려면 시스템 호출을 사용해야 한다. 실제적으로 UNIX에서의 프로세스란 fork 시스템 호출에 의하여 생성되는 실체를 말하며, 프로세스 0을 제외한 모든 프로세스는 다른 프로세스가 fork 시스템 호출을 수행하여 만들어진다. fork를 호출한 프로세스를 부모 프로세스라하고, 새로 만들어진 프로세스를 자식 프로세스라 한다. 커널은 각 프로세스들을 그 프로세스 ID로 구분한다.
◎ 프로세스의 구조
운영 체제
가상 주소 공간
사용자(프로그램)
가장 주소 공간
텍스트(text) OS
텍스트(text)
데이터
(data)
OS
프로세스 테이블
0
swapper
1
init
⋮
etext
57
prog
데이터(초기화)
⋮
edata
데이터(비초기화)
사용자 영역
파일 디스크립터 테이블
.... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|