티스토리 뷰

반응형

운영체제의 주요 구성기술-1

운영체제의 주요 구성기술-2

 

1).프로세스 관리

개념 : 시스템 작업의 기본 단위이며 현재 수행상태에 있는 프로그램을 의미한다. 예를 들면 수행중인 응용프로그램, 운영체제의 일부인 CPU 스케줄러등이 프로세스가 될 수 있다. 하나의 프로세스는 생성되어 완료될 떄까지 상태변화를 거치게 된다.

 

- 생성 : 프로세스가 생성되었지만 운영체제에 의해서 실행가능한 프로세스 집합에 들어가지 못한 상태

- 실행 : 현재 CPU를 차지하여 실행중인 상태

- 준비 : 프로세스가 실행되고 있지 않지만 즉시 CPU를 사용할 수 있는 상태

- 대기 : 어떤 사건이 발생하기 전까지는 실행될 수 없는 상태

- 보류 : 프로세스가 디스크 등에 보관되어 있는 상태

- 교착 : 프로세서가 결코 일어날 수 없는 사건을 기다리는 상태

- 종료 : 운영체제에 의해서 실행가능한 프로세스 집합으로부터 해제된 상태

 

프로세스 제어블록 : 프로세스는 프로세스 제어블록(PCB)으로 나타내며 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 저장소를 의미한다. 운영체제가 제어를 다른 프로세스에 넘겨줄 때 현재 실행중인 프로세스의 정보를 해당 PCB에 저장한 후 제어를 넘겨주게 된다. 제어가 다시 프로세스에게 넘겨질 경우 운영체제는 PCB에 있는 정보를 이용해서 실행을 한다.

 

2.병행처리와 프로세스

1) 프로세스 생성하는데 필요한 작업

- 프로세스 이름을 결정

- 프로세스 리스트에 생성된 프로세스를 추가

- 생성된 프로세스에 초기 우선순위를 부여

- 생성된 프로세스에 PCB를 생성

- 생성된 프로세스에 초기자원 할당

 

2) 쓰레드

- 프로세스가 논리적으로 운영체제가 해야 하는 작업을 의미한다면 스레드는 그 작업을 성취하는데 필요한 가능한 많은 하위 작업 중의 하나이고 하나의 프로세스는 하나의 쓰레드나 여러개의 쓰레드로 구성될 수 있다. 따라서 프로세스보다는 작은 단위이며 자원의 할당에는 관계하지 않고 프로세서 스케줄링의 단위로서 사용하게 된다.

 

3)태스트( 프로세스와 같은개념)

- 태스크는 자원 할당의 단위로 정의될 수 있으며 프로세스와 같은 개념으로 이해할 수 있다. 즉, 쓰레드는 프로세스처럼 독립된 주소공간을 가질 수 없고 프로세스처럼 독립적으로 자원 할당을 요청할 수 없다 

 

3. 프로세스 스케줄링

개념 : 멀티 프로세스 시스템 내에 존재하는 여러개의 프로세스 중 어떤 프로세스에게 CPU 사용권을 넘겨줄 것인가를 결정하는 일이다.  멀티 프로세스는 시스템에서는 생성된 프로세스는 일단 준비상태로 넘어가게 되고 준비 상태에서는 여러 개의 프로세스가 실행되기를 기다리고 있는 상태를 운영체제가 이들을 큐에 보관하고 관리(대기 큐)하면서 CPU가 사용 가능하면 운영체제는 대기 큐에서 기다리고 있던 프로세스에게 CPU 사용권을 넘겨준다.

 

종류

스케줄링 큐

- 준비큐 

주기억 장치에 적재되어 있으면서 CPU에 의해 실행되기를 준비하는 프로세스들로 구성된 리스트

첫 번째와 마지막 PCB(프로세스 제어블록)를 가리키는 큐 헤더와 각 프로세스의 정보와 다음 프로세스의 PCB를 가리키는 포인터 필드를 포함한 PCB로 구성

 

- 작업큐

주기억장치의 할당을 기다리며 대용량의 기억장치에 있는 프로세스들로 구성된 리스트

 

- 장치큐

특정한 입출력 장치를 기다리고 있는 프로세스로 구성된 리스트

 

반응형