๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป CS/์šด์˜์ฒด์ œ

[์šด์˜์ฒด์ œ] 1. Introduction to Operating Systems

by nitronium102 2022. 11. 13.

์šด์˜์ฒด์ œ(Operating System, OS)

์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ„์— ์„ค์น˜๋˜์–ด ์‚ฌ์šฉ์ž ๋ฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณ„์ธต

- ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ(์ž์› ๊ด€๋ฆฌ์ž) : ํ”„๋กœ์„ธ์„œ, ๊ธฐ์–ต์žฅ์น˜, ์ž…์ถœ๋ ฅ ์žฅ์น˜ ๋“ฑ์˜ ํšจ์œจ์  / ํ˜•ํ‰์„ฑ ๊ด€๋ฆฌ

  • ์ข์€ ์˜๋ฏธ์˜ ์šด์˜์ฒด์ œ(์ปค๋„) : ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ๋ถ€๋ถ„
  • ๋„“์€ ์˜๋ฏธ์˜ ์šด์˜์ฒด์ œ : ์ปค๋„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐ์ข… ์ฃผ๋ณ€ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐœ๋…

 

์šด์˜์ฒด์ œ์˜ ๋ชฉ์ 

1) ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ

  • ์ž์›: CPU, ๋ฉ”๋ชจ๋ฆฌ, ๊ฐ์ข… ์ž…์ถœ๋ ฅ ์žฅ์น˜(ํ•˜๋“œ์›จ์–ด ์ž์›) & ํ”„๋กœ์„ธ์Šค, ํŒŒ์ผ ๋ฉ”์‹œ์ง€(์†Œํ”„ํŠธ์›จ์–ด ์ž์›)
  • ์ฃผ์–ด์ง„ ํ•˜๋“œ์›จ์–ด ์ž์›์œผ๋กœ ์ตœ๋Œ€ํ•œ์˜ ์„ฑ๋Šฅ์„ ๋‚ด๋Š” ๊ฒƒ์ด ๋ชฉ์  → ํšจ์œจ์ ์ด๊ณ  ํ˜•ํ‰์„ฑ์„ ๊ณ ๋ คํ•œ ์ž์› ๋ถ„๋ฐฐ
  • ์‚ฌ์šฉ์ž ๋ฐ ์šด์˜์ฒด์ œ ์ž์‹ ์˜ ๋ณดํ˜ธ

 

2) ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์ œ๊ณต

  • ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋  ๋•Œ, ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ๋งŒ์ด ์‹คํ–‰๋˜๋Š” ๋Š๋‚Œ์„ ์ฃผ๋Š” ๊ฒƒ์ด ์šด์˜์ฒด์ œ์˜ ๋ชฉ์ 
  • ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ๋Š” ๋ณต์žกํ•œ ๋ถ€๋ถ„์„ ์šด์˜์ฒด์ œ๊ฐ€ ๋Œ€ํ–‰

 

์šด์˜์ฒด์ œ์˜ ๋ถ„๋ฅ˜

1. ๋™์‹œ ์ž‘์—… ๊ฐ€๋Šฅ ์—ฌ๋ถ€

1) ๋‹จ์ผ ์ž‘์—…(Single tasking) : ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์ฒ˜๋ฆฌ  (MS-DOS)

2) โœ…๋‹ค์ค‘ ์ž‘์—…(Multi tasking) : ๋™์‹œ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—… ์ฒ˜๋ฆฌ (ํ˜„๋Œ€์˜ ๋Œ€๋‹ค์ˆ˜ ํ”„๋กœ๊ทธ๋žจ, UNIX, MS Windows)

 

2. ์‚ฌ์šฉ์ž์˜ ์ˆ˜

์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์„ ๋งŒ๋“ค์–ด ๋™์‹œ ์ ‘์†์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?

1) ๋‹จ์ผ ์‚ฌ์šฉ์ž(single user) : MS-DOS, MS Windows

2) โœ…๋‹ค์ค‘ ์‚ฌ์šฉ์ž(multi user) : UNIX, NT Server

 

3. ์ฒ˜๋ฆฌ ๋ฐฉ์‹

1) ์ผ๊ด„ ์ฒ˜๋ฆฌ(batch processing)

- ์ž‘์—… ์š”์ฒญ์˜ ์ผ์ •๋Ÿ‰์„ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌ

- ์ž‘์—…์ด ์™„์ „ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•จ - ์˜ค๋ฅ˜ ํ™•์ธ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆผ

- not interactive

 

2) โœ…์‹œ๋ถ„ํ• (time sharing) - ํ˜„๋Œ€์— ์ž์ฃผ ์“ฐ์ž„ 

- ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ์ผ์ •ํ•œ ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์‚ฌ์šฉ

- ์ผ๊ด„ ์ฒ˜๋ฆฌ์— ๋น„ํ•ด ์งง์€ ์‘๋‹ต ์‹œ๊ฐ„

- interactiveํ•œ ๋ฐฉ์‹

- ์ฃผ์–ด์ง„ ์ž์›์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์˜ ์ œ์•ฝ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€๋Š” ์•Š์Œ(๋ฒ”์šฉ ์†Œํ”„ํŠธ์›จ์–ด์šฉ)

ex) 0.0001์ดˆ ์•ˆ์— ์‘๋‹ตํ•ด์•ผ ํ•จ

 

3) ์‹ค์‹œ๊ฐ„(Realtime OS)

- ์ •ํ•ด์ง„ ์‹œ๊ฐ„ ์•ˆ์— ์–ด๋– ํ•œ ์ผ์ด ๋ฐ˜๋“œ์‹œ ์ข…๋ฃŒ๋จ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ OS(ํŠน์ˆ˜ํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์‹œ์Šคํ…œ)

ex) ๋ฏธ์‚ฌ์ผ ์ œ์–ด, ์›์ž๋กœ/๊ณต์žฅ ์ œ์–ด

- Hard realtime system(๊ฒฝ์„ฑ) : deadline์„ ๋ฌด์กฐ๊ฑด ์ง€์ผœ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ(๋ฏธ์‚ฌ์ผ)

- Soft realtime system(์—ฐ์„ฑ) : deadline์„ ์ง€ํ‚ค์ง€ ์•Š์•„๋„ ๊ดœ์ฐฎ์€ ๊ฒฝ์šฐ(์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ)

 

์šฉ์–ด ์„ค๋ช…

์ปดํ“จํ„ฐ์—์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ

- Multitasking : ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚˜๊ธฐ ์ „์— ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

- Multiprogramming : ์—ฌ๋Ÿฌ ํ”„๋กœ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋™์‹œ์— ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. (๋ฉ”๋ชจ๋ฆฌ ์œ„์ฃผ)

- Time Sharing : CPU์˜ ์‹œ๊ฐ„์„ ๋ถ„ํ• ํ•˜์—ฌ ๋‚˜๋ˆ„์–ด ์“ด๋‹ค (CPU ์œ„์ฃผ)

- Multiprocess : ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์‹คํ–‰๋œ๋‹ค.

 

- Multiprocessor : CPU(processor)๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋Š” ์ปดํ“จํ„ฐ

 

์šด์˜์ฒด์ œ์˜ ์˜ˆ

์œ ๋‹‰์Šค(UNIX)

- ๋Œ€ํ˜• ์ปดํ“จํ„ฐ๋ฅผ ์œ„ํ•ด ์ œ์ž‘ -> Multitasking & ๋‹ค์ค‘ ์‚ฌ์šฉ์ž

- ์ฝ”๋“œ์˜ ๋Œ€๋ถ€๋ถ„์„ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๊ฐ€ ์•„๋‹Œ C์–ธ์–ด๋กœ ์ž‘์„ฑ -> ๋†’์€ ์ด์‹์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ํŠน์ • ๊ธฐ๊ณ„์–ด์— ๊ตญํ•œ๋˜์ง€ ์•Š๋Š”๋‹ค

- ์ตœ์†Œํ•œ์˜ ์ปค๋„ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋„์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค -> ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์— ๋งž๊ฒŒ ํ™•์žฅ ์šฉ์ด

- ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ์šฉ์ด

- ๋‹ค์–‘ํ•œ ๋ฒ„์ „ : Linux ๋“ฑ

DOS(Disk Operating System)

- ๋‹จ์ผ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์ œ์ž‘ํ•œ ๋‹จ์ผ ์‚ฌ์šฉ์ž์šฉ ์šด์˜์ฒด์ œ

- ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ์˜ ํ•œ๊ณ„(์ฃผ ๊ธฐ์–ต ์žฅ์น˜ 640KB)

MS Windows

- MS์‚ฌ์˜ ๋‹ค์ค‘ ์ž‘์—…์šฉ GUI ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ

- Plug and Play, ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๊ฐ•ํ™”

- DOS์šฉ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ˜ธํ™˜์„ฑ ์ œ๊ณต

- (์ดˆ๊ธฐ) ๋ถˆ์•ˆ์ •์„ฑ

- ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ง€์› ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํ’๋ถ€ํ•˜๋‹ค

 

๊ทธ ์™ธ

- Handheld device๋ฅผ ์œ„ํ•œ OS : PalmOS, Pocket PC, Tiny OS

 

์šด์˜์ฒด์ œ ๊ตฌ์กฐ

ํ•˜๋“œ์›จ์–ด

- [CPU] CPU ์Šค์ผ€์ค„๋ง : CPU๋ฅผ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ ํ• ๋‹นํ•  ๊ฒƒ์ธ๊ฐ€

- [๋ฉ”๋ชจ๋ฆฌ] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ : ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์— ์–ด๋–ป๊ฒŒ, ์–ผ๋งˆ๋‚˜ ํ• ๋‹นํ•  ๊ฒƒ์ธ๊ฐ€

- [๋””์Šคํฌ] ํŒŒ์ผ ๊ด€๋ฆฌ : ๋””์Šคํฌ์— ํŒŒ์ผ์„ ์–ด๋–ค ์‹์œผ๋กœ ๋ณด๊ด€ํ•  ๊ฒƒ์ธ๊ฐ€

- [I/O device] ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ : CPU๋ณด๋‹ค I/O ๋””๋ฐ”์ด์Šค์˜ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ์ปดํ“จํ„ฐ ๊ฐ„์— ์–ด๋–ค ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๊ฒƒ์ธ๊ฐ€

์†Œํ”„ํŠธ์›จ์–ด

- ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ์‚ญ์ œ

- ์ž์› ํ• ๋‹น ๋ฐ ๋ฐ˜ํ™˜

- ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ˜‘๋ ฅ

๊ทธ ์™ธ

- ๋ณดํ˜ธ ์‹œ์Šคํ…œ

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

- ๋ช…๋ น์–ด ํ•ด์„๊ธฐ(command line interpreter)

 

๋Œ“๊ธ€