프로세스란
- 주 기억장치에 적재되어 현재 실행 중에 있는 프로그램을 프로세스라 함
프로세스의 구성 요소
- 프로세스의 범위는 메모리 구조 + 레지스터셋
- 메모리 구조는 코드, 데이터, 힙, 스택 영역으로 생성 > 프로세스별로 할당(프로세스가 2개면 이 메모리 구조도 2개가 할당)
- 레지스터셋들은 현재 실행중에 있는 프로세스의 실행에 필요한 데이터들로 채워지며, 이는 컨텍스트 스위칭으로 프로세스별로 교체된다.
프로세스 스케줄러
- 스케줄러는 둘 이상의 프로세스가 적절히 실행되도록 컨트롤
- 스케줄링 방법은 스케줄링 알고리즘에 따라 다양함
- S에서 Ready로 프로세스 생성
- ready에서 running : 스케줄링
- running에서 ready : 우선순위에 의해 밀려날 때
- running에서 block : IO에 관련된 일을 할 때
- E가 되면 소멸
컨텍스트 스위칭
- 프로세스 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 |