Odds and Ends

์šด์˜์ฒด์ œ ๊ต์•ˆ : Chap03 ์šด์˜์ฒด์ œ ๊ตฌ์กฐ ๋ณธ๋ฌธ

์šด์˜์ฒด์ œ

์šด์˜์ฒด์ œ ๊ต์•ˆ : Chap03 ์šด์˜์ฒด์ œ ๊ตฌ์กฐ

Squidward 2022. 10. 18. 23:11

๐Ÿ“Œ ์‹œ์Šคํ…œ ์ปดํฌ๋„ŒํŠธ / ์šด์˜์ฒด์ œ ๊ตฌ์กฐ

(*์ปดํฌ๋„ŒํŠธ:ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์žˆ์–ด ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฐ๊ฐ์˜ ๋…๋ฆฝ๋œ ๋ชจ๋“ˆ)

์˜ค๋ฅธ์ชฝ - ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋Œ๋ ค๋‘ 

์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ

: ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ํŒŒ์ผ ๊ด€๋ฆฌ, I/O ์‹œ์Šคํ…œ ๊ด€๋ฆฌ, ์„ธ์ปจ๋“œ ์ €์žฅ์†Œ ๊ด€๋ฆฌ, ๋„คํŠธ์›Œํ‚น, ํ”„๋กœํ…์…˜ ์‹œ์Šคํ…œ

 

: ๊ฐ€์žฅ ์œ„์— Command Interpreter System์ด ์กด์žฌ

: ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ๋ชจ์Šต, ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ๋ฅผ ๋ณผ ๋•Œ ๋Š๋ผ๋Š” ๊ฒƒ๋“ค์ด ๋Œ€๋ถ€๋ถ„ Command Interpreter System

   > ์œˆ๋„์šฐ ์ฐฝ, ์•„์ด์ฝ˜๋“ค, ์‹œ๊ณ„ ๋“ฑ ๋ชจ๋‘ Command Interpreter System๋กœ ์‹คํ–‰

 

* ๋งฅ OS, Window ๋‹ค๋ฅด๊ฒŒ ์ƒ๊น€ > ์ด ์ฐจ์ด๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” Command Interpreter System์˜ ์ฐจ์ด

 

 

๐Ÿ“Œ  ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ

*ํ”„๋กœ์„ธ์Šค: ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ํƒ‘์žฌ๋˜์–ด ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ

*ํ”„๋กœ๊ทธ๋žจ: ํ•˜๋“œ ๋””์Šคํฌ์— ๊ธฐ๋ก๋œ ๊ฒƒ. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋ฐ›๋Š” ๊ฒƒ๋„ ํ”„๋กœ๊ทธ๋žจ > ํ”„๋กœ์„ธ์Šค ์•„๋‹˜!

 

๐Ÿ’ก ์šด์˜์ฒด์ œ ์ฑ…์ž„

1) OS๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑ/์‚ญ์ œ ๊ฐ€๋Šฅํ•˜๋‹ค.

2) OS๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จ/์žฌ๊ฐœ ๊ฐ€๋Šฅํ•˜๋‹ค. (ex. ์ž…์ถœ๋ ฅ์„ ์œ„ํ•ด ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํ™ฉ์— ์ค‘๋‹จ, ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ๋‹ค์‹œ ์žฌ๊ฐœ)

3) OS๋Š” ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ๋™๊ธฐํ™”(๋™์‹œ ์ž‘๋™) & ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

 

๐Ÿ“Œ  ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

- ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ์ €์žฅ ๊ณต๊ฐ„, ๊ฐ๊ฐ ์ €์žฅ๊ณต๊ฐ„์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„๋‹ค.

- ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ๋Š” D RAM์„ ์‚ฌ์šฉํ•œ๋‹ค. D RAM์€ ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค. (์šฉ๋Ÿ‰์ด ํฌ๊ณ  ๊ฐ€๊ฒฉ์ด ์‹ธ์„œ ์ด์šฉ๋œ๋‹ค.)

  * ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ๋ž€? ์ „์›์„ ๊ณ„์† ๊ณต๊ธ‰ํ•ด์ค˜์•ผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ, ์ „์› ๋„๋ฉด ์‚ฌ๋ผ์ง

 

๐Ÿ’ก ์šด์˜์ฒด์ œ ์ฑ…์ž„

1) OS๋Š” ๊ฐ๊ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋ˆ„๊ตฌ์—๊ฒŒ(์–ด๋–ค ํ”„๋กœ์„ธ์Šค์—๊ฒŒ) ์‚ฌ์šฉ๋˜์—ˆ๋Š” ์ง€ ๊ธฐ๋ก(ํŠธ๋ž˜ํ‚น)ํ•ด์•ผํ•œ๋‹ค.

2) OS๋Š” ํ”„๋กœ์„ธ์„œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์žˆ์–ด์„œ ์„œ๋กœ ์‹คํ–‰๋˜๊ธฐ๋ฅผ ์›ํ•  ๋•Œ, ์–ด๋–ค ๊ฒƒ์„ ๋จผ์ € ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฎ๊ธธ์ง€ ์ •ํ•œ๋‹ค.

3) OS๋Š” ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ํ”„๋ฆฌ๋ก ๋ฉ”๋ชจ๋ฆฌ๋„ ๋‹ด๋‹นํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญ ์‹œ ๋‚จ์•„์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ค‘ ํ• ๋‹นํ•ด์•ผํ•˜๋Š”๋ฐ ์—†์œผ๋ฉด ํ”„๋ฆฌ๋ก์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ’€์–ด ๋‹ค๋ฅธ ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•œ๋‹ค.

 

๐Ÿ“Œ  ํŒŒ์ผ ๊ด€๋ฆฌ

- ํŒŒ์ผ์€ ๋ฐ”์ดํŠธ์˜ ์‹œํ€€์Šค์ž…๋‹ˆ๋‹ค. 

- ์ผ๋ฐ˜์ ์œผ๋กœ ํŒŒ์ผ์€ ํ”„๋กœ๊ทธ๋žจ(์†Œ์Šค ๋ฐ ๊ฐ์ฒด ํ˜•์‹ ๋ชจ๋‘)๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

- ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋‚˜ ํŒŒ์ผ ์ฒ˜๋ฆฌ ์ชฝ์—์„œ ํŒŒ์ผ์„ ๋ ˆ์ฝ”๋“œ์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ณด๊ธฐ๋„ ํ•˜๋Š”๋ฐ, ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ํŒŒ์ผ์„ ์‹œํ€€์Šค ์˜ค๋ธŒ ์•„์ดํ…œ์œผ๋กœ ๋ณธ๋‹ค.

- ์‹œํ€€์Šค๋Š” ์ˆœ์„œ์™€ ์ „์ฒด ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค. 

 

๐Ÿ’ก ์šด์˜์ฒด์ œ ์ฑ…์ž„

- OS๋Š” ํŒŒ์ผ ์ƒ์„ฑ/์‚ญ์ œ ๊ฐ€๋Šฅ

- OS๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ/์‚ญ์ œ ๊ฐ€๋Šฅ

- ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์กฐ์ž‘์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์š”์†Œ ์ง€์›

- ์„ธ์ปจ๋“œ ์ €์žฅ์†Œ์— ํŒŒ์ผ ๋งคํ•‘

- ํ•˜๋“œ ๋””์Šคํฌ(๋น„ํœ˜๋ฐœ์„ฑ)์— ํŒŒ์ผ ๋ฐฑ์—…

 

๐Ÿ“Œ  I/O ์‹œ์Šคํ…œ ๊ด€๋ฆฌ

๐Ÿ’ก I/O ์‹œ์Šคํ…œ์€ ๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ๋จ

- Buffer-cashing system
- General device-driver interface
- Drivers for specific hardware devices

 

๐Ÿ“Œ  Secondary Storage(๋ณด์กฐ ์ €์žฅ์žฅ์น˜) ๊ด€๋ฆฌ

- ์ฃผ ๋ฉ”๋ชจ๋ฆฌ(๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€)๋Š” ํœ˜๋ฐœ์„ฑ์ด ๋†’๊ณ , ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๊ตฌ์ ์œผ๋กœ ์ˆ˜์šฉํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ์ž‘๋‹ค.

>> ๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ์š”์ฆ˜ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•ด ๋””์Šคํฌ๋ฅผ ์ฃผ์š” ์ €์žฅ ๋งค์ฒด๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐Ÿ’ก ์šด์˜์ฒด์ œ ์ฑ…์ž„

- ์—ฌ์œ  ๊ณต๊ฐ„ ๊ด€๋ฆฌ

- ์ €์žฅ์†Œ ํ• ๋‹น

- ๋””์Šคํฌ ์Šค์ผ€์ค„๋ง

 

๐Ÿ“Œ  ๋„คํŠธ์›Œํ‚น

- TCP/IP ํ”„๋กœํ† ์ฝœ ์Šคํƒ

- ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๋น„

 

๐Ÿ“Œ  Protection ์‹œ์Šคํ…œ

: Protection์€ ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ์„ธ์Šค, ๋˜๋Š” ์‚ฌ์šฉ์ž ๋ฆฌ์†Œ์Šค ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.

 

๐Ÿ’ก ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์กฐ๊ฑด

- ํ—ˆ๊ฐ€๋œ ์‚ฌ์šฉ / ํ—ˆ๊ฐ€๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅํ•ด์•ผํ•จ

- ์ ์šฉํ•  ์ปจํŠธ๋กค์„ ์ง€์ • > ?

- ์ง‘ํ–‰์ˆ˜๋‹จ ์ œ๊ณต

 

๐Ÿ“Œ Command Interpreter System

: ์‚ฌ์šฉ์ž๋กœ ๋ถ€ํ„ฐ ๋ช…๋ น๋ฌธ์„ ๊ฐ€์ ธ์˜ค๊ณ  ์‹คํ–‰ํ•˜๋Š” ์—ญํ• 

 

๐Ÿ’ก  ๋Œ€๋ถ€๋ถ„์˜ ๋ช…๋ น์€ ์•„๋ž˜๋ฅผ ๋‹ค๋ฃจ๋Š” ์ œ์–ด๋ฌธ์„ ํ†ตํ•ด ์šด์˜์ฒด์ œ์— ์ œ๊ณต๋œ๋‹ค.

- ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ

- I/O ์ฒ˜๋ฆฌ

- second storage ๊ด€๋ฆฌ

- ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

- ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค

- protection

- ๋„คํŠธ์›Œํ‚น

 

๐Ÿ’ก  ํ”„๋กœ๊ทธ๋žจ์€ ๋ช…๋ น๋ฌธ์„ ์ฝ๊ณ  ํ•ด์„ํ•˜๋Š” ์•„๋ž˜๊ฐ™์€ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ํ˜ธ์ถœํ•จ

> command line Interpreter

> shell (in UNIX)

 

๐Ÿ“Œ OS Services

- Program ์‹คํ–‰ : ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰

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

- ํŒŒ์ผ ์‹œ์Šคํ…œ ์กฐ์ž‘ : ํŒŒ์ผ ์ฝ๊ธฐ, ์“ฐ๊ธฐ, ์ƒ์„ฑ, ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ ์ œ๊ณต

- Communications

: ๋„คํŠธ์›Œํฌ์— ์˜ํ•ด ์—ฐ๊ฒฐ๋œ ๋™์ผํ•œ ์ปดํ“จํ„ฐ or ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ์ •๋ณด ๊ตํ™˜. ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ or ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์„ ํ†ตํ•ด ๊ตฌํ˜„๋จ

- ์—๋Ÿฌ ๊ฐ์ง€: CPU/๋ฉ”๋ชจ๋ฆฌ ํ•˜๋“œ์›จ์–ด/์ž…์ถœ๋ ฅ/์œ ์ € ํ”„๋กœ๊ทธ๋žจ ์˜ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ ์ •์ƒ์ ์ธ ์ปดํ“จํŒ… ๋ณด์žฅ

- ์ถ”๊ฐ€ ๊ธฐ๋Šฅ : ๋ฆฌ์†Œ์Šค ํ• ๋‹น, Accounting, Protection

 

๐Ÿ“Œ System calls : ์šด์˜์ฒด์ œ๊ฐ€ ์ง€์›ํ•˜๋Š” ํ•จ์ˆ˜

: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์šด์˜์ฒด์ œ ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ = system call ( ์šด์˜์ฒด์ œ๊ฐ€ ์™ธ๋ถ€์— ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐ)

- ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ๋ช…๋ น์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

- ์ผ๋ถ€ ์–ธ์–ด์—์„œ๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ง์ ‘ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ (ex. C, C++)

 

๐Ÿ’ก ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์„ธ๊ฐ€์ง€ ๋ฐฉ๋ฒ•

- ๋ ˆ์ง€์Šคํ„ฐ์— ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ

- ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•˜๋ฉด, ํ…Œ์ด๋ธ” ์ฃผ์†Œ๊ฐ€ ๋ ˆ์ง€์Šคํ„ฐ์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋จ (p.77 ๊ทธ๋ฆผ 3-1 ์ฐธ์กฐ)

- ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์Šคํƒ์— ํ‘ธ์‹œ(์ €์žฅ)ํ•˜๊ณ  ์šด์˜์ฒด๋ณ„๋กœ ์Šคํƒ์„ popํ•จ

 

* OS๊ฐ€ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ์ด ๊ธฐ๋Šฅ๋“ค์€ system call๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. (C์–ธ์–ด์˜ ํ‘œ์ค€ ํ•จ์ˆ˜๋“ค์€ ๋Œ€๋ถ€๋ถ„ system call๋กœ ๊ตฌํ˜„๋œ๋‹ค.)

>> ๋”ฐ๋ผ์„œ ์–ด๋–ค ํ”Œ๋žซํผ์—์„œ(์šด์˜์ฒด์ œ๋ณด๋‹ค ์กฐ๊ธˆ ๋†’์€ ๊ฐœ๋…์ด ํ”Œ๋žซํผ, ์šด์˜์ฒด์ œ๋„ ํฌํ•จ) ์–ด๋–ค ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ์‹œ, ํ•ด๋‹น ์ œํ’ˆ์—์„œ ์ง€์›ํ•˜๋Š” system call, ์ฆ‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฌด์—‡์ด ์žˆ๋Š” ์ง€ ๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•ด์•ผํ•œ๋‹ค. 

 

- ์ดˆ๊ธฐ์—๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๊ฐœ๋ฐœํ–ˆ์ง€๋งŒ, ์œ ๋‹‰์Šค, ์œˆ๋„์šฐ๋ถ€ํ„ฐ๋Š” ์šด์˜์ฒด์ œ๋„ ์”จ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ๋˜์–ด system call์ด ํ•„์š”ํ•ด์ง

- c์–ธ์–ด๋กœ ๊ตฌ์„ฑ๋œ Cํ•จ์ˆ˜(=system call)๋Š” ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ์ฐจ์ด๊ฐ€ ์žˆ์Œ

 

๐Ÿ“Œ System calls - 2

๐Ÿ’ก ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ system call์˜ ์ฐจ์ด 2๊ฐ€์ง€ (ex. function vs printf)

 

[๊ฐ„๋‹จ ์š”์•ฝ]

1.์‚ฌ์šฉ์ž ํ•จ์ˆ˜: ์œ ์ €๋ชจ๋“œ, ํŒŒ๋ผ๋ฏธํ„ฐ ๋„˜๊ธฐ๋Š” ๋ฐฉ์‹:์Šคํƒ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ

2.์‹œ์Šคํ…œ ์ฝœ ํ•จ์ˆ˜: ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ, ํŒŒ๋ฆฌ๋ฏธํ„ฐ ๋„˜๊ธฐ๋Š” ๋ฐฉ์‹: ํ•ด๋‹น ์šด์˜์ฒด์ œ๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค.

 

1) ๋ชจ๋“œ

- ์œ ์ €๋ชจ๋“œ(์ผ๋ฐ˜๋ชจ๋“œ)๋กœ ๋™์ž‘ > ์ผ๋ฐ˜ํ•จ์ˆ˜(function) 

- ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋กœ ๋™์ž‘ > ์‹œ์Šคํ…œ ์ฝœ (printf) : ์šด์˜์ฒด์ œ์˜ ์ถœ๋ ฅ์ด ํ˜ธ์ถœ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์ธํ„ฐ๋ŸฝํŠธ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ชจ๋“œ๋กœ ๋ฐ”๋€๋‹ค.

* ๋ชจ๋‹ˆํ„ฐ๋ชจ๋“œ: ํŠน์ˆ˜ํ•œ ๋ชจ๋“œ, ์šด์˜์ฒด์ œ๊ฐ€ ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ๋™์ž‘ํ•˜๋Š” ๋ชจ๋“œ

 

2) ํ˜ธ์ถœ ๋ฐฉ์‹ (ํŒŒ๋ผ๋ฏธํ„ฐ ๋„˜๊ธฐ๋Š” ๋ฐฉ์‹)

- ์‚ฌ์šฉ์ž ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ• ๋•Œ๋Š” ์Šคํƒ์ด๋‚˜ ํฌ์ธํ„ฐ๋ฅผ ์จ์„œ ๋„˜๊น€ (์Šคํƒ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ์ฃผ์†Œ๊ฐ’ ๋ฆฌํ„ด)

- ์‹œ์Šคํ…œ ์ฝœ์ผ๋•Œ๋Š” ์šด์˜์ฒด์ œ๋งˆ๋‹ค ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค. ์˜ˆ์‹œ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํ†ตํ•ด์„œ ๋„˜๊ธฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. (ex. ํŒŒ๋ผ๋ฏธํ„ฐ ์–‘์ด ๋งŽ์„ ๊ฒฝ์šฐ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ฃผ์†Œ๊ฐ’์„ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ํ•ด์„œ ๋„˜๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ ๊ฑธ๋ ค์„œ ์šด์˜์ฒด์ œ์˜ ์‹œ์Šคํ…œ ์ฝœ๋กœ ๋„˜์–ด๊ฐ€๋ฒ„๋ฆฌ๋ฉด ํ˜„์žฌ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‹ค ๋ฐ”๋€Œ์–ด ๋ฒ„๋ฆผ. ํ”„๋กœ์„ธ์Šค 1์˜ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋˜๋ฆฌ๋ผ๋Š” ๋ณด์žฅ์ด ์—†์–ด์„œ. ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ ํฌ์ธํ„ฐ ๊ฐ’์ด ๋ฐ”๋€” ์ˆ˜๋„ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํŠน์ •ํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ง€์ •ํ•ด์„œ ๋„˜๊ฒจ์คŒ.)

 

 

๐Ÿ’ก ์šด์˜์ฒด์ œ๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์‹œ์Šคํ…œ ์ฝœ(printf)์€ ํŠธ๋žฉ์„ ์ด์šฉ

  * ํŠธ๋žฉ - ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฐœ์ƒ์‹œํ‚จ ์ธํ„ฐ๋ŸฝํŠธ 

 

๐Ÿ“Œ System call - 3

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹œ์Šคํ…œ ํ•จ์ˆ˜

- ํŒŒ์ผ๊ด€๋ฆฌ ํ•จ์ˆ˜

- ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ ํ•จ์ˆ˜

- ์ •๋ณด๊ด€๋ฆฌ ํ•จ์ˆ˜

- ์†Œํ†ต๊ด€๋ฆฌ ํ•จ์ˆ˜

 

๐Ÿ“Œ System Calls -4 (MS DOS Execution)

๐Ÿ’ก MS-DOS

: ์ด์ „์— ์ „์„ธ๊ณ„์˜ ์‹œ์žฅ์„ ํœฉ์”€, ๋Œ€์ค‘์ ์ด์—ˆ๋˜ ์šด์˜์ฒด์ œ

 

๐Ÿ’ก IDC Center (๋ฐ์ดํ„ฐ ์„ผํ„ฐ)

: ์œˆ๋„์šฐ๋กœ ์•ˆ๋˜์–ด์žˆ๊ณ  ๋Œ€๋ถ€๋ถ„ ์œ ๋‹‰์Šค ๋“ฑ์˜ ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœํ•จ.

 

๐Ÿ’ก ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ 

MS-DOS Execution (a) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ „, (b) : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ›„

- ๊ฐ€์žฅ ๋ฐ‘์ชฝ์„ 0๋ฒˆ์ง€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋‹ค์Œ์œผ๋กœ ์ปค๋„, ์ปค๋ฉ˜๋“œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ, ๊ทธ๋‹ค์Œ ํ”„๋ฆฌ๋ฉ”๋ชจ๋ฆฌ.

- ์ปค๋งจ๋“œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์—ญํ•   : ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ

 

* ํ›…์ฝ”๋“œ๋ž€? 

: ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋จ

: ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์‹คํ–‰ ์ „ํ›„๋กœ command interpreter ์œ /๋ฌด๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ตœ์†Œํ™”๋ฅผ ์œ„ํ•ด, ์‹คํ–‰ ํ›„์— command interpreter์„ ์‚ญ์ œํ•˜๊ณ , ํ›…์ฝ”๋“œ๋ฅผ ์•„์ฃผ ์ž‘๊ฒŒ ๋‚จ๊ธด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค(ex.ํ•œ๊ธ€)์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ชฐ์•„์ค€๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ํ›„, ํ›…์ฝ”๋“œ๋Š” ๋‹ค์‹œ ์‚ฌ๋ผ์ง„ command interpreter์„ ์‹คํ–‰ํ•ด์ค€๋‹ค. 

(์ด ๋ฉ”๋ชจ๋ฆฌ 640k, ๊ทธ ์ค‘ OS๊ฐ€ 150k. ์ด์™ธ ๋‚จ์•„์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 1๋ฉ”๊ฐ€๋„ ์•ˆ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ตœ์†Œํ™” ์‹œ์ผœ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.)

 

* ์ œ์–ด๊ถŒ์„ ์žก์œผ๋ฉด ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€ CPU ๋ฌดํ•œ์ • ์‚ฌ์šฉ

* ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค(CPU๊ฐ€์ง)๊ฐ€ ์ œ์–ด๊ถŒ ์žฅ์•…, ๋ชจ๋“ ๊ฑธ ํ• ์ˆ˜ ์žˆ์Œ.

+ ๊ทผ๋ฐ ํ”„๋กœ์„ธ์Šค ์•ˆ์— ๋ฐ”์ด๋Ÿฌ์Šค ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋ฉด?

> ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ๋ชจ๋“  ๊ฑธ ์žฅ์•…!

> ์•„๋ฌด๋Ÿฐ ํ”„๋กœํƒ์…˜ ๋Œ€๋น„๊ฐ€ ์—†๊ณ  ๋“€์–ผ๋ชจ๋“œ๋„ ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ(Ms ๋„์Šค๋Š” ๋“€์–ผ๋ชจ๋“œ ์•ˆ๋จ)

> ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์šด์˜์ฒด์ œ ๊ฐˆ์•„์—Ž์„์ˆ˜๋„ ์žˆ๊ณ  ๋“ฑ๋“ฑ ๋‹คํ•  ์ˆ˜ ์žˆ์Œ.

> ์˜›๋‚ ์—” ํ•˜๋“œ์›จ์–ด๋„ ์ œ์–ด ๊ฐ€๋Šฅ. ๊ทธ๋•Œ๋Š” ์ฝ”๋“œ๋กœ ํ•˜๋“œ์›จ์–ด ์ œ์–ดํ–ˆ๊ธฐ ๋•Œ๋ฌธ

> ๋‚จ์•„์žˆ๋Š” ํ”„๋ฆฌ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค ์ฐจ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. (๋‹จ, 640k๋ผ๋Š” ํ•œ๊ณ„ ๋‚ด์—์„œ)

 

 

๐Ÿ“Œ System Calls - 5 (UNIX Execution)

Unix Execution

๐Ÿ’ก UNIX 

: ์œ ๋‹‰์Šค๋Š” ๋ฉ€ํ‹ฐ ์œ ์ €(์—ฌ๋Ÿฌ๋ช…์ด ํ•œ ์ปดํ“จํ„ฐ์— ์ ‘์†), ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๋ฐ˜๋ฉด ms๋Š” os ํ•˜๋‚˜, ์‚ฌ์šฉ์ž ํ•œ๋ช…, cpu ๊ฐ€์ง„ ๊ฒƒ์ด ๋‹ค ์ œ์–ด)

: ์œ ๋‹‰์Šค๋Š” ๊ฐ๊ฐ ์„ธ๊ฐ€์ง€ HW Protection ์ง€์› (์ €๋ฒˆ์‹œ๊ฐ„๊บผ ์‚ดํŽด๋ณด๊ธฐ)

 

> ํ•œ ์ปดํ“จํ„ฐ, ํ•œ ์šด์˜์ฒด์ œ์— ์—ฌ๋Ÿฌ๋ช…์ด ๋“ค์–ด์˜ค๋ฉด ๊ฐ๊ฐ์ด ์ปดํ“จํ„ฐ๋ฅผ ์“ธ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ฃผ์–ด์•ผํ•จ.

> ๊ทธ๋ž˜์„œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋„ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋Š˜์–ด๋‚จ. (ํ•œ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ๋„ ์žˆ๊ณ  ์—ฌ๋Ÿฌ์‚ฌ๋žŒ์ด ๊ฐ๊ฐ ํ•˜๋‚˜์”ฉ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Œ.)

> ์–ด๋–ค ๊ณต๊ฐ„์€ ํ”„๋ฆฌ๋ฉ”๋ชจ๋ฆฌ๋กœ ์žˆ๊ณ , ๋งŒ์•ฝ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์š”์ฒญํ•˜๋ฉด ํ”„๋ฆฌ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ• ๋‹นํ•ด์คŒ, ๋‹ค์“ฐ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ฐ˜๋‚ฉ

 

 

๐Ÿ“Œ System Calls - 6

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค์—์„œ ์ •๋ณด ๊ตํ™˜ ์‹œ ์–ด๋–ป๊ฒŒ? ํฌ๊ฒŒ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•

1) ๋ฉ”์‹œ์ง€ ํŒจ์‹ฑ ๋ฐฉ๋ฒ•

: ๊ณตํ†ต์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋‘๊ณ  ์‹œ์Šคํ…œ ์ฝœ์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๋ผ์ดํŠธ/๋ฆฌ๋“œ ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํ”„๋กœํ…์…˜์— ์œ„๋ฐฐ๋˜์ง€ ์•Š๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฒ•.

๊ธฐ๋ณธ์ ์ธ ์ „์ œ ์กฐ๊ฑด > ๋ฉ”๋ชจ๋ฆฌ ํ”„๋กœํ…์…˜ : ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์ž๊ธฐํ•œํ…Œ ํ• ๋‹น๋ฐ›์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋„˜์–ด์„ค ์ˆ˜ ์—†๋‹ค. (๋‚ฎ๊ฒŒ/๋†’๊ฒŒ ์˜์—ญ ๋„˜์–ด๊ฐ€๋ฉด ์ฃฝ์Œ)

 

๐Ÿ’ก  ๊ทธ๋ฆผ - EXAMPLE :  A์˜ ๋ฐ์ดํ„ฐ B์— ์ฃผ๊ณ ์‹ถ์„ ๋•Œ

 

* B๊ฐ€ A๊ฐ€ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ M์— ์ ‘๊ทผ ํ•ด์•ผํ•˜๋Š”๋ฐ ๋ชปํ•จ !

 

Why? ๋ฉ”๋ชจ๋ฆฌ ํ”„๋กœํ…์…˜์— ์˜ํ•ด

: B๊ฐ€ ๋“ค์–ด์˜ค๋ฉด A๊ฐ€ ์˜์—ญ์„ ๋ฒ—์–ด๋‚˜๊ธฐ๋•Œ๋ฌธ์— ์ฃฝ๋Š”๋‹ค. ์ด์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ์˜์—ญ์„ ๋„˜์–ด๊ฐ€์„œ ์ ์šฉ์„ ๋ชปํ•˜๋‹ˆ๊นŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ '์ปค๋„'

  • 1) ์ปค๋„์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋‘์–ด์„œ
  • 2) ํ”„๋กœ์„ธ์Šค A๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋ณด๋ƒ„. (์ง์ ‘์ ‘๊ทผ์ด ์•„๋‹ˆ๋ผ ์‹œ์Šคํ…œ ์ฝœ๋กœ ์š”์ฒญ ๋ณด๋ƒ„)
  • 3) ํ”„๋กœ์„ธ์Šค A์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ปค๋„๋กœ ๊ฐ€์ง€๊ณ  ์™”์Œ.

๐Ÿ’ก ๊ทธ ์ดํ›„,  B๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•

[1] ํ”„๋กœ์„ธ์Šค A๊ฐ€ Bํ•œํ…Œ ์ „๋‹ฌํ•ด๋‹ฌ๋ผ ์š”์ฒญํ•˜๋Š” ๋ฒ•

[2] A์™€ B๊ฐ€ ์„œ๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ™๊ฑฐ๋‚˜ ์•ฝ์†์„ ๊ฐ–์ท„์œผ๋ฉด, B๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š” ์ง€ ํ™•์ธํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๋Š” ๋ฒ• 

 

2) shared memory ๋ฐฉ๋ฒ•

- A์™€ B๊ฐ€ ์žˆ์„ ๋•Œ, ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์„œ๋กœ ๊ต์ฐจ๋กœ(ํ•จ๊ป˜ ์‚ฌ์šฉ) ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ต์ฐจํ•˜๋ƒ?

  • A ํ”„๋กœ์„ธ์Šค๊ฐ€ ์“ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ผ์ • ๋ถ€๋ถ„๋งŒํผ, B๊ฐ€์“ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ผ์ • ๋ถ€๋ถ„๋งŒํผ ์ •ํ•จ.
  • A์—๋„ ์†ํ•˜๊ณ  B์—๋„ ์†ํ•˜๋Š” Shared ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๊ต์ฐจํ•œ๋‹ค.

 


๐Ÿ“Œ System Programs 

* ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ์ด๋ž€? 

: ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ณ  ์‚ฌ์šฉ/๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ 

 

* ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ ์˜๋ฏธ์˜ ๋ณ€ํ™” 

์œ ๋‹‰์Šค ๋“ฑ์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ผ๋ฐ˜์ธ๋“ค์ด ์“ฐ์ง€ ์•Š๊ณ  ์ฃผ๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ์”€(๊ณผํ•™์ž, ๊ธฐ์ƒ์ฒญ, ๊ตญ๋ฐฉ๋ถ€ ๋“ฑ ๊ณ„์‚ฐ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์ง‘๋‹จ)  

๊ฐœ๋ฐœ ์‹œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ๋“ค์ด OS์— ํฌํ•จ๋จ. ๊ทธ๋ž˜์„œ ๋‹น์‹œ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํŒŒ์ผ๋Ÿฌ, ์–ด์…ˆ๋ธ”๋Ÿฌ ๋“ฑ์„ ์˜๋ฏธํ•จ

ํ˜„๋Œ€์— ์™€์„œ ๊ด€์ ์— ์ฐจ์ด๊ฐ€ ์ƒ๊น€.

๊ฐœ๋ฐœ ๋„๊ตฌ๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ํ•˜์ง€ ์•Š๊ณ , ์‹œ์Šคํ…œ์„ ์œ ์ง€๋ณด์ˆ˜ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ 

(ex. shell)

 

>> ์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ์—์„œ ์šด์˜์ฒด์ œ๋Š” ์‹ค์ œ system call์ด ์•„๋‹Œ, system program์œผ๋กœ ์ •์˜๋œ๋‹ค. (ex. shell, 'rm' command)

 

 

๐Ÿ“Œ System Structure, MS-DOS (one-program ์šฉ)

1) ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ : ๊ถŒํ•œ ๊ฐ€์ง

2) ๋ ˆ์ง€๋˜ํŠธ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ : ์ƒ์ฃผ

3) MS-DOS ์žฅ์น˜ ๋“œ๋ผ์ด๋ธŒ : ์ปค๋„

4) ROM BIOS ์žฅ์น˜ ๋“œ๋ผ์ด๋ธŒ : ์นฉ ๋‚ด๋ถ€, ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ROM BIOS๋ฅผ ํ†ตํ•ด ์กฐ์ž‘ ๊ฐ€๋Šฅ (?)

 

๐Ÿ“Œ System Structure, UNIX

1) UNIX : ์ œํ•œ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์ตœ์ดˆ์˜ ์šด์˜์ฒด์ œ. ์ปค๋„๊ณผ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋จ

2) System programs

3) Kernel

  • ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ธํ„ฐํŽ˜์ด์Šค ์•„๋ž˜, ๋ฌผ๋ฆฌ์  ํ•˜๋“œ์›จ์–ด ์œ„์— ์žˆ๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ
  • ํŒŒ์ผ ์‹œ์Šคํ…œ, CPU ์Šค์ผ€์ค„๋ง, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐ ๊ธฐํƒ€ ์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ ์ œ๊ณต, ํ•œ ๋ ˆ๋ฒจ์— ๋Œ€ํ•œ ๋งŽ์€ ๊ธฐ๋Šฅ ์ œ๊ณต

 

๐Ÿ“Œ System Structure - Layerd Approach

1) ์šด์˜์ฒด์ œ๊ฐ€ ์—ฌ๋Ÿฌ ์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง

2) ๊ฐ€์žฅ ์•„๋ž˜ ๋ ˆ์ด์–ด๋Š” ํ•˜๋“œ์›จ์–ด, ๊ฐ€์žฅ ์œ„์˜ ๋ ˆ์ด์–ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค

3) ์œ„์ธต์—์„œ ์•„๋ž˜์ธต ๊ธฐ๋Šฅ ์š”์ฒญ

4) ์•„๋ž˜ ์ธต์€ ์œ„์˜ ์ธต์„ ํ˜ธ์ถœํ•˜์ง€๋„ ์•Š๊ณ , ์กด์žฌ๋„ ๋ชจ๋ฅธ๋‹ค. (์š”์ฒญ์ด ์˜ค๋ฉด ๋“ค์–ด์ค„ ๋ฟ)

 

 

๐Ÿ“Œ Microkernel Approach (MACH, ๋งˆ์ดํฌ๋กœ ์ปค๋„ ์šด์˜์ฒด์ œ)

: ์šด์˜์ฒด์ œ ํ•ต์‹ฌ๋ถ€๋ถ„์„ ์•„์ฃผ ์ž‘๊ฒŒ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์ฒ ํ•™์—์„œ ์‹œ์ž‘

๋ณต์žกํ•ด์ง€๊ณ  ์œ ์ง€๋ณด์ˆ˜ ํž˜๋“ค์–ด์ง

๋งˆ์ดํฌ๋กœ ์ปค๋„ ๋“ฑ์žฅ

๐Ÿ“Œ Microkernels

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

๐Ÿ’ก ์žฅ์  : ๋” ์•ˆ์ „ํ•˜๊ณ  ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ๊ณ , ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋กœ ์ด์‹ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ๋‹ค.

 

๐Ÿ“Œ Virtual Machines

:  ์ €์ˆ˜์ค€์˜ ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ

- ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ ˆ์ด์–ด๋“œ ์•„ํ‚คํ…์ฒ˜๋กœ ๊ตฌ์„ฑ

- ์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ์žˆ์Œ

- ์„œ๋กœ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ๊ฐ€ ํ•œ ๊ธฐ๊ณ„์—์„œ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Œ

 

๐Ÿ“Œ Java Virtual Machine’s Model

: JVM์€ class loader, class verifier, runtime interpreter๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

 

๐Ÿ“Œ MAME๋ž€?

: ๋Œ€ํ‘œ์ ์ธ ๊ฒŒ์ž„ ์• ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ, ๊ธฐ์กด ์•„์ผ€์ด๋“œ ๊ฒŒ์ž„๋“ค์„ PC์—์„œ ๋™์ž‘ํ•˜๋„๋ก ์• ๋ฎฌ๋ ˆ์ดํŠธ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ

 

๐Ÿ“Œ System Design and Implementation

1.์‚ฌ์šฉ์ž ๋ชฉํ‘œ: ์“ฐ๊ธฐ ํŽธํ•˜๊ฒŒ, ๋ฐฐ์šฐ๊ธฐ ํŽธํ•˜๊ฒŒ, ์•ˆ์ •์ ์ด๊ฒŒ, ๋น ๋ฅด๊ฒŒ,

2.์šด์˜์ฒด์ œ ๋ชฉํ‘œ: ๊ด€๋ฆฌํ•˜๊ธฐ ํŽธํ•˜๊ณ  ํ™•์žฅ ์ž˜๋˜๊ฒŒ, ์•ˆ์ •์ ์ด๊ฒŒ

 

๋งค์ปค๋‹ˆ์ฆ˜์„ ์–ด๋–ป๊ฒŒ ํ• ๊ฑฐ๋ƒ > HOW TO?

Policy > ๋ฌด์—‡์„ ํ• ๊ฑฐ๋ƒ?

 

EXAMPLE

* ํƒ€์ž„ ์‰์–ด๋ง์„ ์–ด๋–ป๊ฒŒ ํ• ๊ฑฐ๋‹ˆ ? (HOW TO, ๋งค์ปค๋‹ˆ์ฆ˜)

>> ๊ตฌํ˜„ํ•˜๋Š” ๋ฒ• : ํƒ€์ด๋จธ ๋‘๊ณ , ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ์ธํ„ฐ๋ŸฝํŠธ, ์ œ์–ด๊ถŒ ํš๋“, ๋ ˆ๋””ํ์ค‘ ํ•˜๋‚˜ ์„ ํƒ, ์‹คํ–‰

>> ์ด๊ฒƒ์€ ๋งค์ปค๋‹ˆ์ฆ˜ ์˜๋ฏธ

 

* ์‹œ๊ฐ„ ์ฃผ๋Š” ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค

> ์–ผ๋งˆ์”ฉ ์ค„๊นŒ? > ์ด๋Ÿฌํ•œ ๊ฒƒ์„ ๊ฒฐ์ • ํ•˜๋Š” ๊ฒƒ์€ how to ๊ฐ€ ์•„๋‹˜

>> ์ด๊ฒƒ์€ policy ์˜๋ฏธ

 

(์ œ์–ด๊ถŒ์ด ์˜ฎ๊ฒจ์ง€๋Š” ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ‘์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ’์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํƒ€์ž„์Šฌ๋ผ์ด์Šค๋ฅผ ์งง๊ฒŒ์ฃผ๋ฉด ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์—ฌ๋Ÿฌ๋ฒˆ ๋ฐœ์ƒํ•ด์„œ ๊ณผ๋ถ€ํ•˜? > ์•ˆ์ข‹์Œ)

 

> ์•”ํŠผ ์ด๋Ÿฌํ•œ ๋งค์ปค๋‹ˆ์ฆ˜๊ณผ ํด๋กœ์‹œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ!

 

๐Ÿ“Œ System Design and Implementation - 2

: ์šด์˜์ฒด์ œ๊ฐ€ ์ปค์ง€๋‹ค๋ณด๋‹ˆ, ๊ด€๋ฆฌ๊ฐ€ ์•ˆ๋Œ. cํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•ด๋‘๊ณ  ์–ด๋–ป๊ฒŒ ํ–ˆ์—ˆ๋Š”์ง€ ์‹œ๊ฐ„ ์กฐ๊ธˆ๋งŒ ์ง€๋‚˜๋ฉด ๊นŒ๋จน๊ณ , ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋Š” ๋” ์‹ฌํ•จ.(๋‹จ์ˆœํ•œ ๊ฒƒ๋„ ๊ธธ๊ฒŒ ๋˜์–ด์žˆ์Œ) 

> ์šด์˜์ฒด์ œ ๊ธฐ๋Šฅ์ด ์ปค์ง์— ๋”ฐ๋ผ์„œ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ๋Š” ๋„์ €ํžˆ ๊ฐ๋‹น์ด ์•ˆ๋˜์—ˆ์Œ

> ๊ทธ๋ž˜์„œ ์”จ์–ธ์–ด๋กœ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•จ. 

>  ์šด์˜์ฒด์ œ๋Š” ๋Œ€๋ถ€๋ถ„ C์–ธ์–ด๋กœ ๋งŒ๋“ค์–ด์ง. ๋น ๋ฅด๊ฒŒ ํ•ด์•ผํ•˜๋ฉด ์ž‘์€ ๋ถ€๋ถ„ ์ค‘๊ฐ„์ค‘๊ฐ„ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ์กฐ์ •ํ•ด์คŒ. >> ์ตœ์ ํ™”, ํ•˜๋“œ์›จ์–ด ์ง์ ‘ ์ œ์–ด

 

* ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด์— ๋น„ํ•ด ํ•˜์ด๋ ˆ๋ฒจ ๋ ๊ธฐ์ง€๋กœ ๋งŒ๋“ค๋ฉด์„œ ์ข‹์€ ์ด์ 

 - ํ•˜์ด๋ ˆ๋ฒจ ์–ธ์–ด์˜ ์žฅ์  ์ƒ๊ฐํ•˜๋ฉด ๋จ. 

> ์šด์˜์ฒด์ œ ๋” ๋นจ๋ฆฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์†Œ์Šค ์ฝ”๋“œ, ์†Œ์Šค์ฝ”๋“œํŒŒ์ผ์ด ๋” ์ปดํŒฉํŠธ ํ•ด์ง

  (์‹คํ–‰ํŒŒ์ผ์€ ์ปดํŒฉํŠธํ•ด์ง€์ง„ ์•Š์Œ, ์‹คํ–‰ํŒŒ์ผ์€ ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ๋” ์ž‘์Œ)

> ์ดํ•ดํ•˜๊ณ  ๋””๋ฒ„๊ทธํ•˜๊ธฐ๊ฐ€ ์‰ฝ๋‹ค.

 

๐Ÿ“Œ System Generation

* ์ œ๋„ค๋ฆญ ์˜ค์—์Šค(๋ฒ”์šฉ์ ์ธ os) vs ์ŠคํŽ˜์‹œํ”ฝ ์˜ค์—์Šค (ํŠน์ •ํ•œ ๋ถ„์•ผ์˜ os, ์˜ˆ์‹œ๋กœ ์Šค๋งˆํŠธ ํ‹ฐ๋น„)

- ์šด์˜์ฒด์ œ ํ‹€์„ ๋งŒ๋“ค์–ด๋†“๊ณ ,๊ทธ ํ‹€์— ํŒŒ๋ผ๋ฏธํ„ฐ ์‹์œผ๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋„ฃ์–ด์ฃผ๋ฉด ๊ทธ๊ฑฐ์— ๋งž๋Š” OS๊ฐ€ ๋งŒ๋“ค์–ด์ง. >> ์ŠคํŽ˜์‹œํ”ฝ ์šด์˜์ฒด์ œ

 

*๋ถ€ํŒ…๊ณผ ๋ถ€ํŠธ ์ŠคํŠธ๋žฉ (๊ผญ ๊ธฐ์–ตํ•˜๊ธฐ ์•”๊ธฐ!!)

>> ๋ถ€ํŒ…: ์ปค๋„์„ ๋กœ๋”ฉ(๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ), ์ปดํ“จํ„ฐ๋ฅผ ์‹œ์ž‘์‹œํ‚ค๋Š” ๊ฒƒ

>> ๋ถ€ํŠธ์ŠคํŠธ๋žฉ: ์ปค๋„์„ ์ฐพ์•„ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ , ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋กฌ์— ์ €์žฅ๋œ ์ฝ”๋“œ

 

์ฒ˜์Œ์— ํŒŒ์›Œ ๋ˆ„๋ฅด๋ฉด, ๋กฌ๋ฐ”์ด์˜ค์Šค์— ์žˆ๋Š” ํŽŒ์›จ์–ด๊ฐ€ ๋™์ž‘์„ ํ•จ. ์ •ํ•ด์ง„ ์‹œํ€€์Šค์— ๋”ฐ๋ผ์„œ ํ•˜๋“œ ์ฃผ์œ„์— ์„ธ์ปจ๋“œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ฐพ์•„๋ณด๊ณ , ํ•ด๋‹น ์Šคํ† ๋ฆฌ์ง€์— ๋ถ€ํŠธ์„นํ„ฐ๋ฅผ ์ฐพ์•„์„œ ์ œ์–ด๊ถŒ์„ ์ฃผ์–ด ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ. >>? ๋ญ๋ž˜ ใ……ใ…‚

 

* ์ž๊ธฐ ์ปค๋„์„ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆด ๋•Œ 2๊ฐ€์ง€ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์นจ

1. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์ฝ”๋“œ ํŽŒ์›จ์–ด์— ์žˆ๋Š”๊ฒƒ ๋ถ€ํŒ… ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆผ

2. ์ž๊ธฐ ์šด์˜์ฒด์ œ์˜ ์ฝ”๋“œ๋ฅผ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆผ

728x90