728x90
반응형
- 프로세스 생성
- 부모 프로세스가 자식 프로세스를 생성
- 부모 프로세스에서 OS로 SystemCall을 통해 자식 프로세스 생성 요청
- 프로세스 트리를 통해서 부모 - 자식 관계 표현
- 자원 필요
- 부모와의 자원 공유
- OS로 부터 자원 할당
- 자원 공유 유형
- 부모와 자식 프로세스가 하나의 자원을 공유하는 유형
- 일부만 공유하는 유형
- 공유하지 않는 유형 → 이상적인 공유 형식 자식프로세스가 생성되었을 때, 부모와 자식은 경쟁적으로 자원을 차지하려고 함.
- 수행
- 부모와 자식이 공존하며 수행 → Thread?
- 자식이 종료될 때까지 부모가 대기 → Wait, Blocked
- 주소 공간
- 자식이 부모의 주소를 복사 → Binary OS Data
- 해당 공간에 새로운 프로그램
- 부모 프로세스가 자식 프로세스를 생성
- 프로세스 종료
- 프로세스가 마지막 명령을 수행하고 종료되었을 때, System Call을 통해 OS에게 알림 → exit()
- 자식이 부모에게 최종 결과 전달
- 자식 프로세스의 자원 반납
- 부모 프로세스의 자식 프로세스 강제 종료 → Abort
- 할당 자원의 한계를 넘어섰을 때
- 더 이상 필요하지 않을 때
- 부모 프로세스가 종료될 때
- 프로세스가 마지막 명령을 수행하고 종료되었을 때, System Call을 통해 OS에게 알림 → exit()
- fork() System Call
- fork() System Call로 새로운 프로세스를 생성한다.
- 부모 프로세스의 주소 공간을 자식 프로세스에 복제
- 부모 자식 프로세스는 fork() 호출 이후에 독립적으로 실행
- exec() System Call
- 현재 실행중인 프로세스의 메모리 공간을 새로운 프로그램으로 대체
- 프로세스가 다른 프로그램을 로드하고 실행
- wait() System Call
- 부모 프로세스가 자식 프로세스의 종료를 기다리게 한다.
- 자식 프로세스가 종료될 때까지 대기 상태
- exit() System Call
- 정상적인 종료를 위해 사용됨
- exit()를 호출하면, 해당 프로세스의 자원을 OS에게 반납하고 종료 됨.
- 프로세스 간 협력
- 유형
- 독립적 프로세스(Independent Process)
- 프로세스별 주소 공간을 가지고 수행되므로, 하나의 프로세스는 다른 프로세스에 영향을 미칠 수 없다.
- 협력적 프로세스 (Cooperating Process)
- 하나의 프로세스가 다른 프로세스에 영향을 미칠 수 있다 → 프로세스 협력 메커니즘
- 프로세스간 협력 메커니즘 (Inter-Process Communication, IPC)
- 두 개 이상의 프로세스가 데이터를 공유하거나 통신하는 방법
- 메시지 전달이나 공유 메모리를 통해 수행 됨
- 프로세스들은 특정 작업을 조율하거나, 데이터를 교환하기 위해 IPC를 사용
- 독립적 프로세스(Independent Process)
- 유형
요약 → CPU 스케줄링이 필요하다!
프로세스의 특성 분류
- I/O Bound Process
- I/O 처리에 많은 시간이 필요
- CPU Bound Process
- 계산을 주로 처리하는 일
CPU Scheduling : Ready 상태의 프로세스 중 어떤 프로세스에 자원을 할당 할 것인지 정함
Dispatcher : CPU Scheduling에 의해 정해진 프로세스로 CPU 제어권을 전달 → Context Switching
CPU Scheduling이 필요한 상태
- Running → Blocked
- Running → Ready
- Blocked → Ready
- Terminate
728x90
반응형
'책' 카테고리의 다른 글
[데이터베이스 첫 걸음] 4주차 공부 내용 정리 (1) | 2023.10.17 |
---|---|
[데이터베이스 첫 걸음] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 3주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 4주차 공부 내용 정리 (1) | 2023.10.17 |
[모두의 네트워크] 3주차 공부 내용 정리 (0) | 2023.10.17 |