์šด์˜์ฒด์ œ์˜ ๊ณ„๋ณด ๐ŸŒณ ์šด์˜์ฒด์ œ ์ˆ˜์—…์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์ฒซ๊ฑธ์Œ.

10 minute read

3๋…„๊ฐ„ ์‚ฐ์—…๊ธฐ๋Šฅ์š”์›์œผ๋กœ ๋ณต๋ฌด ํ•˜๊ณ , ๋ณตํ•™ํ•ด ์ปด๊ณต๊ณผ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋งŽ์ด ๋ฐฐ์› ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์—ฌ์ „ํžˆ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ๋„ค์š” ^^;; ์—ญ์‹œ ์„ธ์ƒ๋„ ๋„“๊ณ  ๊ณต๋ถ€์˜ ๊ธธ๋„ ๋„“์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐ

์ œ๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ์งˆ๋ฌธ๋“ค์„ ์ข€ ๋ฏธ๋ฆฌ ์ ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • Unix๋ž‘ Linux๊ฐ€ ๋ญ๊ฐ€ ๋‹ค๋ฅธ ๊ฑฐ์ž„?
  • MacOS๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
  • Windows๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
  • Ubuntu๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
  • POSIX ๊ทœ๊ฒฉ์„ ๋”ฐ๋ฅธ๋‹ค๋Š”๋ฐ ๊ทธ๊ฒŒ ๋ฌด์Šจ ๋ง์ž„?
  • BSD๋Š” ๋˜ ๋ฌด์Šจ ๋ง์ž„?? Pintos ๊ณผ์ œํ•  ๋•Œ๋Š” 4.4BSD๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ์—ˆ์Œ.
  • Debian์€ ๋˜ ๋ญ์ž„??



์œ„์˜ ์งˆ๋ฌธ๋“ค์„ ์ดํ•ดํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ๋„์›€์ด ๋œ ์˜์ƒ์ž…๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ ์ดˆ๋ณด์ž์ธ ์ œ ์ˆ˜์ค€์— ๋”ฑ ๋งž๋Š” ์˜์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค ^^

Unix

์šด์˜์ฒด์ œ์˜ ๊ฐœ์š”๋ฅผ ๋“ฃ๋‹ค๋ณด๋ฉด, ์—ฌ๋Ÿฌ ์œ ์ €๊ฐ€ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ โ€˜์‹œ๋ถ„ํ• ์‹œ์Šคํ…œโ€™โ€ฆ ์˜›๋‚ ์—๋Š” ๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ๊ฐ€ ์—†๊ณ  ๊ธฐ์—…์šฉ, ์—ฐ๊ตฌ์šฉ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋งŒ ์žˆ์—ˆ๋‹ค๋Š” ์˜›๋‚  ์–˜๊ธฐ๋ถ€ํ„ฐ ๋“ฃ๋Š”๋‹ค. Unix๋Š” ๋ฐ”๋กœ ์ด๋Ÿฐ ์‹œ์ ์— ํƒœ์–ด๋‚œ ์šด์˜์ฒด์ œ๋‹ค!

๋‹น๋Œ€์—๋„ ๋งŽ์€ ์šด์˜์ฒด์ œ๋“ค์ด ์žˆ์—ˆ์„ ํ…๋ฐ, Unix๊ฐ€ ์„ฑ๊ณตํ•œ ์ด์œ ๋Š” ๋ญ˜๊นŒ? ์–ด๋–ค ์ข‹์€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ–ˆ๊ธฐ์— ์„ฑ๊ณตํ•œ ๊ฑธ๊นŒ? ํ•˜๋Š” ๊ถ๊ธˆ์ฆ์ด ์ƒ๊ธด๋‹ค. ๊ทธ๋ž˜์„œ Unix๊ฐ€ ๊ฐ€์กŒ๋˜ ํŠน์ง•์„ ๋‚˜์—ดํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น๊ณผ ๋ฉ€ํ‹ฐ์œ ์ €๋ฅผ ์ง€์›ํ•œ๋‹ค.
  • ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ด๊ณ , ์—ฌ๋Ÿฌ ํ•˜๋“œ์›จ์–ด์— ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • Unix ์ดˆ๊ธฐ์—๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ๊ฐœ๋ฐœํ–ˆ์ง€๋งŒ
    • ์ดํ›„์—๋Š” ๋ชจ๋‘ C ์–ธ์–ด๋กœ ์žฌ์ž‘์„ฑ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • C์–ธ์–ด๋Š” ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ธ ๊ณ ๊ธ‰ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์—, ํŠน์ • ํ•˜๋“œ์›จ์–ด์— ์ข…์†๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ˆœํ•˜๊ณ  ๋ชจ๋“ˆํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • โ€œํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์€ ํ•œ ๊ฐ€์ง€ ์ž‘์—…๋งŒ ์ž˜ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.โ€๋ผ๋Š” ์ฒ ํ•™์„ ๊ธฐ๋ฐ˜์œผ๋กœ, ๊ฐ ๊ธฐ๋Šฅ์ด ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ls, cat ๋“ฑ ๋งŽ์€ ๋ช…๋ น์–ด๋Š” ๊ฐ๊ฐ์ด ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํŠน์ • ๊ธฐ๋Šฅ ํ•˜๋‚˜๋งŒ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ ๋ช…๋ น์–ด ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํŒŒ์ดํ”„(|)๋ฅผ ๋ถ™์—ฌ ์กฐํ•ฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ผ๊ด€์„ฑ
    • ๋ชจ๋“  ๊ฒƒ์„ ํŒŒ์ผ๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ„๋‹จํ•˜๊ฒŒ๋Š” ํŒŒ์ผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋„ ํŒŒ์ผ๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
      • ๊ทธ์™ธ ๊ฒƒ๋“ค(๋„คํŠธ์›Œํฌ ์†Œ์ผ“, ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„)๋„ ํŒŒ์ผ๋กœ ์กด์žฌํ•œ๋‹ค๋Š”๋ฐ, ์š”๊ฑด ์ œ๋Œ€๋กœ ์ดํ•ด ๋ชป ํ–ˆ์Šต๋‹ˆ๋‹ค ใ…‹ใ…‹
  • ์Šคํฌ๋ฆฝํŒ…๊ณผ ์‰˜ ํ™˜๊ฒฝ์„ ์ œ๊ณต
    • Shell Script๋ฅผ ํ†ตํ•ด ์ผ๋ จ์˜ ๋ช…๋ น์–ด๋ฅผ ๋ฌถ์–ด์„œ ํŒŒ์ผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํ‚น๊ณผ ์ธํ„ฐ๋„ท ์ง€์›
    • TPC/IP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๊ฐ€ Unix์— ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜คํ”ˆ์†Œ์Šค ์ฒ ํ•™
    • Unix๋Š” ๋ณธ๋ž˜ ์—ฐ๊ตฌ์™€ ๊ต์œก ๋ชฉ์ ์œผ๋กœ ๊ณต๊ฐœ ๋ฐฐํฌ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด ๋•๋ถ„์— Unix๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” BSD์™€ ๊ฐ™์€ ํŒŒ์ƒ ๋ฒ„์ „๊ณผ, Unix์˜ ์ปจ์…‰์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋ฐœํ•œ Linux๊ฐ€ ํƒ„์ƒํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์•ˆ์ •์„ฑ
    • Unix์—๋Š” ์ปค๋„์ด๋ผ๋Š” ๊ฐœ๋…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„์ด ํ•˜๋“œ์›จ์–ด์— ๋”ฑ ๋ถ™์–ด์„œ ์ค‘์š”ํ•œ ์ž‘์—…๋“ค์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ์ปค๋„์˜ ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, System Call ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ์˜ ์‹คํ–‰์„ User mode์™€ Kernel mode๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

Linux์˜ ๋“ฑ์žฅ

Tux the penguin
By Larry Ewing, Simon Budig, Garrett LeSage - https://isc.tamu.edu/~lewing/linux/, http://www.home.unix-ag.org/simon/penguin/, garrett/Tux on GitHub, CC0, Link

โ€œ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์Šคโ€์”จ๊ฐ€ ๊ฐœ๋ฐœํ•œ ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค. Unix๋Š” 1971๋…„์— ์ถœ์‹œ๋˜์—ˆ๊ณ , Linux๋Š” 1991๋…„์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (๊ฑฐ์˜ 20๋…„์ด๋‚˜ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ๋„ค์š”.)

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

๊ทธ๋ž˜์„œ Linux๋Š” Unix-like ์šด์˜์ฒด์ œ๋กœ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. Unix์™€ ๊ฑฐ์˜ ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด์ง€๋งŒ, Unix๋Š” ์•„๋‹ˆ๋ผ๋Š” ๊ฑฐ์ฃ . ์šฐ๋ฆฌ๊ฐ€ Unix๋ฅผ ์‚ฌ์šฉํ•˜๋“  Linux๋ฅผ ์‚ฌ์šฉํ•˜๋“  ๊ณตํ†ต์ ์œผ๋กœ ls, cat, chmod ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๊ตฌํ˜„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Linux ๋ฐฐํฌํŒ(Distro)

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

Linux์—์„œ ํŒŒ์ƒ๋œ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ๋“ค์€ Linux์˜ ๋ฐฐํฌํŒ(Distribution, Distro)์ด๋ฉฐ, Linux ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ข… ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€ํ‘œ์ ์ธ Linux ๋ฐฐํฌํŒ์ธ Ubuntu๋Š” apt ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์™€ ๋”ฐ๋ก  Ubuntu GUI๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒƒ๋“ค์€ Linux์˜ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์„ธ์ƒ์—๋Š” ๋‹ค์–‘ํ•œ Linux ๋ฐฐํฌํŒ์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Arch Linux
    • Linux ์ปค๋„ ๊ธฐ๋ฐ˜์— ์šด์˜์ฒด์ œ๋กœ์„œ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ๊ฒƒ์„ ๊ฐ–์ถ˜ ๊ฒƒ.
  • Debian
    • apt, dpkg์™€ ๊ฐ™์€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ์ œ๊ณต
    • ๋†’์€ ์•ˆ์ •์„ฑ์„ ์ถ”๊ตฌ
  • Ubuntu
    • Debian์˜ 2004๋…„ ๋ฒ„์ „์—์„œ ํŒŒ์ƒ๋œ ์šด์˜์ฒด์ œ.
    • ์•ˆ์ •์„ฑ์„ ์šฐ์„ ์‹œ ํ•˜๋Š” Debian๊ณผ ๋‹ฌ๋ฆฌ ๋” ์ตœ์‹  ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ .
    • Debian๊ณผ ๋งŽ์€ ๊ตฌ์กฐ๋ฅผ ๊ณต์œ ํ•จ. ์˜ˆ๋ฅผ ๋“ค์–ด, Ubuntu์—์„œ๋„ apt๋ฅผ ์‚ฌ์šฉํ•จ.

BSD์˜ ๋“ฑ์žฅ

Berkeley Software Distribution์˜ ์•ฝ์ž๋กœ 1977๋…„ ๋ฒ„ํด๋ฆฌ์—์„œ Unix ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์šด์˜์ฒด์ œ์ž…๋‹ˆ๋‹ค. ์•ž์—์„œ ๋ณธ Linux๊ฐ€ 1991๋…„ ์ถœ์‹œ์ด๋‹ˆ ๋‘˜์ด ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋…€์„์ด์ฃ .

์ด ์šด์˜์ฒด์ œ์— ๋Œ€ํ•ด ์ ๊ฒŒ ๋œ ์ด์œ ๋Š” MacOS๊ฐ€ ์š” BSD๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์šด์˜์ฒด์ œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  BSD๋ฅผ ์™„์ „ํžˆ ๋”ฐ๋ผํ•œ ๊ฑด ์•„๋‹ˆ๊ณ , BSD์˜ ์ผ์ข…์ธ FreeBSD์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์• ํ”Œ์—์„œ ๋ฐœ์ „์‹œํ‚จ OS๊ฐ€ MacOS ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ MacOS์—์„œ๋„ ls, cd์™€ ๊ฐ™์€ Unix์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BSD๋ผ๋Š” ์ด๋ฆ„์€ ์šด์˜์ฒด์ œ๋„๋กœ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด์„ ์Šค์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. BSD ๋ผ์ด์„ ์Šค๋กœ ๋ฐฐํฌ๋œ ์ฝ”๋“œ๋Š”

  • ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ 
  • ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ณ 
  • ์ˆ˜์ •ํ•œ ๊ฑธ ์ž์œ ๋กญ๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ณ 
  • ์ž์œ ๋กญ๊ฒŒ ์ƒ์—…์ ์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋„ ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ณต๊ฐœ ์˜๋ฌด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ์ด์œ  ๋•Œ๋ฌธ์—, MacOS์—์„œ BSD๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๊ฒŒ ์•„๋‹๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์ด ์žˆ์Šต๋‹ˆ๋‹ค. MacOS๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ ์šด์˜๋˜์ง€ ์•Š๊ณ  ์žˆ์ฃ .

POSIX

Portable Operating Systems Interface์˜ ์•ฝ์ž์ธ๋ฐ, ์ด๋ฆ„์€ ๋”ฑํžˆ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. IEEE์—์„œ ๋ฐœํ–‰ํ•˜๋Š” ์ธ์ฆ์œผ๋กœ, ์šด์˜์ฒด์ œ๋ผ๋ฉด ๊ฐ–์ถฐ์•ผ ํ•˜๋Š” ๋ช‡๊ฐ€์ง€ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ์‹œํ—˜ํ•˜๊ณ , ํ†ต๊ณผํ•˜๋Š” ์ธ์ฆ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋กœ๋Š”

  • Standard C Operations
  • Multitasking
  • Error States
  • Command line & Commands

๋“ฑ์„ ํ…Œ์ŠคํŠธ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋งŒ์•ฝ ์–ด๋–ค ์šด์˜์ฒด์ œ๊ฐ€ POSIX ์ธ์ฆ์„ ๋ฐ›์•˜๋‹ค๊ณ  ํ•˜๋ฉด, ๊ฝค ๊ฒ€์ฆ๋œ ์šด์˜์ฒด์ œ์ž„์„ ๋งํ•ฉ๋‹ˆ๋‹ค. MacOS๋„ POSIX ์ธ์ฆ์„ ๋ฐ›์€ ์šด์˜์ฒด์ œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๋‹ค๋งŒ, POSIX ์ธ์ฆ ์ž์ฒด๋Š” ์ด๊ฒƒ์ด ์šด์˜์ฒด์ œ๊ฐ€ Unix๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ฑฐ๋‚˜ ์ด๊ฑด Unix ํŒŒ์ƒ์ด์•ผ!๋ผ๊ณ  ํ•˜๋Š” ๊ฑธ ์–ด๋Š ๊ฒƒ๋„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์šด์˜์ฒด์ œ๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ์•„์ฃผ ์ž˜ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

SUS

Single Unix Specification์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์ด ๋…€์„์€ ์šด์˜์ฒด์ œ๊ฐ€ Unix ์šด์˜์ฒด์ œ์˜ ํ‘œ์ค€์„ ๋”ฐ๋ฅธ๋‹ค๋Š” ๊ฑธ ๋ณด์ฆํ•˜๋Š” ์ธ์ฆ์ž…๋‹ˆ๋‹ค. ์ด SUS ์ธ์ฆ์„ ๋ฐ›์•„์•ผ ๊ณต์‹์ ์ธ Unix ์šด์˜์ฒด์ œ๋กœ ์ธ์ • ๋ฐ›์Šต๋‹ˆ๋‹ค.

POSIX๋„ ์—ฌ๋Ÿฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋“ฏ์ด SUS๋„ ๋น„์Šทํ•˜๊ฒŒ ์šด์˜์ฒด์ œ์˜ ๊ธฐ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์žˆ์–ด ์šด์˜์ฒด์ œ์˜ ๋™์ž‘์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์šด์˜์ฒด์ œ ์ค‘์—๋Š” MacOS๊ฐ€ SUS ์ธ์ฆ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

๋งบ์Œ๋ง

๋‚ด์šฉ์„ ์ข…ํ•ฉํ•˜๋ฉฐ, ์ฒ˜์Œ์— ์ œ๊ฐ€ ํ–ˆ๋˜ ๊ถ๊ธˆ์ฆ์˜ ๋‹ต์„ ์ ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์˜ ์ˆœ์„œ๋Š” ์ œ๊ฐ€ ์กฐ๊ธˆ ์กฐ์ • ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Unix๋ž‘ Linux๊ฐ€ ๋ญ๊ฐ€ ๋‹ค๋ฅธ ๊ฑฐ์ž„?
    • Linux๋Š” Unix์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ OS์ž„. (Unix์˜ ์ฒ ํ•™์— ๋”ฐ๋ผ ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ ๋„ ํ•จ.)
    • ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” Unix๊ฐ€ ์•„๋‹˜. ๊ทธ๋Ÿฌ๋‚˜ Unix-like๋ผ๊ณ  ๋ถ€๋ฆ„.
  • BSD๋Š” ๋˜ ๋ฌด์Šจ ๋ง์ž„?? Pintos ๊ณผ์ œํ•  ๋•Œ๋Š” 4.4BSD๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ์—ˆ์Œ.
    • ๋ฒ„ํด๋ฆฌ ๋Œ€ํ•™์—์„œ Unix ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•œ ์šด์˜์ฒด์ œ
    • BSD ์ž์ฒด์— ๋Œ€ํ•œ ๊ฒƒ๋ณด๋‹ค๋Š” ์š”๊ฒŒ BSD ๋ผ์ด์„ ์Šค์˜ ์‹œ์ž‘์ด๋ผ๋Š” ์ .
    • ๊ทธ๋ฆฌ๊ณ  BSD ๋ผ์ด์„ ์Šค๋Š” ์ฝ”๋“œ ์‚ฌ์šฉ๊ณผ ์ˆ˜์ •์ด ์ž์œ ๋กญ๊ณ , ์ƒ์—…์ ์œผ๋กœ ์ด์šฉํ•ด๋„ ๋˜๋Š”๋ฐ ์†Œ์Šค์ฝ”๋“œ๋„ ๊ณต๊ฐœ ์•ˆ ํ•ด๋„ ๋œ๋‹ค๋Š” ์ ์ด ์ฃผ๋ชฉํ•  ๋ถ€๋ถ„.
  • MacOS๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
    • Unix์— ์†ํ•จ. ์ •ํ™•ํ•˜๊ฒŒ๋Š” BSD๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Unix.
  • Windows๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
    • Unix๋„ ์•„๋‹ˆ๊ณ  Linux๋„ ์•„๋‹˜!!! ๐Ÿ˜ฒ
    • 1990๋…„์— ์ถœ์‹œ๋œ Windows NT๋ผ๋Š” ์ž์ฒด ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ.
    • ๊ทธ๋ž˜์„œ Windows๊ฐ€ ๋‹ค๋ฅธ Unix/Linux ๊ณ„์—ด OS์™€ ์•„์ฃผ ๋งŽ์ด ๋‹ค๋ฅธ ๊ฒƒ์ž„.
  • Debian์€ ๋˜ ๋ญ์ž„??
    • Linux ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฐฐํฌํŒ ์ค‘ ํ•˜๋‚˜์ž„.
  • Ubuntu๋Š” ๋‘˜ ์ค‘์— ์–ด๋–ค ๊ฑฐ์ž„?
    • Debian์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Linux ๋ฐฐํฌํŒ์ž„.
    • Debian์˜ 2004๋…„ ๋ฒ„์ „์—์„œ ํŒŒ์ƒ๋œ ๋…€์„์ž„.
    • ๊ทธ๋ž˜์„œ ๋‘˜์ด ๋งŽ์€ ํŒจํ‚ค์ง€์™€ ๊ตฌ์กฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ , ๊ณตํ†ต์ ์œผ๋กœ apt๋ฅผ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•จ.
  • POSIX ๊ทœ๊ฒฉ์„ ๋”ฐ๋ฅธ๋‹ค๋Š”๋ฐ ๊ทธ๊ฒŒ ๋ฌด์Šจ ๋ง์ž„?
    • ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด, ์šด์˜์ฒด์ œ์˜ ๋™์ž‘์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์ฆ


๊ฐ™์ด ํšŒ์‚ฌ๋ฅผ ๋‹ค๋‹ˆ๋Š” ๋ถ„ ์ค‘์—, ๊ฐœ์ธ ๋…ธํŠธ๋ถ์— Arch Linux๋ฅผ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•˜์‹œ๋˜ ๋ถ„๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ์˜จํ”„๋ ˆ๋ฏธ์Šค ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š” ๋‹ค๋ฅธ ํšŒ์‚ฌ ์ง€์ธ์€ ์ง์ ‘ ๊นกํ†ต ์ปดํ“จํ„ฐ์— ์šด์˜์ฒด์ œ ์„ค์น˜๋ถ€ํ„ฐ ๋ณธ์ธ์ด ํ•˜๊ธฐ๋„ ํ•œ๋‹ค๊ณ  ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณด๋ฉด, AWS์—์„œ ๋ฒ„ํŠผ ํ•˜๋‚˜๋กœ EC2 ๋จธ์‹ ์„ ๋„์šฐ๊ณ  ํ•˜๋Š”๊ฒŒ ํŽธํ–ˆ์ง€๋งŒ, Unix๋‚˜ Linux ์ด๋Ÿฐ ๊ฐœ๋…๊ณผ ์—ญ์‚ฌ์— ๋Œ€ํ•ด์„  ๋ฉ€์–ด์ง€๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•”ํŠผ ์•ž์œผ๋กœ ์–ด๋–ค ์ผ์„ ํ• ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ, ์—ญ์‹œ ์„ธ์ƒ์—๋Š” ๊ณต๋ถ€ํ•˜๊ณ  ๊ฐœ๋ฐœํ• ๊ฒŒ ์ฐธ ๋งŽ์€ ๊ฒƒ ๊ฐ™๋„ค์š” ๐Ÿƒ ์ด๋Ÿฐ ๋ง›์— ๊ฐœ๋ฐœ์ž ํ•˜๋Š” ๊ฑฐ์ฃ ^^