chap03_Processes(1)

이상민·2023년 9월 10일
0
post-thumbnail

운영체제의 역할 중 하나인 프로세스 스케줄링에 대해 배워보자.

Process concept

프로세스(process)란 프로그램이 실행 되기 위해 주메모리load되어 있는 상태를 의미한다. 즉 쉽게 말해 실행중인 프로그램프로세스라고 한다.

프로세스의 메모리 layout을 살펴보면 네 가지 section을 포함한다.

  • Text section: 실행 가능한 명령어 부분
  • Data section: 전역변수가 저장되는 부분
  • Heap section: 프로그램 런타임 중 동적으로 할당 되는 부분
  • Stack section: 함수가 실행 될 때 일시적으로 저장 되는 부분(지역변수,함수의 파라미터,...)

Process state

OS가 프로세스를 관리하려면 프로세스의 상태에 대한 개념이 있어야한다.

  • New: 프로세스가 생성된 상태
  • Running: 프로세스가 실행 중인 상태
  • Waiting: 프로세스가 I/O 완료, 수신 신호를 기다리는 상태
  • Ready: 프로세스가 실행을 준비하는 상태
  • Terminated: 프로세스가 실행이 종료된 상태

Process Control Block(PCB)

운영체제는 프로세스를 스케줄링할 때 PCB 구조를 이용하여 스케줄링을 하며 아래와 같은 정보를 포함한다

  • Process state: 프로세스의 상태 (new,running,ready,wait, terminated )
  • Program Counter: PC라고 하며 다음 실행될 명령어의 메모리 주소
  • CPU registers: IR(현재 명령어의 메모리 주소를 저장한 레지스터), DR
  • ....

Process Scheduling

profile
잘하자

0개의 댓글