프로세스(Process) 관리

대부분의 프로그램은 보조기억장치에 저장되어 있다가 실행 명령을 받으면 주기억장치로 올라가 CPU에 의해 실행된다.

프로세스(Process)란 주기억장치에 올라간 프로그램(실행 중인 프로그램)을 뜻한다. 프로그램이 실행되기 위해선 보조기억장치가 아닌 주기억장치에 저장되어 있어야 하며, 프로세스에는 프로그램 코드 및 다양한 실행 정보가 담겨 있다.

 

etc-image-0
프로세스의 상태

 

프로세스는 주기억장치에 프로세스 제어 블록(PCB)라고 하는 공간에 프로세스에 대한 정보를 저장한다.

이는 임의의 프로세스가 생성되면 자동으로 생성되며, 종료시 같이 사라진다.

  • 프로세스 상태 : 프로세스의 현재 상태(준비/대기/실행)를 나타낸다.
  • 주소 레지스터 값 : CPU의 주소 레지스터에 저장된 값
  • 스케줄링 정보 : 다음에 실행될 프로세스를 결정하는데 필요한 정보이며, 프로세스 스케줄링에 필요한 정보다.
  • 주기억장치 정보 : 해당 프로세스가 주기억장치의 어느 영역에 위치해 있는지를 나타낸다.

여러 프로그램이 대기하고 있더라도 원칙적으로는 하나씩 수행된다. 따라서 여러 프로그램을 관리하기 위해선

운영체제가 프로세스의 실행 순서를 관리할 줄 알아야 한다. 이러한 다중 프로그래밍에서 순서를 결정하는 것이 프로세스 스케줄링(Process Scheduling)이다.

 

etc-image-1
FCFS 스케줄링 : 들어온 순서대로 진행

 

etc-image-2
라운드 로빈 : 저해진 할당량 만큼 돌아가면서 진행

이 외에도 프로그램에 우선순위를 지정하는 우선순위 스케줄링도 있으며, 각각의 스케줄링은 상황에 따라 시행 시간이 다르며 최대한 효율적으로 메모리를 사용할 수 있도록 하는 것도 운영체제의 역할이다.

출처 :

https://velog.io/@codemcd/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9COS-5.-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EA%B4%80%EB%A6%AC

 

[운영체제(OS)] 5. 프로세스 관리

1. 프로세스(Process) 프로세스는 메인 메모리에 할당되어 실행중인 상태인 프로그램을 말한다. 프로그램은 일반적으로 하드디스크(보조기억장치)에 저장되어 아무 일도 하지 않는 상태이다. 프로

velog.io

https://hyunah030.tistory.com/4

 

[운영체제] CPU 스케줄러 - FCFS, SJF, SRT, RR, Priority Scheduling

CPU 스케줄러 CPU 스케줄러 CPU 스케줄러란? 다중 프로그램 OS의 기본으로, 여러 프로세스들이 CPU를 교환하며 보다 생산적으로 동작한다. CPU를 선점한 프로세스가 대기하는 시간을 보다 효율적으로

hyunah030.tistory.com

 

'CS > 운영체제' 카테고리의 다른 글

컨텍스트 스위칭  (0) 2024.08.17
프로세스와 스레드  (0) 2024.08.13
멀티 태스킹과 멀티 프로세싱  (0) 2024.08.12
주기억장치 관리  (0) 2022.04.26
운영체제(Operating System)란  (0) 2022.04.25