파게로그

프로세스 관리 본문

콤퓨타 왕왕기초/OS

프로세스 관리

파게 2020. 11. 17. 12:06

프로세스는 작업, 또는 time-shared program이기도하지만, 보다 일반적인 개념이다. 프로세스는 작업을 수행하기 위해서 CPU time, memory, files, I/O devices와 같은 자원들을 필요로 한다. 이는 프로세스가 만들어질 때, 또는 실행 중일 때 할당된다. 자원뿐만 아니라, 프로세스가 만들어질 때에는 많은 초기 데이터(input)도 전달된다. 프로세스가 종료되면, 운영체제는 재사용 가능한 자원을 회수할 것이다.

프로그램 자체는 프로세스가 아니다. 프로그램은 하나의 수동적인 entity로서, 디스크에 저장된 파일의 내용과 같다. 반면 프로세스는 하나의 능동적인 entity이다.

싱글쓰레드 프로세스는 하나의 program counter를 가지는데, 이는 실행할 다음 instruction을 가리킨다. 두 개의 프로세스가 같은 프로그램과 연관되어 있다고 한들, 두 개의 별도의 실행 sequence로 간주된다. 멀티쓰레드 프로세스는 많은 프로그램 카운터를 가지고 있고, 각각은 주어진 쓰레드에 대해 실행할 다음 instruction을 가리키고 있다.

프로세스는 시스템에서 작업의 단위이다. 시스템은 프로세스의 집합으로 구성되어 있고, 그 중 일부는 운영체제 프로세스(system code를 실행)이고, 나머지는 사용자 프로세스(user code를 실행)이다. 모든 프로세스는 잠재적으로 동시에 실행될 수 있는데, 예를 들어서 single CPU에 대해서도 multiplexing을 통해서 가능하다.

운영체제는 프로세스 관리와 연관된 다음의 활동들에 대한 책임을 지닌다.

- CPU의 프로세스와 쓰레드 스케쥴링

- 사용자 프로세스와 시스템 프로세스에 대한 creating and deleting

- 프로세스 중단 및 재개

- process synchronization에 대한 메커니즘 제공

- process communication에 대한 메커니즘 제공

'콤퓨타 왕왕기초 > OS' 카테고리의 다른 글

1.10~1.13  (0) 2020.11.23
보호 및 보안  (0) 2020.11.23
운영체제의 작동  (0) 2020.11.17
운영체제의 구조  (0) 2020.11.13
컴퓨터 시스템 아키텍쳐  (0) 2020.11.10
Comments