초보개발자 긍.응.성
3. Process - 운영체제의 프로세스 제어 본문
운영체제는 프로세서에 의해 수행되는 프로세스들을 스케줄하여 Dispatch하고, 프로세스들에게 자원을 할당하며, 사용자 프로세스의 기본적인 서비스 요청에 응답한다. 운영체제는 프로세스가 사용하는 시스템 자원들을 관리하는 개체로 볼 수 있다.
앞서 말한것 처럼 운영체제가 프로세스와 자원들을 관리하기 위해서는 각 프로세스에 대한 현재 상태를 나타내는 정보를 가지고 있어야만 한다. 이러한 정보는 개체에 대한 테이블로 구성해서 유지한다.
운영체제는 메모리 테이블, 입출력 테이블, 파일 테이블, 프로세스 테이블을 가진다.
프로세스 제어 구조
- 프로세스 위치
프로세스는 각각의 프로세스 이미지를 가진다. 프로세스 이미지는 데이터, 프로그램, 스택, PCB를 가진다. 운영체제는 프로세스의 항목들을 주 프로세스 테이블에 갖고 있으며, 각 항목은 프로세스 이미지에 대한 포인터를 포함한다. 그렇다면 이 프로세스 이미지는 어디에 저장될까? 주로 프로세스 이미지는 연속된 인접 블록에 위치시키고 이러한 블록은 보조기억장치에서 관리된다. 일부의 프로세스 이미지는 주기억장치 내에 유지시키며, 프로세스 수행을 위해서는 해당 프로세스 이미지를 주 기억장치에 적재시켜 사용한다.
- 프로세스 속성
대부분의 속성들은 PCB에 저장되는 속성들은 다음과 같다.
- 식별자: 프로세스를 식별하기 위해 필수적이다.
- 처리기 상태 정보: 인터럽트에서 돌아올 때 수행이 재개되기 위한 정보들이 저장/복구 되어야 하므로 처리기 상태정보를 가진다. 이는 처리기 레지스터들의 내용으로 구성된다.
- 프로세스 제어 정보: 운영체제가 활성화된 프로세스들을 제어하고 조정하기 위해 필요한 추가 정보이다.
- PCB의 역할
PCB는 운영체제에서 가장 중요한 자료구조이다. PCB는 운영체제에게 필요한 프로세스의 모든 정보들이 들어있다. 스케줄링, 자원 할당, 인터럽트 처리, 성능 측정과 분석 등 관련된 모듈들을 포함하여 운영체제의 모든 모듈에 의해 읽혀지고 수정될 수 있다.
'운영체제(Operating Systems)' 카테고리의 다른 글
4. Process - 수행모드와 프로세스 생성 및 교환 (0) | 2019.12.08 |
---|---|
2. Process - 프로세스 상태 (0) | 2019.12.02 |
1. Process - 프로세스란? (0) | 2019.12.02 |