- 프로세스 생성
부모 프로세스가 자식 프로세스 생성
트리(계층 구조) 형성
자원필요: 운영체제로부터 받음/ 부모와 공유/ 공유하지 않는 모델 일반적
수행: 공존/자식 종료될 때까지 기다림
주소공간: 부모 공간을 복사(fork())-> 그 공간에 새로운 프로그램 올림(exec())
- 프로세스 종료
프로세스 마지막 명령 수행 후 운영체제에게 알림(exit)
- 자식이 부모에게 output data보냄(wait), 자원 운영체제에게 반납
부모 프로세스가 자식 수행 종료(abort)
- 자식 자원 한계치 넘을때, 태스크 필요없을 때, 부모 종료될 때
- fork() 시스템콜
자식 fork() 이후부터 실행, return 값 달라서 구별가능
- exec() 시스템콜
새로운 프로그램 올린다. 다시 돌아오지 못해
- wait() 시스템콜
프로세스 A가 wait() 호출-> 커널은 child 종료시까지 A를 sleep시킴(block상태)
-> child 종료되면 A깨움(ready상태)
- exit() 시스템 콜
자발적 종료: 마지막 문장 수행후
비자발적 종료: 부모가 자식 종료시킴, 키보드로 kill/break , 부모가 종료 될 때
- 프로세스 간 협력
독립적 프로세스: 각자 주소공간, 다른 프로세스 수행 영향 없음
협력 프로세스 메커니즘(IPC): 메시지 전달(커널통해), 주소 공간 공유
- cpu-burst time 분포
여러종류의 job 섞여 있기 때문에 cpu스케줄링 필요
interactive job에게 적절한 response 제공
cpu와 i/o 장치 등 시스템 자원 효율적 사용
- 프로세스 특성 분류
i/o bound process: i/o에 많은 시간 필요한 job (many, short)
cpu-bound process: 계산 위주의 job (few, long)
- cpu 스케줄러& dispatcher
cpu 스케줄러: ready 상태 프로세스 중 cpu 줄 프로세스 고름
dispatcher: cpu 제어권 넘겨주는애, context switch
비선점형 nonpreemptive : 강제로 빼앗지 않음
선점형 preempitve: 강제로 빼앗음 보통 이거
http://www.kocw.net/home/search/kemView.do?kemId=1046323&ar=pop
'운영체제' 카테고리의 다른 글
[운영체제] Process Synchronization (0) | 2022.05.01 |
---|---|
[운영체제] CPU Scheduling (0) | 2022.04.28 |
[운영체제] Process (0) | 2022.04.23 |
[운영체제] System Structure & Program Execution (0) | 2022.04.19 |
[운영체제] Introduction to Operating Systems (0) | 2022.04.18 |