์ด์ „ 0.6๋น„ํŠธ Intel ํ”„๋กœ์„ธ์„œ์šฉ Linux ์ปค๋„ ๋ณ€ํ˜•์ธ ELKS 16 ์ถœ์‹œ

0.6๋น„ํŠธ Intel 16, 8086, 8088, 80188, 80186 ๋ฐ NEC V80286/V20 ํ”„๋กœ์„ธ์„œ์šฉ Linux์™€ ์œ ์‚ฌํ•œ ์šด์˜ ์ฒด์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ELKS 30 ํ”„๋กœ์ ํŠธ(Embeddable Linux Kernel Subset)์˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OS๋Š” ๊ตฌํ˜• IBM-PC XT/AT ํด๋ž˜์Šค ์ปดํ“จํ„ฐ์™€ IA16 ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋Š” SBC/SoC/FPGA์—์„œ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” 1995๋…„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜์–ด ์™”์œผ๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜(MMU)๊ฐ€ ์—†๋Š” ์žฅ์น˜์šฉ Linux ์ปค๋„์˜ ํฌํฌ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ํ”Œ๋กœํ”ผ ๋””์Šคํฌ์— ๊ธฐ๋กํ•˜๊ฑฐ๋‚˜ QEMU ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์Šคํƒ์—๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” Linux ์ปค๋„์˜ ํ‘œ์ค€ TCP/IP ์Šคํƒ์ด๊ณ  ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์‹คํ–‰๋˜๋Š” ktcp ์Šคํƒ์ž…๋‹ˆ๋‹ค. NE2K ๋ฐ SMC์™€ ํ˜ธํ™˜๋˜๋Š” ์ด๋”๋„ท ์–ด๋Œ‘ํ„ฐ๋Š” ๋„คํŠธ์›Œํฌ ์นด๋“œ์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค. SLIP ๋ฐ CSLIP์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง๋ ฌ ํฌํŠธ๋ฅผ ํ†ตํ•ด ํ†ต์‹  ์ฑ„๋„์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์—๋Š” Minix v1, FAT12, FAT16 ๋ฐ FAT32๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํŒ… ํ”„๋กœ์„ธ์Šค๋Š” /etc/rc.d/rc.sys ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

16๋น„ํŠธ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•œ Linux ์ปค๋„ ์™ธ์—๋„ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ‘œ์ค€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ(ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo, ๋“ฑ), bash ํ˜ธํ™˜ ๋ช…๋ น ํ•ด์„๊ธฐ, ํ™”๋ฉด ์ฝ˜์†” ์ฐฝ ๊ด€๋ฆฌ์ž, Kilo ๋ฐ vi ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ, Nano-X X ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ํŒŒ์ผ ํ˜•์‹์„ ํฌํ•จํ•˜์—ฌ ๋งŽ์€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ Minix์—์„œ ์ฐจ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ROM์— ํ”Œ๋ž˜์‹œ๋œ ์›Œํฌ์Šคํ…Œ์ด์…˜ ๋ฐ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•œ BASIC ์–ธ์–ด ํ•ด์„๊ธฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ(LOAD/SAVE/DIR) ๋ฐ ๊ทธ๋ž˜ํ”ฝ(MODE, PLOT, CIRCLE ๋ฐ DRAW) ์ž‘์—…์„ ์œ„ํ•œ ๋ช…๋ น์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • tar ์•„์นด์ด๋ธŒ ์ž‘์—…์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • man ๋งค๋‰ด์–ผ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด man ๋ฐ eman ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ์••์ถ•๋œ man ํŽ˜์ด์ง€ ํ‘œ์‹œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Bash ๊ตฌํ˜„์—๋Š” ๋‚ด์žฅ ํ…Œ์ŠคํŠธ ๋ช…๋ น("[")์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • "net restart" ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. nslookup ๋ช…๋ น์ด ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • mount ๋ช…๋ น์— ๋งˆ์šดํŠธ๋œ ํŒŒํ‹ฐ์…˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • FAT ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ํŒŒํ‹ฐ์…˜์—์„œ ls ๋ช…๋ น์˜ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • NE8K ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„์˜ 2๋น„ํŠธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ๋ฐ ์ง€์›์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • FTP ์„œ๋ฒ„ ftpd๊ฐ€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์–ด SITE ๋ช…๋ น์— ๋Œ€ํ•œ ์ง€์›๊ณผ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์„ค์ • ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ in_gethostbyname ํ˜ธ์ถœ์„ ํ†ตํ•ด DNS ์ด๋ฆ„ ํ™•์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ „์ฒด ๋””์Šคํฌ๋ฅผ sys ๋ช…๋ น์— ๋ณต์‚ฌํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜ธ์ŠคํŠธ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ์„ค์ • ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LOCALIP=, HOSTNAME=, QEMU=, TZ=, sync= ๋ฐ bufs= ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ /bootopts์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • PC-98 ์ปดํ“จํ„ฐ์šฉ ํฌํŠธ์— SCSI ๋ฐ IDE ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ๊ณ , ์ƒˆ๋กœ์šด BOOTCS ๋ถ€ํŠธ๋กœ๋”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, ์™ธ๋ถ€ ํŒŒ์ผ์—์„œ ๋กœ๋”ฉ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, ๋””์Šคํฌ ํŒŒํ‹ฐ์…˜ ์ง€์›์ด ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 8018X ํ”„๋กœ์„ธ์„œ์šฉ ํฌํŠธ์—๋Š” ROM์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ˆ˜ํ•™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ printf/sprintf, strtod, fcvt, ecvt ํ•จ์ˆ˜์—์„œ ๋ถ€๋™ ์†Œ์ˆ˜์  ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. strcmp ํ•จ์ˆ˜ ์ฝ”๋“œ๊ฐ€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์–ด ์ƒ๋‹นํžˆ ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. printf ํ•จ์ˆ˜์˜ ๋ณด๋‹ค ๊ฐ„๊ฒฐํ•œ ๊ตฌํ˜„์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. in_connect ๋ฐ in_resolv ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปค๋„์€ FAT ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐœ์„ ํ•˜๊ณ , ์ตœ๋Œ€ ๋งˆ์šดํŠธ ์ง€์  ์ˆ˜๋ฅผ 6์œผ๋กœ ๋Š˜๋ ธ๊ณ , ์‹œ๊ฐ„๋Œ€ ์„ค์ •์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ , uname, usatfs ๋ฐ ๊ฒฝ๋ณด ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ•˜๊ณ , ํƒ€์ด๋จธ ์ž‘์—…์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.



์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€