본문 바로가기
운영체제

운영체제 - 프로세스(Process)란?

by icblue21 2022. 12. 5.
728x90

프로세스(Process)

 

프로세스는 메모리에 올려져서 실행이 되고 있는 프로그램을 말합니다.

하드디스크에 있는 프로그램을 실행하면, 실행을 위해 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가게 됩니다. 그럼 이때부터 프로세스라 부르게 됩니다.

 

그렇다면 응용프로그램은 프로세스와 같은 말일까요?

다릅니다. 응용 프로그램은 여러 프로세스로 구성이 가능하기 때문입니다.

 

 

프로세스 스케줄링

 

하나의 CPU가 여러개의 프로세스를 실행 시키기 위해서는 프로세스 스케줄링 기술이 필요합니다.

 

1. 배치 처리 시스템

배치 처리 시스템은 여러개의 프로그램을 순차적으로 실행시키는 스케줄링 기법입니다. 먼저 등록된 프로세스보다 뒤에 등록된 프로세스가 더 적은 시간이 걸리더라도 앞의 프로세스가 끝날 때 까지 기다려야 하는 단점이 있습니다.

 

2. 시분할 시스템

시분할 시스템은 다중 사용자 지원을 위해 컴퓨터 응답을 최소화하는 시스템입니다. 여기서 다중 사용자 지원은 여러 사용자가 동시에 하나의 컴퓨터를 쓰는 것을 지원한다는 의미입니다.

 

3.멀티 태스킹

멀티 태스킹은 하나의 cpu에서, 여러 응용프로그램이 동시에 실행되는 것처럼 보이게 하는 시스템입니다. 10ms~20ms 단위로 실행 응용프로그램이 바뀝니다.

4. 멀티 프로그래밍

멀티 프로그래밍은 최대한 CPU를 많이 활용하도록 하는 시스템입니다. 응용 프로그램은 CPU외 다양한 하드웨어를 사용합니다.

 

5. 멀티 프로세싱

멀티 프로세싱은 여러 CPU에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화시키는 프로그램입니다.

멀티 태스킹은 단일CPU에서 여러 프로그램을 빠르게 바꾸어 가며 실행하고, 멀티 프로세싱은 여러CPU에서 하나의 프로그램을 병렬로 실행한다는 점에서 차이가 있으니 주의해야 합니다.

 

 

 

 

 

 

댓글