๐Ÿ–ฅ๏ธ ์˜คํผ๋ ˆ์ดํŒ… ์‹œ์Šคํ…œ (Operating Systems)

์ดํ™”์—ฌ๋Œ€ โ€˜๋ฐ˜ํšจ๊ฒฝโ€™๊ต์ˆ˜๋‹˜์˜ Operating Systems๊ฐ•์˜ ์ค‘, โ€˜2. Introduction to Operating Systemsโ€™๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

1. ์šด์˜์ฒด์ œ๋ž€?

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

โ†’ ๊ฐ„๋‹จํ•˜๊ฒŒ, ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.


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

์šด์˜ ์ฒด์ œ์˜ ๋ชฉ์ ์€ ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž์› ๊ด€๋ฆฌ: CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ๋“ฑ ์‹œ์Šคํ…œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์›์„ ๊ณตํ‰ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ: ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ(ํ”„๋กœ์„ธ์Šค)์ด ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌํ•˜๋ฉฐ, ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ํšจ์œจ์ ์ธ ์‹คํ–‰์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ๊ด€๋ฆฌ: ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ์žฅ์น˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ณผ์ •์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ: ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ, ๊ฒ€์ƒ‰, ๋ณดํ˜ธ, ์ ‘๊ทผ ๊ถŒํ•œ ๋“ฑ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


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

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

1. ์‹œ๋ถ„ํ• (Time Sharing)

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

2. ์‹ค์‹œ๊ฐ„ ์šด์˜์ฒด์ œ (Realtime OS)

  • ์ •์˜: ์ •ํ•ด์ง„ ์‹œ๊ฐ„ ์•ˆ์— ์–ด๋– ํ•œ ์ž‘์—…์ด ๋ฐ˜๋“œ์‹œ ์™„๋ฃŒ๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค.
  • ์‘์šฉ ๋ถ„์•ผ:
    • ์›์ž๋กœ ์ œ์–ด
    • ๊ณต์žฅ ์ œ์–ด
    • ๋ฏธ์‚ฌ์ผ ์ œ์–ด
    • ๋ฐ˜๋„์ฒด ์žฅ๋น„ ๋ฐ ๋กœ๋ด‡ ์ œ์–ด
  • ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์˜ ์œ ํ˜•:
    • Hard Realtime System: ์‹œ๊ฐ„ ์ค€์ˆ˜๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๋ฐ๋“œ๋ผ์ธ์„ ์–ด๊ธธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • Soft Realtime System: ์‹œ๊ฐ„์ด ์ค‘์š”ํ•œ ์š”์†Œ์ด์ง€๋งŒ, ๋ฐ˜๋“œ์‹œ ๋ฐ๋“œ๋ผ์ธ์„ ์ง€ํ‚ค์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.
  • ์˜คํ•ด์™€ ์„ค๋ช…:
    • ์‹œ๋ถ„ํ• ๊ณผ์˜ ์ฐจ์ด: ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์€ ์‹œ๊ฐ„์„ ๋‚˜๋ˆ„์–ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ, ๋ฐ๋“œ๋ผ์ธ ์ค€์ˆ˜๋Š” ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ์‹ค์‹œ๊ฐ„ ์šด์˜์ฒด์ œ๋Š” ๋ฐ๋“œ๋ผ์ธ์„ ์—„๊ฒฉํžˆ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋ฐ˜์ ์ธ ์ปดํ“จํ„ฐ์—์„œ ์˜ํ™”๋ฅผ ๋ณผ ๋•Œ๋Š” ์‹ค์‹œ๊ฐ„์„ฑ์ด ์š”๊ตฌ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰ ์ค‘์ด๋ผ๋ฉด ์˜ํ™”๊ฐ€ ๋Š๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ์˜ ํŠน์„ฑ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

3. ์ผ๊ด„ ์ฒ˜๋ฆฌ (Batch Processing)

  • ์ •์˜: ์ž‘์—… ์š”์ฒญ์„ ์ผ์ •๋Ÿ‰ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  • ํŠน์ง•:
    • ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์ฃผ๋กœ ์ดˆ๊ธฐ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ์‹œ: ์ดˆ๊ธฐ ํŽ€์น˜ ์นด๋“œ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์€ ์ž‘์—…์„ ๋ชจ์•„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์ผ๊ด„ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ž…๋‹ˆ๋‹ค.


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

์šด์˜ ์ฒด์ œ๋Š” ๋™์‹œ ์ž‘์—…์˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€, ์‚ฌ์šฉ์ž์˜ ์ˆ˜, ์ฒ˜๋ฆฌ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


5. ์šฉ์–ด ์ •๋ฆฌ

  • ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น: ํ•˜๋‚˜์˜ CPU๊ฐ€ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋งˆ์น˜ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‹œ๋ถ„ํ•  ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ.
  • ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ์ƒํƒœ. ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์„ ๊ฐ•์กฐํ•œ ์šฉ์–ด์ž…๋‹ˆ๋‹ค.
  • ํƒ€์ž„ ์‰์–ด๋ง: CPU ์‹œ๊ฐ„์„ ๋‚˜๋ˆ„์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹. CPU ์‚ฌ์šฉ์„ ๊ฐ•์กฐํ•œ ํ‘œํ˜„์ž…๋‹ˆ๋‹ค.
  • ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์‹ฑ: ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ.
  • ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์„œ: ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์— ์—ฌ๋Ÿฌ CPU๊ฐ€ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ ์šด์˜ ์ฒด์ œ์˜ ์˜ˆ

1. Unix

  • ํŠน์ง•:
    • ๋Œ€ํ˜• ์ปดํ“จํ„ฐ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค.
    • ์ฝ”๋“œ ๋Œ€๋ถ€๋ถ„์ด C์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฒ„์ „์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
    • ๋†’์€ ์ด์‹์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด์—์„œ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋‹ค์–‘ํ•œ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ: Linux, Solaris, SunOS ๋“ฑ.
  • ์—ญ์‚ฌ์  ์ค‘์š”์„ฑ: ์œ ๋‹‰์Šค๋Š” C์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ณด๋‹ค ์ด์‹์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.

2. DOS (Disk Operating System)

  • ํŠน์ง•:
    • MS์‚ฌ์—์„œ 1981๋…„ IBM-PC๋ฅผ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค.
    • ๋‹จ์ผ ์‚ฌ์šฉ์ž์šฉ ์šด์˜์ฒด์ œ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋Šฅ๋ ฅ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค (์ฃผ๊ธฐ์–ต์žฅ์น˜: 640KB).

3. MS Windows

  • ํŠน์ง•:
    • MS์‚ฌ์˜ ๋‹ค์ค‘ ์ž‘์—…์šฉ GUI ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ์ž…๋‹ˆ๋‹ค.
    • Plug and Play, ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๊ฐ•ํ™” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • DOS์šฉ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ์ดˆ๊ธฐ ๋ฒ„์ „์—์„œ๋Š” ์•ˆ์ •์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ ์šด์˜ ์ฒด์ œ์˜ ๊ตฌ์กฐ

1. CPU ์Šค์ผ€์ค„๋ง

  • ์ •์˜: CPU ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ๋ฒ•:
    • FCFS (First-Come, First-Served): ๋จผ์ € ์˜จ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹. ๊ทธ๋Ÿฌ๋‚˜ CPU๊ฐ€ ๊ธด ์ž‘์—…์— ์ฐจ๋‹จ๋˜๋ฉด ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • SJF (Shortest Job First): ์งง์€ ์ž‘์—…์„ ์šฐ์„ ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ํšจ์œจ์„ฑ์„ ๋†’์ด๋ ค๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

2. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

  • ๊ณผ๊ฑฐ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ๋ก๋˜๊ณ , ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋Š” ์ซ“์•„๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

3. I/O Device ๊ด€๋ฆฌ

  • ์ •์˜: ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ž…์ถœ๋ ฅ ์žฅ์น˜์™€ ์ปดํ“จํ„ฐ ๊ฐ„์˜ ์ •๋ณด ์ „๋‹ฌ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์ˆ : ์ฃผ๋กœ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.