type
status
date
slug
summary
tags
category
icon
password

Program vs Process

 

프로그램

하드디스크 등에 저장되어 있는 정적인 상태.
명령어 리스트를 내용으로 가진 실행파일.

프로세스

실행을 위해 메모리에 올라온 동적인 상태.
동일한 프로그램으로부터 별도의 실행을 가질 수 있다.
 
 

메모리 적재 과정

 

PCB 구조

Pointer
Process State
Process Number
Program Counter
Registers
Memory Limits
Open File Lists
 

Process Loading

 

Process State

notion image
  • 제출 : 작업이 시스템에 제출된 상태
  • 접수 : 제출된 작업이 디스크에 저장된 상태
  • 준비 : 프로세스가 프로세서를 할당받기 전에 대기중인 상태. 잡스케줄러가 접수에서 준비 상태로 전이함.
  • 실행 : 프로세스가 프로세서를 할당받아 실행되는 상태.
  • 대기 : 프로세스에 입 출력이 필요하면 현재 실행 중인 프로세스가 중단되고, 입 출력이 끝날 때까지 대기하고 있는다.
  • 종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태.

Scheduling Algorithnm

 

선점 알고리즘

Round Robin

시간단위 를 정해서 프로세스를 순서대로 를 할당하는 방식

SRT(Shortest Remaining Time)

비선점 스케줄링인 기법을 선점 형태로 변경한 기법 SJF CPU CPU 점유 시간이 가장 짧은 프로세스에 를 먼저 할당하는 방식
 

다단계 큐(MLQ, Multi-Level Queue)

프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비 상태 큐를 사용하는 기법
 

다단계 피드백 큐(MLFQ, Multi-Level Feedback Queue)

프로세스 생성 시 가장 높은 우선순위 준비 큐에 등록되며 등록된 프로세스는 순서로 를 할당받아 FCFS CPU 실행되고 할당된 시간이 끝나면 다음 단계의 준비큐로 이동
단계가 내려갈수록 시간 할당량이 증가하고 가장 하위큐는 방식으로 운영

비선점 알고리즘

FCFS(First Come First Serve)

먼저 도착한 프로세스를 먼저 처리하는 스케줄링 알고리즘
 

SJF(Shortest Job First)

실행시간이 가장 짧은 프로세스에게 를 할당하는 방식
 

HRN(Highest Response ratio Next)

SJF 기법에서 비교적 실행시간이 긴 프로세스가 가질 수 있는 불리함을 보완한 스케줄링 방식 우선순위 = (대기시간+실행시간)/실행시간
 

우선순위 큐(Priority)

프로세스마다 우선순위를 부여하여 높은 우선순위를 가진 프로세스에게 먼저 자원을 할당
 

기한부(Deadline)

프로세스에게 일정한 시간을 주어 그 시간 안에 완료하도록 하는 기법 주어진 시간 내에 완료되지 못할 경우 해당 프로세스는 제거되거나 처음부터 다시 실행되어야 하므로 부담이 ,매우 큰 기법
알림에 대해Garbage Collector
Loading...