Process

ํ”„๋กœ์„ธ์Šค๋ž€ ์‹คํ–‰์ค‘์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์Šค์ผ€์ค„๋ง์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์ž‘์—… (task) ๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์—๋Š” ์ตœ์†Œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ (thread) ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋Š”๋ฐ, ์‹ค์ œ๋กœ๋Š” ์Šค๋ ˆ๋“œ ๋‹จ์œ„๋กœ ์Šค์ผ€์ค„๋ง ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด, ์‹คํ–‰์„ ์œ„ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ด๋ฃจ์–ด์ง€๊ณ , ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ ์ด ์ˆœ๊ฐ„๋ถ€ํ„ฐ ํ”„๋กœ์„ธ์Šค๋ผ ๋ถˆ๋คผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Process ์˜ ๊ตฌ์„ฑ ์š”์†Œ

PID

ํ”„๋กœ์„ธ์Šค ์‹๋ณ„๋ฒˆํ˜ธ, Process IDentification

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

StateDescription

New

๋ง‰ ์ƒ์„ฑ๋œ ์ƒํƒœ

Ready

CPU ์— ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ์ƒํƒœ

Running

ํฌํ•จ๋œ ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ

Waiting

ํŠน์ • ์ž์›์ด๋‚˜ ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ

Suspended Waiting

๋Œ€๊ธฐ ์ƒํƒœ์—์„œ ๊ธฐ์–ต ์žฅ์น˜๋ฅผ ์žƒ์€ ์ƒํƒœ

Suspended Ready

๊ธฐ์–ต์žฅ์น˜๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ํ•„์š”ํ•œ ์ž์›๋“ค์„ ๋ณด์œ ํ•œ ์ƒํƒœ

Terminated

์‹คํ–‰์„ ์™„๋ฃŒํ•œ ์ƒํƒœ

ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ

CPU ๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ํ•  ๋ช…๋ น์–ด ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’

์Šค์ผ€์ค„๋ง ์šฐ์„  ์ˆœ์œ„

AlgorithmDescription

FCFS (First Come , First Serve)

๋จผ์ € ๋„์ฐฉํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌ

SJF (Shorted Job First)

์ตœ๋‹จ์ž‘์—…์šฐ์„  (CPU ๋ฒ„์ŠคํŠธ ํƒ€์ž„์ด ์งฆ์€)

Priority Scheduling

๋ฏธ๋ฆฌ ์ฃผ์–ด์ง„ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ์„œ ์Šค์ผ€์ค„๋ง

Round Robin

์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ์ž‘์—… ํ›„ ์ค€๋น„์™„๋ฃŒ ํ (์ˆœํ™˜ ํ)์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋™

Multilevel-Queue (๋‹ค๋‹จ๊ณ„ ํ)

์ค€๋น„์™„๋ฃŒ ํ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๊ฐ ํ๊ฐ€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์Šค์ผ€์ฅด๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ€์ง€๋Š” ๋ฐฉ์‹ ๊ฐ ํ๋ผ๋ฆฌ์˜ ์šฐ์„  ์ˆœ์œ„ ์„ค์ •๋„ ํ•„์š”

Multilevel-Feedback-Queue (๋‹ค๋‹จ๊ณ„-ํ”ผ๋“œ๋ฐฑ ํ)

๋‹ค๋‹จ๊ณ„ ํ์—์„œ ํ ์‚ฌ์ด์˜ ์ด๋™์„ ํ—ˆ์šฉ

๊ถŒํ•œ

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์„ ๊ฒฐ์ •ํ•˜๋Š” ์ •๋ณด

ํ”„๋กœ์„ธ์Šค์˜ ๋ถ€๋ชจ์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค ์ •๋ณด

ํ”„๋กœ์„ธ์Šค์˜ ๋ฐ์ดํ„ฐ์™€ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ

ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›๋“ค์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ

์‹คํ–‰๋ฌธ๋งฅ

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ์œ„ํ•ด ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹คํ–‰ํ•œ ํ”„๋กœ์„ธ์„œ์˜ ๋ ˆ์ง€์Šคํ„ฐ ๋‚ด์šฉ์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค.

Process ๊ฐ„ ์ •๋ณด ๊ณต์œ 

ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ๋Š” ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์—†๊ธฐ์— ๋ณ„๋„์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • IPC(Inter-Process Communication), LPC(Local inter-Process Communication)

  • ๋ณ„๋„๋กœ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Last updated