시스템 프로그래밍

프로세스의 생성과 소멸

은행털이 2024. 10. 18. 13:06

프로세스란

- 주 기억장치에 적재되어 현재 실행 중에 있는 프로그램을 프로세스라 함 

 

 

 

프로세스의 구성 요소

- 프로세스의 범위는 메모리 구조 + 레지스터셋
- 메모리 구조는 코드, 데이터, 힙, 스택 영역으로 생성 > 프로세스별로 할당(프로세스가 2개면 이 메모리 구조도 2개가 할당)

- 레지스터셋들은 현재 실행중에 있는 프로세스의 실행에 필요한 데이터들로 채워지며, 이는 컨텍스트 스위칭으로 프로세스별로 교체된다.

 

 

 

프로세스 스케줄러

- 스케줄러는 둘 이상의 프로세스가 적절히 실행되도록 컨트롤

- 스케줄링 방법은 스케줄링 알고리즘에 따라 다양함

- S에서 Ready로 프로세스 생성

- ready에서 running : 스케줄링
- running에서 ready : 우선순위에 의해 밀려날 때

- running에서 block : IO에 관련된 일을 할 때

- E가 되면 소멸

스케줄러 -> ready상태의 프로세스들 중 일련의 스케줄링 방법으로 프로세스를 선택

 

 

컨텍스트 스위칭

- 프로세스 A를 B로 스위칭할 때, 프로세스 A에 맞게 구성된 레지스터를 B에 맞게 구성하도록 레지스터의 값을 메모리에 저장하고, 메모리에서 프로세스 B에 맞는 데이터를 레지스터로 불러와 레지스터의 값도 스위칭하는 것

'시스템 프로그래밍' 카테고리의 다른 글

프로세스 간 통신  (0) 2024.10.18
커널 오브젝트와 오브젝트 핸들  (0) 2024.10.18
컴퓨터 구조 2  (0) 2024.10.18
64비트 기반 프로그래밍  (0) 2024.10.18
아스키코드와 유니코드  (0) 2024.10.18