๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SW/ROS2 & Linux

Linux Basic

๋ˆ„๊ฐ€ ๊ฐœ๋ฐœํ–ˆ๋‚˜?

 ํ•€๋ž€๋“œ ํ—ฌ์‹ฑํ‚ค๋Œ€ํ•™์— ๋‹ค๋‹ˆ๋˜ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฐœ์ฆˆ(Linus Benedict Torvalds)๊ฐ€ ์ทจ๋ฏธ์‚ผ์•„ ๊ฐœ๋ฐœํ•˜๋˜ ์ปค๋„์„ 1991.09.17 ์ธํ„ฐ๋„ท์— ์˜ฌ๋ ค๋ฒ„๋ฆฐ๊ฒŒ ํ™”๊ทผ.์ดํ›„ ์ „์„ธ๊ณ„์˜ ์ˆ˜๋งŽ์€ ํ•ด์ปค๋“ค๊ณผ ํšŒ์‚ฌ๋“ค์ด ๋„์™€ ๊ฐœ๋ฐœํ•˜๊ฒŒ๋จ.

 

 

Unix๋Š” 

โ”” Multi User System ๋™์‹œ์— ์—ฌ๋Ÿฌ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

โ”” Multi process ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

โ”” Multi Core

โ”” Multi Processor ๋‹ค์ค‘ CPU์ง€์›๋จ

โ”” Linux๋Š” ๊ธฐ๋ณธ์ ์ธ ๋‹จ์ผ ์œ ๋‹‰์Šค ๊ทœ๊ฒฉ(Single UNIX Specification๋กœ ์šด์˜์ฒด์ œ์— '์œ ๋‹‰์Šค'๋ผ๋Š” ๋ช…์นญ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผํ•˜๋Š” ํ‘œ์ค€ ๊ทœ๊ฒฉ์ด๋‹ค. ์ดํ•˜ SUS)์— ๋”ฐ๋ฅธ๋‹ค.  ๋”ฐ๋ผ์„œ ํƒ€ UNIX๊ธฐ๋ฐ˜์˜ OS์—์„œ ๊ฐœ๋ฐœํ•œ application์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ, Multi User System์ด๋ž€ ์‚ฌ์šฉ์ž๋ณ„ ๊ฐ๊ฐ์˜ ๊ณ„์ •๊ณผ password๊ฐ€ ์กด์žฌํ•˜๊ณ  home directory๋ผ๋Š” ๊ณต๊ฐ„์ด ์กด์žฌํ•˜๋Š” ์‹œ์Šคํ…œ ๋ณด์•ˆ ํ™˜๊ฒฝ์„ ์–˜๊ธฐํ•จ.

 

 

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

Linux OS
Kernel Device driver System Library Shell Utility Xwindow

 

 

์ปค๋„(Kernel)

์ค‘์‹ฌ๋ถ€, ํ•ต์‹ฌ ์ด๋ผ๋Š” ๋œป์ธ๋ฐ, ์ด๋Š” OS๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํ† ๋Œ€๋กœ์„œ ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ํ”„๋กœ์„ธ์Šค ๋“ฑ์˜ H/W๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  application์ด kernel๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก API(Application Programming Interface)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

Linux์—์„œ๋Š” Console์ด๋‚˜ Terminal์„ ํ†ตํ•œ Shell์„ ์‚ฌ์šฉํ•ด utility๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ.

์ด๋Ÿฐ Interface ์ž์ฒด๋ฅผ CLI(Command Line Interface)๋ผ๊ณ  ํ•œ๋‹ค.

 

//Xwindow๋Š” UNIX์˜ ํ‘œ์ค€ GUI system์ž„