ืคืจื•ื™ืงื˜ SerenityOS ืžืคืชื— ืžืขืจื›ืช ื”ืคืขืœื” ื“ืžื•ื™ืช Unix ืขื ืžืžืฉืง ื’ืจืคื™

ื‘ืžืกื’ืจืช ื”ืคืจื•ื™ืงื˜ ืจื•ื’ืข ืงื‘ื•ืฆืช ื—ื•ื‘ื‘ื™ื ืžืคืชื—ืช ืžืขืจื›ืช ื”ืคืขืœื” ื“ืžื•ื™ืช Unix ืœืืจื›ื™ื˜ืงื˜ื•ืจืช x86, ื”ืžืฆื•ื™ื“ืช ื‘ืœื™ื‘ื” ื•ืžืžืฉืง ื’ืจืคื™ ืžืฉืœื”, ื”ืžืขื•ืฆื‘ืช ื‘ืกื’ื ื•ืŸ ืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ืฉืœ ืกื•ืฃ ืฉื ื•ืช ื”-1990. ื”ืคื™ืชื•ื— ืžืชื‘ืฆืข ืžืืคืก, ืœืฉื ื”ืขื ื™ื™ืŸ ื•ืื™ื ื• ืžื‘ื•ืกืก ืขืœ ื”ืงื•ื“ ืฉืœ ืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ื”ืงื™ื™ืžื•ืช. ื‘ืžืงื‘ื™ืœ, ื”ื›ื•ืชื‘ื™ื ืฉืžื• ืœืขืฆืžื ืœืžื˜ืจื” ืœื”ื‘ื™ื ืืช SerenityOS ืœืจืžื” ื”ืžืชืื™ืžื” ืœืขื‘ื•ื“ื” ื™ื•ืžื™ื•ืžื™ืช, ืชื•ืš ืฉืžื™ืจื” ืขืœ ื”ืืกืชื˜ื™ืงื” ืฉืœ ืžืขืจื›ื•ืช ืกื•ืฃ ืฉื ื•ืช ื”-90, ืืš ืžืฉืœื™ืžื” ืื•ืชื” ื‘ืจืขื™ื•ื ื•ืช ืฉื™ืžื•ืฉื™ื™ื ืœืžืฉืชืžืฉื™ื ืžื ื•ืกื™ื ืžืžืขืจื›ื•ืช ืžื•ื“ืจื ื™ื•ืช. ื”ืงื•ื“ ื›ืชื•ื‘ ื‘-C++ ื• ืžืกื•ืคืง ืชื—ืช ืจื™ืฉื™ื•ืŸ BSD.

ื”ืคืจื•ื™ืงื˜ ื”ื•ื ื“ื•ื’ืžื” ื˜ื•ื‘ื” ืœืขื•ื‘ื“ื” ืฉืขืœ ื™ื“ื™ ื”ืฆื‘ืช ื™ืขื“ ืกืคืฆื™ืคื™ ื•ืœืื˜ ืœืื˜ ืžื™ื•ื ืœื™ื•ื ื ืข ืงื“ื™ืžื” ื›ืชื—ื‘ื™ื‘, ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืžืขืจื›ืช ื”ืคืขืœื” ืคื•ื ืงืฆื™ื•ื ืœื™ืช ืžืœืื” ื•ืœืขืจื‘ ืื ืฉื™ื ื‘ืขืœื™ ื“ืขื•ืช ื“ื•ืžื•ืช. ืคืจื•ื™ืงื˜ื™ื ื ื•ืกืคื™ื ืฉืœ ืื•ืชื• ืžื—ื‘ืจ ื›ื•ืœืœื™ื: ืงื•ืžืคื•ื˜ืจื•ืŸ, ืืžื•ืœื˜ื•ืจ PC ืขื ืžืขื‘ื“ i2003 ื‘ืคื™ืชื•ื— ืžืื– 386.

ืคืจื•ื™ืงื˜ SerenityOS ืžืคืชื— ืžืขืจื›ืช ื”ืคืขืœื” ื“ืžื•ื™ืช Unix ืขื ืžืžืฉืง ื’ืจืคื™

ืชื›ื•ื ื•ืช ื”ื–ืžื™ื ื•ืช ื‘ืฉืœื‘ ื”ืคื™ืชื•ื— ื”ื ื•ื›ื—ื™:

  • ืจื™ื‘ื•ื™ ืžืฉื™ืžื•ืช ืžื•ื ืข;
  • ืจื™ื‘ื•ื™ ื”ืฉืจืฉื•ืจื™ื;
  • ืฉืจืช ืžืจื•ื›ื‘ ื•ื—ืœื•ืŸ WindowServer;
  • ืžืกื’ืจืช ืžืฉืœื• ืœืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ื’ืจืคื™ื•ืช LibGUI ืขื ืกื˜ ืฉืœ ื•ื•ื™ื“ื’'ื˜ื™ื;
  • ืกื‘ื™ื‘ื” ืœืขื™ืฆื•ื‘ ื—ื–ื•ืชื™ ืฉืœ ืžืžืฉืงื™ ื™ื™ืฉื•ืžื™ื;
  • ืžื—ืกื ื™ืช ืจืฉืช ื”ืชื•ืžื›ืช ื‘-ARP, TCP, UDP ื•-ICMP. ืฉืึถืœื•ึน ืคื•ืชืจ DNS;
  • ืžืขืจื›ืช ืงื‘ืฆื™ื ืžื‘ื•ืกืกืช Ext2 (ื™ื™ืฉื•ื ืžืฉืœื• ื‘-C++);
  • ืกืคืจื™ื™ืช C ืกื˜ื ื“ืจื˜ื™ืช ื“ืžื•ื™ ื™ื•ื ื™ืงืก (LibC) ื• ืœืงื‘ื•ืข ื›ืœื™ ืขื–ืจ ื˜ื™ืคื•ืกื™ื™ื ืœืžืฉืชืžืฉ (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime ื•ื›ื•');
  • ืžืขื˜ืคืช ืฉื•ืจืช ืคืงื•ื“ื” ืขื ืชืžื™ื›ื” ื‘ืฆื™ื ื•ืจื•ืช ื•ื”ืคื ื™ื™ืช ืงืœื˜/ืคืœื˜;
  • ืชืžื™ื›ื” ื‘-mmap() ื•ื‘ืงื‘ืฆื™ ื”ืคืขืœื” ื‘ืคื•ืจืžื˜ ELF;
  • ื ื•ื›ื—ื•ืช ืฉืœ ืคืกืื•ื“ื•-FS /proc;
  • ืชืžื™ื›ื” ื‘ืฉืงืขื™ ื™ื•ื ื™ืงืก ืžืงื•ืžื™ื™ื;
  • ืชืžื™ื›ื” ื‘ืคืกืื•ื“ื•-ื˜ืจืžื™ื ืœื™ื ื•-/dev/pts;
  • ื”ืกืคืจื™ื™ื” LibCore ืœืคืชื— ืžื˜ืคืœื™ ืื™ืจื•ืขื™ื ื™ืขื™ืœื™ื (Event loop);
  • ืชืžื™ื›ื” ื‘ืกืคืจื™ื™ืช SDL;
  • ืชืžื™ื›ื” ื‘ืชืžื•ื ืช PNG;
  • ืกื˜ ื™ื™ืฉื•ืžื™ื ืžื•ื‘ื ื™ื: ืขื•ืจืš ื˜ืงืกื˜, ืžื ื”ืœ ืงื‘ืฆื™ื, ืžืกืคืจ ืžืฉื—ืงื™ื (ืžื•ืงืฉื™ื ื•ื ื—ืฉ), ืžืžืฉืง ืœื”ืคืขืœืช ืชื•ื›ื ื™ื•ืช, ืขื•ืจืš ืคื•ื ื˜ื™ื, ืžื ื”ืœ ื”ื•ืจื“ื•ืช ืงื‘ืฆื™ื, ืืžื•ืœื˜ื•ืจ ืžืกื•ืฃ;

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”