๋ฌด๋ฃŒ ์šด์˜ ์ฒด์ œ Visosys 0.9 ์ถœ์‹œ

๋งˆ์ง€๋ง‰ ์ค‘์š”ํ•œ ๋ฆด๋ฆฌ์Šค ์ดํ›„ ๊ฑฐ์˜ XNUMX๋…„์ด ์ง€๋‚œ ํ›„ ์ผ์–ด๋‚ฌ๋‹ค ์‹œ๊ฐ์  ์šด์˜ ์ฒด์ œ ๋ฆด๋ฆฌ์Šค ๋น„์†์‹œ์Šค 0.9 (VISual OPerating SYStem), 1997๋…„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ Windows ๋ฐ Unix์™€ ์œ ์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ฝ”๋“œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์†Œ์Šค ์ฝ”๋“œ๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํŒ… ๊ฐ€๋Šฅํ•œ ๋ผ์ด๋ธŒ ์ด๋ฏธ์ง€ ์ ์œ ํ•˜๋‹ค 21MB.

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ˜•์„ฑ๋˜๋Š” ๊ทธ๋ž˜ํ”ฝ ํ•˜์œ„ ์‹œ์Šคํ…œ์€ OS ์ปค๋„์— ์ง์ ‘ ํ†ตํ•ฉ๋˜๋ฉฐ ์ฝ˜์†” ๋ชจ๋“œ์—์„œ์˜ ์ž‘์—…๋„ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ชจ๋“œ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ค‘ FAT32๊ฐ€ ์ œ๊ณต๋˜๋ฉฐ, ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ๋Š” Ext2/3/4๊ฐ€ ์ถ”๊ฐ€๋กœ ์ง€์›๋ฉ๋‹ˆ๋‹ค. Visopsys๋Š” ์„ ์ ํ˜• ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ, ๋„คํŠธ์›Œํฌ ์Šคํƒ, ๋™์  ์—ฐ๊ฒฐ, ๋น„๋™๊ธฐ I/O ๋ฐ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ธํŠธ์™€ ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„์€ 32๋น„ํŠธ ๋ณดํ˜ธ ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๋Œ€๊ทœ๋ชจ ๋ชจ๋†€๋ฆฌ์‹ ์Šคํƒ€์ผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ชจ๋“  ๊ฒƒ์ด ๋ชจ๋“ˆ ์ง€์› ์—†์ด ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค). ์‹คํ–‰ ํŒŒ์ผ์€ ํ‘œ์ค€ ELF ํ˜•์‹์œผ๋กœ ํ˜•์‹ํ™”๋ฉ๋‹ˆ๋‹ค. JPG, BMP ๋ฐ ICO ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์ง€์›์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ์šด์˜ ์ฒด์ œ Visosys 0.9 ์ถœ์‹œ

ะ’ ์ƒˆ๋กœ์šด ๋ฌธ์ œ:

  • TCP ์Šคํƒ ๋ฐ DHCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋œ ๋ณ„๋„์˜ ์„น์…˜์ด "ํ”„๋กœ๊ทธ๋žจ" ๋ฐ "๊ด€๋ฆฌ" ์„น์…˜์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ์Šค๋‹ˆํ•‘(ํŒจํ‚ท ์Šค๋‹ˆํผ)์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ๊ณผ netstat, telnet, wget ๋ฐ ํ˜ธ์ŠคํŠธ์™€ ๊ฐ™์€ ํ‘œ์ค€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์œ ๋‹ˆ์ฝ”๋“œ(UTF-8) ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŒจํ‚ค์ง€ ์ƒ์„ฑ, ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜๋ฅผ ์œ„ํ•œ "์†Œํ”„ํŠธ์›จ์–ด" ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ฐ ์ธํ”„๋ผ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์˜ ์˜จ๋ผ์ธ ์นดํƒˆ๋กœ๊ทธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ์—…๋ฐ์ดํŠธ๋œ ๋ชจ์Šต. ์ฐฝ ๋ชจ๋“œ ์‰˜์ด ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ปค๋„ ์ˆ˜์ค€ ์˜ต์…˜์€ ์˜ต์…˜์œผ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค).
  • VMware๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์šฉ ๋งˆ์šฐ์Šค ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • HTTP, XML ๋ฐ HTML ์ž‘์—…์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • C++ ๋Ÿฐํƒ€์ž„์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • getaddrinfo(), getwchar(), mblen(), mbslen(), putwchar(), wcscmp(), wcscpy(), wcslen(), wcstombs()๋ฅผ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด Libc ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • POSIX ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(pthreads)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๋ช…๋ช…๋˜์ง€ ์•Š์€ ํŒŒ์ดํ”„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปค๋„์—๋Š” SHA1 ๋ฐ SHA256 ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์ด์ „์—๋Š” MD5๊ฐ€ ์ œ๊ณต๋จ)์— ๋Œ€ํ•œ ์ง€์›์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ sha1sum ๋ฐ sha256sum ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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