๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

OS

๐Ÿ’ป KOCW-OS-3: System Structure & Program Execution 2

๐Ÿ—ฃ ์„œ๋ก 

KOCW ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜์˜ ์šด์˜์ฒด์ œ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ๊ณผ ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ, ์ €์žฅ์žฅ์น˜ ๊ณ„์ธต ๊ตฌ์กฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰, ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰(๋ฉ”๋ชจ๋ฆฌ load), ์‹œ์Šคํ…œ ์ฝœ(System Call), DMA(Direct Memory Access), ์„œ๋กœ ๋‹ค๋ฅธ ์ž…์ถœ๋ ฅ ๋ช…๋ น์–ด, ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋‚ด์šฉ, ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜


๐Ÿ“Œ ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ๊ณผ ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ

์ขŒ์ธก(๋™๊ธฐ์‹ I/O), ์šฐ์ธก(๋น„๋™๊ธฐ์‹ I/O)

๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ (synchronous I/O)

I/O ์š”์ฒญ ํ›„ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์— ๋„˜์–ด๊ฐ„๋‹ค.

[๊ตฌํ˜„ ๋ฐฉ๋ฒ• A]
- I/O ์š”์ฒญ์„ ํ›„ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋ฉด, CPU๋ฅผ ๋‚ญ๋น„์‹œํ‚จ๋‹ค.
- ๋งค ์‹œ์  ํ•˜๋‚˜์˜ I/O๋งŒ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.
-> CPU๋ฅผ ๋‚ญ๋น„์‹œํ‚ค๋Š” ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

[๊ตฌํ˜„ ๋ฐฉ๋ฒ• B]
- I/O ์š”์ฒญ ํ›„ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์˜ CPU๋ฅผ ๋บ๋Š”๋‹ค.
- I/O ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค„์— ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์ค„ ์„ธ์šด๋‹ค.
- ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ CPU๋ฅผ ์ค€๋‹ค.
-> ๋ณดํ†ต ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ์€ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• B

๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ (asynchronous I/O)

I/O๊ฐ€ ์‹œ์ž‘๋œ ํ›„ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , CPU ์ œ์–ด๊ถŒ์„ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์— ์ฆ‰์‹œ ๋„˜๊ธด๋‹ค.

[์งˆ๋ฌธ] I/O์˜ ์™„๋ฃŒ๋Š” ์–ด๋–ป๊ฒŒ ์•Œ๋ฆฌ๋Š”๊ฐ€?
๋™๊ธฐ์‹, ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ ๋ชจ๋‘ ์ธํ„ฐ๋ŸฝํŠธ๋กœ I/O์˜ ์™„๋ฃŒ๋ฅผ ์•Œ๋ฆฐ๋‹ค.


๐Ÿ“Œ DMA(Direct Memory Access)

1. ๋น ๋ฅธ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€๊นŒ์šด ์†๋„๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
(์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋นˆ๋ฒˆํžˆ ๊ฑธ๋ฉด CPU๊ฐ€ ๋งŽ์€ ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘๊ฐ„์— DMA Controller๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜์—ฌ ์นดํ”ผํ•œ๋‹ค)

2. CPU์˜ ์ค‘์žฌ ์—†์ด device controller๊ฐ€ device์˜ buffer storage์˜ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ์— block ๋‹จ์œ„๋กœ ์ง์ ‘ ์ „์†กํ•œ๋‹ค.

3. ๋ฐ”์ดํŠธ ๋‹จ์œ„๊ฐ€ ์•„๋‹ˆ๋ผ block ๋‹จ์œ„๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

DMA๋Š” 1๋ฐ”์ดํŠธ๊ฐ€ ๋“ค์–ด์™”๋‹ค๊ณ  CPU์— ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ฑฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค.
๋ฒ„ํผ์— ์Œ“์ธ ๋ฐ์ดํ„ฐ๋ฅผ DMA๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์นดํ”ผ๋ฅผ ํ•˜๊ณ , ๋ฒ„ํผ์— ํŠน์ • ํฌ๊ธฐ(block ๋‹จ์œ„)๋งŒํผ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.


๐Ÿ“Œ ์„œ๋กœ ๋‹ค๋ฅธ ์ž…์ถœ๋ ฅ ๋ช…๋ น์–ด

I/O๋Š” ์ผ๋ฐ˜์ ์ธ I/O ๋ฐฉ์‹๊ณผ Memory Mapped I/O ๋ฐฉ์‹์ด ์žˆ๋‹ค.

์ขŒ์ธก(์ผ๋ฐ˜์ ์ธ I/O), ์šฐ์ธก(Memory Mapped I/O)

์ผ๋ฐ˜์ ์ธ I/O

๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผํ•˜๋Š” ์ธ์ŠคํŠธ๋Ÿญ์…˜๊ณผ I/O์žฅ์น˜๋ฅผ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š” ์ธ์ŠคํŠธ๋Ÿญ์…˜(special instruction)์ด ๋”ฐ๋กœ ์žˆ๋‹ค.

Memory Mapped I/O

I/O ์žฅ์น˜๋„ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ์—ฐ์žฅ ์ฃผ์†Œ๋ฅผ ๋ถ™์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด 100๋ฒˆ์ง€์— ์ ‘๊ทผํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•œ๋‹ค๋ฉด, 1000๋ฒˆ์ง€์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์ธ์ŠคํŠธ๋Ÿญ์…˜์€ ์‚ฌ์‹ค์€ I/O๋ฅผ ํ•˜๋Š” ์ธ์ŠคํŠธ๋Ÿญ์…˜์„ ๋œปํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“Œ ์ €์žฅ์žฅ์น˜ ๊ณ„์ธต ๊ตฌ์กฐ

์œ„๋กœ ๊ฐˆ์ˆ˜๋ก ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ, ๋‹จ์œ„ ๊ณต๊ฐ„๋‹น ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ๊ณ  ์šฉ๋Ÿ‰์ด ์ ๋‹ค.
์•„๋ž˜๋กœ ๊ฐˆ์ˆ˜๋ก ๊ฐ€๊ฒฉ์€ ์‹ธ๊ณ  ์šฉ๋Ÿ‰์ด ๋งŽ์ง€๋งŒ, ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค.

ํœ˜๋ฐœ์„ฑ ๋น„ํœ˜๋ฐœ์„ฑ? (Volatility)

ํœ˜๋ฐœ์„ฑ ๋งค์ฒด๋Š” ์ „์›์ด ๋‚˜๊ฐ€๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค.
๋น„ํœ˜๋ฐœ์„ฑ ๋งค์ฒด๋Š” ์ „์›์ด ๋‚˜๊ฐ€๋„ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค.

Primary, Secondary storage?

CPU๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋งค์ฒด์ด์–ด์•ผ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

[Primary]
CPU์—์„œ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์ฒด๋ฅผ ๋งํ•œ๋‹ค. Executable(์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค)ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.
์ฆ‰, ์œ„ ๊ทธ๋ฃน(์ดˆ๋ก)์€ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ CPU ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด๊ฒƒ์„ Primary๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

[Secondary]
CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š” ๋งค์ฒด๋ฅผ ๋งํ•œ๋‹ค.
ํ•˜๋“œ๋””์Šคํฌ์˜ ๋‹จ์œ„๋Š” ์„นํ„ฐ ๋‹จ์œ„๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด CPU๊ฐ€ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋ฉฐ ์ด๊ฒƒ์„ Secondary๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์ด์œ ?

CPU์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์†๋„ ์ฐจ์ด๋ฅผ ์™„์ถฉํ•˜๊ธฐ ์œ„ํ•ด ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‘”๋‹ค.
์šฉ๋Ÿ‰์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๊ฑธ ๋‹ด์•„ ๋‘˜ ์ˆ˜๋Š” ์—†๋‹ค. (๊ธฐ์กด์— ์žˆ๋˜๊ฑธ ์—†์• ์•ผ ํ•˜๋Š”๋ฐ ์ด๋Š” ๋‚˜์ค‘์— ์ด์•ผ๊ธฐํ•˜๋„๋ก ํ•œ๋‹ค)
์บ์‹ฑ์€ ์žฌ์‚ฌ์šฉ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ์ฆ‰, ๋‘ ๋ฒˆ์งธ ์š”์ฒญ๋ถ€ํ„ฐ ์ด๋ฏธ ์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.


๐Ÿ“Œ ํ”„๋กœ๊ทธ๋žจ์€ ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋˜๋Š”๊ฐ€?

ํ”„๋กœ๊ทธ๋žจ์€ File System์— ์‹คํ–‰ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์‹คํ–‰์‹œํ‚ค๊ฒŒ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋œ๋‹ค.
์ •ํ™•ํžˆ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ”๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•œ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋ฅผ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory) ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์นœ๋‹ค๊ณ  ํ•œ๋‹ค.
์ด๋•Œ ๋…์ž์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ํ˜•์„ฑ๋˜๋Š”๋ฐ code, data, stack ์˜์—ญ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

[code] CPU์—์„œ ์‹คํ–‰ํ•  ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ €์žฅ
[data] ๋ณ€์ˆ˜๋ฅผ ์ €์žฅ
[stack] ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ฆฌํ„ดํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์Œ“์•˜๋‹ค๊ฐ€ ๊บผ๋ƒ„

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

Virtual Memory?

์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ซ“์•„ ๋ฒ„๋ฆฌ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ Disk์— ๋‚ด๋ ค๋†“๊ฒŒ ๋œ๋‹ค. (์ด๋Ÿฌํ•œ ์šฉ๋„์˜ ๊ณต๊ฐ„์„ Swap area๋ผ๊ณ  ํ•œ๋‹ค)
์ฆ‰, ์ฃผ์†Œ ๊ณต๊ฐ„์„ ์ชผ๊ฐœ์„œ ์–ด๋–ค ๋ถ€๋ถ„์€ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๊ณ , ์–ด๋–ค ๋ถ€๋ถ„์€ Swap area์— ์žˆ๊ฒŒ ๋œ๋‹ค.
์ด๋Ÿฐ ๊ธฐ๋ฒ•์„ Virtual Memory๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•˜์ง€๋งŒ, ์‚ฌ์‹ค ๊ฐ ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ๋…์ž์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์„ Virtual Memory๋ผ๊ณ  ํ•œ๋‹ค.

[Disk ํ™œ์šฉ]
Disk์˜ Swap area๋Š” ๋ฉ”๋ชจ๋ฆฌ ์—ฐ์žฅ ๊ณต๊ฐ„(ํœ˜๋ฐœ์„ฑ)์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , File System์€ ๋น„ํœ˜๋ฐœ์„ฑ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ 1000๋ฒˆ์ง€์ธ๋ฐ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” 3000๋ฒˆ์ง€๋กœ ์˜ฌ๋ผ๊ฐ€๋˜์ง€ ์ฆ‰, ๋‹ค๋ฅธ ๋ฒˆ์ง€๋กœ ์ €์žฅ๋  ์ˆ˜ ์žˆ๋‹ค.
์ด๋ฅผ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ณ„์ธต์—์„œ ํ•œ๋‹ค. (Address translation, ๋ณ€ํ™˜ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ž์„ธํ•œ ๋ถ€๋ถ„์€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ถ€๋ถ„์—์„œ ๋‹ค๋ฃฐ ์˜ˆ์ •)


๐Ÿ“Œ ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋‚ด์šฉ

code

  • ์šด์˜์ฒด์ œ๋Š” ์‹œ์Šคํ…œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š”๋ฐ ์ด๋•Œ ๊ด€๋ จ๋œ ์ฝ”๋“œ๊ฐ€ ํ•ด๋‹น ์˜์—ญ์— ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ๋ฆฌํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค.
  • ์ธํ„ฐ๋ŸฝํŠธ๋งˆ๋‹ค ๋ฌด์Šจ ์ผ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€ ํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

data

์šด์˜์ฒด์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค.

[PCB(Process Control Block)]
- ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
- ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์กด์žฌ

stack

  • ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๋ฆฌํ„ดํ•  ๋•Œ stack ์˜์—ญ์„ ์ด์šฉํ•œ๋‹ค.
  • ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ปค๋„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ์ค‘์ธ๊ฐ€์— ๋”ฐ๋ผ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ์ปค๋„ ์Šคํƒ์„ ๋ณ„๋„๋กœ ๊ฐ€์ง„๋‹ค.

๐Ÿ“Œ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜

์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์˜ํ•œ ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜

  • ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์˜ํ•˜์ง€ ์•Š๊ณ , ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•œ ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.
  • ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

์ปค๋„ ํ•จ์ˆ˜

  • ์šด์˜์ฒด์ œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ•จ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค.
  • ์ปค๋„ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ = ์‹œ์Šคํ…œ ์ฝœ
    (์ฃผ์†Œ ์ ํ”„๋ฅผ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋ŸฝํŠธ ๋ผ์ธ์„ ์„ธํŒ…ํ•ด์„œ CPU ์ œ์–ด๊ถŒ์„ ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค)

๐Ÿ“Œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰


 

๋ฐ˜ํšจ๊ฒฝ [์šด์˜์ฒด์ œ] 4. System Structure & Program Execution 2

์„ค๋ช…์ด ์—†์Šต๋‹ˆ๋‹ค.

core.ewha.ac.kr

 

์šด์˜์ฒด์ œ

์šด์˜์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ„์— ์„ค์น˜๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต์œผ๋กœ์„œ ๋ชจ๋“  ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์ด๋‹ค. ๋ณธ ๊ฐ•์ขŒ์—์„œ๋Š” ์ด์™€ ๊ฐ™์€ ์šด์˜์ฒด์ œ์˜ ๊ฐœ๋…๊ณผ ์—ญํ• , ์šด์˜์ฒด์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ

www.kocw.net

 

'OS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๐Ÿ’ป KOCW-OS-4: Process  (0) 2020.10.26
๐Ÿ’ป KOCW-OS-3: System Structure & Program Execution 2  (0) 2020.10.05
๐Ÿ’ป KOCW-OS-2: System Structure & Program Execution 1  (0) 2020.10.04
๐Ÿ’ป KOCW-OS-1: Introduction to Operating Systems  (0) 2020.10.03