๐Ÿ“š CS/Operating System

[OS] 2. Process Description and Control

2021. 4. 19. 15:07
๋ชฉ์ฐจ
  1. 1. What is a Process
  2. 2. Process States
  3. 3. PCB
  4. 4. Context
  5. 5. Process Control
  6. 6. Context Switch
  7. 7. Inter-Process Communication
  8. 8. Siganl, Interrupt

๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

Operating Systems, Internals and Design Principles (9th Ed.), William Stallings, Pearson, 2017

1. What is a Process

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ.

 

ํ”„๋กœ์„ธ์Šค๋Š” ๋ˆ„๊ฐ€ ๋งŒ๋“ค์–ด?

1. GUI๋ฅผ ํ†ตํ•œ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€

2. ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด

-> ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ปค๋„์ด ์ƒ์„ฑ

2. Process States

Dispatcher์— ์˜ํ•ด ํ”„๋กœ์„ธ์Šค์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํ™˜ ๊ฐ€๋Šฅ.

Dispatcher๋Š” ๋ฌธ๋งฅ ์ „ํ™˜์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” OS์˜ ๊ธฐ๋Šฅ. ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• .

 

Process Scheduling๋กœ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ฅธ ์ „ํ™˜.

Waiting time๊ณผ Priority์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰.

Waiting time์ด ๋” ๊ธธ๋‹ค๊ณ  ๋ฌด์กฐ๊ฑด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ์€ ์•„๋‹˜! -> ์˜ˆ์™ธ ์ƒํ™ฉ : I/O๊ฐ€ ์ง„ํ–‰์ค‘์ธ ๊ฒฝ์šฐ ์šฐ์„ ์ˆœ์œ„ ๋ฌด์‹œ.

1) Process Termination

1. ์ˆ˜ํ–‰์ด ์™„๋ฃŒ๋๊ฑฐ๋‚˜

2. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ฑฐ๋‚˜

3. ๋ถ€๋ชจ์˜ ์š”์ฒญ์— ์˜ํ•ด ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๋‹ค.

2) Process State

 

Process States

 

Single Blocked Queue

1. Running ์ƒํƒœ

foreground : interactive mode

background : batch mode

 

2. Not Running ์ƒํƒœ

Ready : ์‹คํ–‰ ์ค‘์€ ์•„๋‹ˆ์ง€๋งŒ ์ฆ‰์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ. time slice๊ฐ€ ๋‹ค ๋œ ๊ฒฝ์šฐ. ready ์ƒํƒœ์ธ ๊ฒฝ์šฐ queue์— ์ €์žฅ.

Block : ์‹คํ–‰ ์‹œํ‚ฌ ์ˆ˜ ์—†๋Š” ์ƒํƒœ. ํŠน์ • ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ. block ์—ญ์‹œ queue์— ์ €์žฅ.

 

Multiple Blocked Queues

ํŠน์ • ์ด๋ฒคํŠธ๋ณ„๋กœ queue๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„.

 

Suspended : block ์ƒํƒœ์ธ ํ”„๋กœ์„ธ์Šค๋„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์œ ํ•˜๊ณ  ์žˆ์Œ -> ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์„ ์œ„ํ•ด swap ๊ณต๊ฐ„์— ๋ณด๋‚ธ๋‹ค.

suspended ์—ญ์‹œ ready ์ƒํƒœ์™€ block ์ƒํƒœ๊ฐ€ ์žˆ์Œ.

I/O๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ suspended๋กœ ๋ณด๋ƒˆ๋Š”๋ฐ time slice๊ฐ€ ๋˜๊ธฐ ์ „์— I/O๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ suspened ready๋กœ ์ „ํ™˜.

 

Terminate :์ข…๋ฃŒ๋œ ์ข€๋น„์ƒํƒœ. ํ”„๋กœ์„ธ์Šค๋Š” ์ข…๋ฃŒ๋์ง€๋งŒ PCB, ์ฆ‰ ํ”„๋กœ์„ธ์Šค์— ๊ด€ํ•œ ์ •๋ณด๋Š” ๋ฐ˜๋‚ฉ๋˜์ง€ ์•Š์Œ. Wait์„ ํ†ตํ•ด ์ œ๊ฑฐ.

3) ์ตœ์ข…์ ์ธ ์ƒํƒœ๋„

 

์ตœ์ข…์ ์ธ ์ƒํƒœ๋„

3. PCB

 

PCB

์šด์˜์ฒด์ œ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง€๊ณ  ๊ด€๋ฆฌ๋œ๋‹ค.

ํ”„๋กœ์„ธ์Šค์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ์˜ ์ž๋ฃŒ๊ตฌ์กฐ.

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ, ์‹คํ–‰ ์ •๋ณด, ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ, CPU Register, Pid, PPid ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จ.

 

ID : ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์ธ์ง€ ์‹๋ณ„ํ•ด์•ผํ•œ๋‹ค. PID, PPID, PGID

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

์šฐ์„  ์ˆœ์œ„ : ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์ˆœ์„œ

์ž์› ์‚ฌ์šฉ์ •๋ณด ํ†ต๊ณ„ : ์ •๋ณด ์ €์žฅ

์œ„์น˜ ์ •๋ณด : ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ ์ฃผ์†Œ

๋ฐ์ดํ„ฐ : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ

 

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค = ํ•˜๋‚˜์˜ PCB

 

๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค ๋””์Šคํฌ๋ฆฝํ„ฐ๋ผ๊ณ  ๋ถ€๋ฆ„.

๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” Process List๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ.

1) Process List

Linked List ํ˜•ํƒœ๋กœ next_task์™€ prev_task๋กœ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ PCB๊ฐ€ ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ.

Ready Queue์˜ ๊ฒฝ์šฐ next_run๊ณผ prev_run์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.

4. Context

User Context์™€ System Context๋กœ ๋ถ„๋ฅ˜.

User Context์—๋Š” Code, Data, User Stack์ด ์ €์žฅ.

 

์ดˆ๊ธฐํ™” ๋˜์ง€ ์•Š์€ ์ „์—ญ ๋ณ€์ˆ˜ : Data ์˜์—ญ

์ดˆ๊ธฐํ™” ๋œ ์ „์—ญ ๋ณ€์ˆ˜ : Bss ์˜์—ญ

์ง€์—ญ ๋ณ€์ˆ˜ : Stack ์˜์—ญ

 

System Context์—๋Š” Kernel Stack๊ณผ PCB๊ฐ€ ์ €์žฅ.

5. Process Control

ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ปค๋„์— ์˜ํ•ด ์‹คํ–‰๋œ๋‹ค.

์œ ์ €๋ชจ๋“œ์™€ ์‹œ์Šคํ…œ๋ชจ๋“œ๋ฅผ ์™”๋‹ค๊ฐ”๋‹คํ•˜๋ฉด์„œ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์ด๋ฅผ Mode change๋ผ๊ณ  ํ•จ.

์œ ์ €๋ชจ๋“œ๋ณด๋‹ค ์‹œ์Šคํ…œ๋ชจ๋“œ๊ฐ€ ๊ถŒํ•œ์ด ๋” ๋งŽ๋‹ค.

(ํ”„๋กœ์„ธ์Šค๋“ค๊ฐ„์˜ ์ „ํ™˜์€ Context Switch)

 

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์€

1. PCB๋ฅผ ๋จผ์ € ์ƒ์„ฑ (ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ์œ ํ•œ PCB๋ฅผ ๊ฐ–๊ณ  ์žˆ์œผ๋ฏ€๋กœ)

2. PID๋ฅผ ํ• ๋‹น

3. PCB์— ๊ฐ’์„ ์ฑ„์šฐ๊ณ 

4. User Context๋ฅผ ์ƒ์„ฑ -> ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…

5. ์ƒ์„ฑํ•œ PCB์˜ ์ƒํƒœ๋ฅผ Ready ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ

6. ์ž์‹ ํ”„๋กœ์„ธ์Šค์ธ ๊ฒฝ์šฐ pid์— 0์„ ๋ฆฌํ„ด

1) fork()

user context์—์„œ code ์˜์—ญ์€ ๊ทธ๋Œ€๋กœ ๋‘” ์ฑ„ data์™€ stack ์˜์—ญ๋งŒ ๋ณต์‚ฌ -> code ์˜์—ญ์„ ๋ณต์‚ฌํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์„ ์œ„ํ•ด.

 

COW

COW(Copy on Write) : ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์„ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ๋ฐฉ๋ฒ•

fork๋ฅผ ํ–ˆ์„ ๋•Œ code, data, stack ๋ถ€๋ชจ์™€ ๊ฐ™์€ ์˜์—ญ์„ ๊ฐ€๋ฅดํ‚ค๊ฒŒ ํ•˜๊ณ , ๊ฐ’์˜ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์˜์—ญ์„ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ์‹.

2) exec()

 

exec

fork()๋ฅผ ํ•ด์„œ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  exec()๊ฐ€ ์‹คํ–‰๋˜๋ฉด user context์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๊ณ ๋ฆฌ๋ฅผ ๋Š๊ณ  ์ƒˆ๋กœ์šด user context์™€ ์—ฐ๊ฒฐ

6. Context Switch

1) ๋ฐœ์ƒ ์กฐ๊ฑด

1. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋œ ๊ฒฝ์šฐ -> Wait์œผ๋กœ ํšŒ์ˆ˜

2. Time slice๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ -> Ready Queue๋กœ

3. I/O ๊ฐ™์€ System Call์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ -> Blocked Queue(Suspended Queue)๋กœ

4. ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ

2) ์‹คํ–‰ ๋‹จ๊ณ„

๋ฌธ๋งฅ ์ „ํ™˜์ด ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ PCB๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  Queue๋กœ ๋ณด๋‚ธ๋‹ค.

์ƒˆ๋กœ ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ Process Scheduling์œผ๋กœ ์ •ํ•˜๊ณ  ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

์ƒˆ๋กœ ์‹คํ–‰ํ•  ํ”„๋กœ์„ธ์Šค์˜ PCB ๊ฐ’์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

3) ์ข…๋ฃŒ ์กฐ๊ฑด

1. exit() -> ์ •์ƒ์ ์ธ ๊ฒฝ์šฐ

2. signal(interrupt)

3. kill

 

์ข…๋ฃŒ๋˜๋ฉด zombie, terminated ์ƒํƒœ๋กœ ๋‚จ์•„์žˆ์Œ.

wait๋ฅผ ํ†ตํ•ด PCB๋ฅผ ํšŒ์ˆ˜ํ•ด๊ฐ€์•ผํ•จ. wait ์‹คํ–‰๋˜๋ฉด ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ PCB ๋‚ด์˜ ์ •๋ณด ์ „๋‹ฌ.

 

Q. ๋งŒ์•ฝ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋Š” ๋ถ€๋ชจ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด?

A. init ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒˆ๋กœ์šด ๋ถ€๋ชจ๊ฐ€ ๋œ๋‹ค. (์œ ๋‹‰์Šค, ๋ฆฌ๋ˆ…์Šค ๊ธฐ์ค€)

7. Inter-Process Communication

 

Inter-Process Communication

ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์˜ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ž‘์—…

message passing๊ณผ shared memory, remote procedure call์ด ์žˆ์Œ.

A์™€ B๊ฐ€ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์•„์•ผํ•˜๋Š”๋ฐ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์กด์žฌ.

ํ”„๋กœ์„ธ์Šค๋“ค๋ผ๋ฆฌ ์ง์ ‘ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์—†์Œ. Why? ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ž๊ธฐ ์˜์—ญ์„ ์นจํ•ดํ•ด๋ฒ„๋ฆฌ๋ฉด? ํ•ดํ‚น๊ณผ ๊ฐ™์Œ.

๋”ฐ๋ผ์„œ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๋งค๊ฐœ์ฒด๊ฐ€ ์žˆ์–ด์•ผํ•จ.

1) Message Passing

์ฃผ๊ณ  ๋ฐ›๋Š” ๋งค๊ฐœ์ฒด๊ฐ€ ์ปค๋„์ธ ๊ฒฝ์šฐ

ํ”„๋กœ์„ธ์Šค A -> ์ปค๋„ -> ํ”„๋กœ์„ธ์Šค B

์žฅ์  : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ ์†์ƒ ์—†์ด ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์  : ์šด์˜์ฒด์ œ๋ฅผ ํ†ตํ•ด ์ฃผ๊ณ  ๋ฐ›์œผ๋ฏ€๋กœ Mode Change๊ฐ€ ์ผ์–ด๋‚˜์•ผ ํ•œ๋‹ค. (User Mode <-> System Mode)

๋”ฐ๋ผ์„œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. (์ƒ๋Œ€์ ์œผ๋กœ)

2)  Shared Memory

ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ์„ฑ

ํ”„๋กœ์„ธ์Šค A <- ๊ณต์œ ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ -> ํ”„๋กœ์„ธ์Šค B

์žฅ์  : Mode Change ์—†์ด ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„์ด ๋น ๋ฅด๋‹ค.

๋‹จ์  : ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด ๊ตฌ์ถ• ๊ณผ์ •์— ์žˆ์–ด์„œ ๋ณต์žกํ•˜๋‹ค.

๋งŒ์•ฝ 1MB์˜ ๊ณต๊ฐ„์ธ๋ฐ 1MB ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด?

8. Siganl, Interrupt

1. Signal : ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ์•Œ๋ฆฌ๋Š” ๊ฒƒ

2. Interrupt : OS๊ฐ€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ์•Œ๋ฆฌ๋Š” ๊ฒƒ

3. System Call : ํ”„๋กœ์„ธ์Šค๊ฐ€ OS์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ์•Œ๋ฆฌ๋Š” ๊ฒƒ

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ“š CS > Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[OS] 6. I/O Management and Disk Scheduling  (0) 2021.04.20
[OS] 5. Concurrency : Deadlock and Starvation  (0) 2021.04.20
[OS] 4. Concurrency : Mutual Exlusion and Synchronization  (0) 2021.04.19
[OS] 3. Threads  (0) 2021.04.19
[OS] 1. Operating System Overview  (0) 2021.04.19
  1. 1. What is a Process
  2. 2. Process States
  3. 3. PCB
  4. 4. Context
  5. 5. Process Control
  6. 6. Context Switch
  7. 7. Inter-Process Communication
  8. 8. Siganl, Interrupt
'๐Ÿ“š CS/Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [OS] 5. Concurrency : Deadlock and Starvation
  • [OS] 4. Concurrency : Mutual Exlusion and Synchronization
  • [OS] 3. Threads
  • [OS] 1. Operating System Overview
kodo_o
kodo_o
iOS ๊ฟ€์žผ!
kodo_o
๐ŸŽ๐Ÿ
kodo_o
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (149)
    • ๐Ÿ”จ ํ”„๋กœ์ ํŠธ (0)
      • TP 1 (0)
      • WhiteHCCTV (0)
      • FootPrint (0)
    • ๐Ÿ’ป ๊ฐœ๋ฐœ (63)
      • iOS (30)
      • Android (6)
      • Kotlin (4)
      • Flutter (9)
      • Node.js (5)
      • Architecture (1)
      • ์˜ค๋Š˜์˜ ์‚ฝ์งˆ (7)
      • ์—๋Ÿฌ์™€์˜ ๋™์นจ (1)
    • โœ๏ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (6)
      • Graph (6)
      • String (0)
      • Sort (0)
    • โœ๏ธ ์ฝ”ํ…Œ ์ค€๋น„ (44)
      • Math (1)
      • Implementation (3)
      • String (3)
      • Brute Force (5)
      • Back Tracking (7)
      • Greedy (0)
      • Dynamic Programming (13)
      • Binary Search (1)
      • DFS, BFS (5)
      • Shortest Path (2)
      • Two Pointer (4)
      • MST (0)
    • ๐Ÿ“š CS (6)
      • Operating System (6)
    • โ›น๏ธ ๋ผ์ดํ”„ (30)
      • 2020 ๊ฒจ์šธ๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ) (12)
      • 2021 ์—ฌ๋ฆ„๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ) (6)
      • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (1)
      • ํšŒ๊ณ  (10)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๊นƒํ—ˆ๋ธŒ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
kodo_o
[OS] 2. Process Description and Control
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.