ํฌ์ŠคํŠธ

OS์˜ ์—ญํ• 

OS์˜ ์—ญํ• 

๐Ÿ”– ์šด์˜์ฒด์ œ์˜ ์—ญํ• 


1. ์ž์› ๊ด€๋ฆฌ

์‚ฌ์šฉ์ž๋Š” ์ปดํ“จํ„ฐ์˜ ๋‹ค์–‘ํ•œ ์ž์›(ํ‚ค๋ณด๋“œ,์‚ฌ์šด๋“œ์นด๋“œ ๋“ฑ)์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ

์ž์›์„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋‚˜๋ˆ„์–ด ์ฃผ์–ด ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ• ํ•˜๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.


2. ์ž์› ๋ณดํ˜ธ

์‚ฌ์šฉ์ž ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ œ3์˜ ์‚ฌ๋žŒ์˜ ์ ‘๊ทผ์„ ๋ง‰๋Š”๋‹ค.


3. ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต

์šด์˜์ฒด์ œ๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์„ค์น˜๋˜๊ฒŒ ํ•จ์œผ๋กœ์จ ํ•˜๋“œ์›จ์–ด์˜

์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.


4. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต

์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์›ํ•˜๊ธฐ ์œˆํ•œ ๊ฒƒ.


๐Ÿ”– ์šด์˜์ฒด์ œ์˜ ๋ชฉํ‘œ


1. ํšจ์œจ์„ฑ (์ž์› ๊ด€๋ฆฌ)

โ–ช ์šด์˜์ฒด์ œ์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”

โ–ช ์ฝ”๋“œ ์ตœ์ ํ™”


๊ฐ™์€ ์ž์›์„ ๊ด€๋ฆฌํ•˜๋”๋ผ๋„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผํ•œ๋‹ค.

์ฆ‰, ๊ฐ™์€ ์ž์›์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋งŽ์€ ์ž‘์—…๋Ÿ‰์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜,

๊ฐ™์€ ์ž‘์—…๋Ÿ‰์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋ณด๋‹ค ์ ์€ ์ž์›์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


2. ์•ˆ์ •์„ฑ (์ž์› ๋ณดํ˜ธ)

์‚ฌ์šฉ์ž์™€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ „ ๋ฌธ์ œ์™€ ํ•˜๋“œ์›จ์–ด์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.


3. ํ™•์žฅ์„ฑ (ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต)

ํ•˜๋“œ์›จ์–ด์˜ ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ๊ฝ‚์œผ๋ฉด ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” flug & play ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.


4. ํŽธ๋ฆฌ์„ฑ (์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค)

โ–ช GUI


๐Ÿ”– ์šด์˜์ฒด์ œ์˜ ๊ตฌ๋ถ„


1. ๋™์‹œ ์‚ฌ์šฉ์ž ์ˆ˜

โ–ช Single user system

โ–ช Multi user system


2. ๋™์‹œ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค ์ˆ˜

โ–ช Single - tasking system

โ–ช Multi - tasking system


3. ์ž‘์—… ์ˆ˜ํ–‰ ๋ฐฉ์‹

โ–ช ์ˆœ์ฐจ ์ฒ˜๋ฆฌ (No OS)

โ–ช Batch processing system

โ–ช Time - sharing system

โ–ช Distributed processing system

โ–ช Real-time system


๐Ÿ”– ์ž‘์—… ์ˆ˜ํ–‰ ๋ฐฉ์‹


1. Batch processing system (์ผ๊ด„ ์ž‘์—… ์‹œ์Šคํ…œ)

โ–ท ํŠน์ง•

โ–ช 1950s ~ 1960s

โ–ช ๋ชจ๋“  ์‹œ์Šคํ…œ์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌ ๋ฐ ์šด์˜

โ–ช ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ ์ž‘์—…์„ ์ผ์ • ์‹œ๊ฐ„ ๋ชจ์•„ ๋‘์—ˆ๋‹ค๊ฐ€ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌ

โ–ช ์‹œ์Šคํ…œ ์ง€ํ–ฅ์  (System oriented)


โ–ท ์žฅ์ 

โ–ช ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ ์ž์›๊ณต์œ 

โ–ช ์ฒ˜๋ฆฌ ํšจ์œจ(throughput) ์ฆ๊ฐ€


โ–ท ๋‹จ์ 

โ–ช ์ƒ์‚ฐ์„ฑ ์ €ํ•˜

โ–ช ๊ธด ์‘๋‹ต ์‹œ๊ฐ„


2. Time - sharing system (๋Œ€ํ™”ํ˜• ์‹œ์Šคํ…œ)

๋Œ€ํ™”ํ˜• ์‹œ์Šคํ…œ์ด๋ž€ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์–ด๋–ค ๋ฐ˜์‘์ด ์žˆ๋Š” ์‹œ์Šคํ…œ.

๋‹จ๋ง๊ธฐ๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค.


โ–ท ํŠน์ง•

โ–ช 1960s ~ 1970s

โ–ช ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์กฐ๊ธˆ์”ฉ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ž‘์—…์ด ๋™์‹œ์— ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•œ๋‹ค.

โ–ช multi-tasking system / multi-user system

โ–ช ์‹œ๊ฐ„์„ ์ชผ๊ฐ ๋‹ค.(=time slice, =time quantum)

โ–ช ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์›์„ ๋™์‹œ์— ์‚ฌ์šฉ

โ–ช OS๊ฐ€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

โ–ช ์‚ฌ์šฉ์ž ์ง€ํ–ฅ์  (User-oriented)


โ–ท ์žฅ์ 

โ–ช ์‘๋‹ต์‹œ๊ฐ„ ๋‹จ์ถ• (์•ฝ 5์ดˆ)

โ–ช ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ โ†’ ํ”„๋กœ์„ธ์„œ ์œ ํœด ์‹œ๊ฐ„ ๊ฐ์†Œ


โ–ท ๋‹จ์ 

โ–ช ํ†ต์‹  ๋น„์šฉ ์ฆ๊ฐ€

โ–ช ๋ณด์•ˆ๋ฌธ์ œ ๋ฐœ์ƒ

โ–ช ๊ฐœ์ธ ์‚ฌ์šฉ์ž ์ฒด๊ฐ ์†๋„ ์ €ํ•˜.


3. Personal Computing (๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ)

โ–ท ํŠน์ง•

โ–ช ๊ฐœ์ธ์ด ์‹œ์Šคํ…œ ์ „์ฒด ๋…์ 

โ–ช CPU ํ™œ์šฉ๋ฅ ์ด ๊ณ ๋ ค์˜ ๋Œ€์ƒ์ด ์•„๋‹˜

โ–ช OS๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋‹จ์ˆœํ•จ โ†’ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์ง€์›๊ธฐ๋Šฅ ์ง€์› , ํŽธ๋ฆฌ์„ฑ ์ฆ๊ฐ€


โ–ท ์žฅ์ 

โ–ช ๋น ๋ฅธ ์‘๋‹ต์‹œ๊ฐ„


โ–ท ๋‹จ์ 

โ–ช ์„ฑ๋Šฅ์ด ๋‚ฎ์Œ


4. Parallel Processing System (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ)

โ–ท ํŠน์ง•

โ–ช ๋‹จ์ผ ์‹œ์Šคํ…œ ๋‚ด์—์„œ ๋‘˜ ์ด์ƒ์˜ processor ์‚ฌ์šฉ โ†’ ๋™์‹œ์— ๋‘˜ ์ด์ƒ์˜ processor ์ง€์›

โ–ช Tightly coupled system โ†’ CPU๋Š” ์—ฌ๋Ÿฌ๊ฐœ์ง€๋งŒ, ๊ธฐํƒ€์ž์›(๊ธฐ์–ต์žฅ์น˜, ์ฃผ๋ณ€์žฅ์น˜)๋“ค์„ ๊ณต์œ 

โ–ช ์„ฑ๋Šฅํ–ฅ์ƒ

โ–ช ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ โ†’ ํ•˜๋‚˜๊ฐ€ ๊ณ ์žฅ๋‚˜๋”๋ผ๋„ ์ •์ƒ ๋™์ž‘๊ฐ€๋Šฅ


5. Distributed processing system (๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ)

๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด๋ž€ ์ปดํ“จํ„ฐ์•ˆ์— CPU๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋„ฃ์œผ๋ ค๋ฉด ํฌ๊ธฐ, ๋น„์šฉ ๋“ฑ ์ œ์•ฝ์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—

๋„คํŠธ์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ Loosely coupled system ์ด๋‹ค.


โ–ท ํŠน์ง•

โ–ช ๋ฌผ๋ฆฌ์ ์ธ ๋ถ„์‚ฐ, ํ†ต์‹ ๋ง ์ด์šฉํ•œ ์ƒํ˜ธ ์—ฐ๊ฒฐ

โ–ช ๊ฐ๊ฐ ์šด์˜์ฒด์ œ ํƒ‘์žฌํ•œ ๋‹ค์ˆ˜์˜ ๋ฒ”์šฉ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์„ฑ โ‡พ ๊ฐ๊ฐ์˜ ์ปดํ“จํ„ฐ๋ฅผ node๋ผ๊ณ  ๋ถ€๋ฆ„

โ–ช ์‚ฌ์šฉ์ž๋Š” โ€œ๋ถ„์‚ฐ์šด์˜์ฒด์ œโ€๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ž์›์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

โ–ช ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋“ค๊ฐ„์˜ ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณต๋™์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

โ–ช Cluster system(super computer), client-server, P2P ๋“ฑ


โ–ท ์žฅ์ 

โ–ช ์ž์› ๊ณต์œ ๋ฅผ ํ†ตํ•œ ๋†’์€ ์„ฑ๋Šฅ

โ–ช ๊ณ ์‹ ๋ขฐ์„ฑ, ๋†’์€ ํ™•์žฅ์„ฑ

โ–ช ์€ํ์„ฑ(transparency)


โ–ท ๋‹จ์ 

โ–ช ๊ตฌ์ถ• ๋ฐ ๊ด€๋ฆฌ ์–ด๋ ค์›€


6. Real-time system (์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ)

์ž‘์—… ์ฒ˜๋ฆฌ์— ์ œํ•œ ์‹œ๊ฐ„(deadline)์„ ๊ฐ–๋Š” ์‹œ์Šคํ…œ


โ–ท ์ข…๋ฅ˜

1. Hard real time task

โ–ช ์‹œ๊ฐ„ ์ œ์•ฝ์„ ์ง€ํ‚ค์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์— ์น˜๋ช…์  ์˜ํ–ฅ(ex. ๋ฐœ์ „์†Œ ์ œ์–ด)

2. Soft real time task

โ–ช ๋™์˜์ƒ ์žฌ์ƒ

3. Non real time task


๐Ÿ”– ์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ



โ–ท ์œ ํ‹ธ๋ฆฌํ‹ฐ

โ€ข ๋น„์ƒ์ฃผ ํ”„๋กœ๊ทธ๋žจ

โ€ข UI๋“ฑ ์„œ๋น„์Šค ํ”„๋กœ๊ทธ๋žจ


โ–ท Operating System

โ€ข ๋นจ๊ฐ„ ๋ฐ•์Šค ์นœ ๋ถ€๋ถ„

โ€ข System Call + Kernel


โ–ท System Call Interface

โ€ข ์šด์˜์ฒด์ œ(system)์—๊ฒŒ ์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•˜๋Š”(call) ๊ฒƒ

โ€ข ์ปค๋„์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค ์ค‘์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋ชจ์•„๋‘” ๊ฒƒ.

โ€ข ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ง์ ‘ ํ•˜๋“œ์›จ์–ด ์ž์›์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์•„์ค€๋‹ค.

โ€ข ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ปค๋„์— ์š”์ฒญํ•˜๋Š” ํ†ต๋กœ




โ–ท Kernel

โ€ข OS์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„ โ†’ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์ฃผ

โ€ข ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

โ€ข ๊ฐ€์žฅ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋‹ด๋‹นํ•œ๋‹ค.(์‹œ์Šคํ…œ ๊ด€๋ฆฌ ๋“ฑ๋“ฑ)

โ€ข ๋™์˜์–ด : ํ•ต, ๊ด€๋ฆฌ์ž ํ”„๋กœ๊ทธ๋žจ, ์ƒ์ฃผ ํ”„๋กœ๊ทธ๋žจ, ์ œ์–ด ํ”„๋กœ๊ทธ๋žจ


๋‹จ์ผ ๊ตฌ์กฐ

โ€ข ์žฅ์  : ์ปค๋„ ๋‚ด ๋ชจ๋“ˆ๊ฐ„ ์ง์ ‘ ํ†ต์‹ 

โ€ข ๋‹จ์  : ์ปค๋„์˜ ๊ฑฐ๋Œ€ํ™”


๊ณ„์ธต ๊ตฌ์กฐ

โ€ข ์žฅ์  : ๋ชจ๋“ˆํ™”, ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์˜ ๋‹จ์ˆœํ™”

โ€ข ๋‹จ์  : ๋‹จ์ผ๊ตฌ์กฐ ๋Œ€๋น„ ์„ฑ๋Šฅ ์ €ํ•˜


๋งˆ์ดํฌ๋กœ์ปค๋„ ๊ตฌ์กฐ


โ€ข ์ปค๋„์˜ ํฌ๊ธฐ ์ตœ์†Œํ™”

โ€ข ํ•„์ˆ˜ ๊ธฐ๋Šฅ๋งŒ ํฌํ•จ

โ€ข ๊ธฐํƒ€ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ์˜์—ญ์—์„œ ์ˆ˜ํ–‰


๐Ÿ“šReferences


โ–ช ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ, ์กฐ์„ฑํ˜ธ ์ €

โ–ช ์šด์˜์ฒด์ œ ๊ฐ•์˜

โ–ช ์šด์˜์ฒด์ œ ๊ฐ•์˜

โ–ช ์šด์˜์ฒด์ œ ๊ฐ•์˜

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.