เป‚เบ„เบ‡เบเบฒเบ™ SerenityOS เบžเบฑเบ”เบ—เบฐเบ™เบฒ OS เบ„เป‰เบฒเบเบ„เบท Unix เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบเบฃเบฒเบŸเบดเบ

เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Serenity เบเบธเปˆเบกเบ—เบตเปˆเบเบฐเบ•เบทเบฅเบทเบฅเบปเป‰เบ™เบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Unix เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ x86, เบžเป‰เบญเบกเบเบฑเบš kernel เปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบเบฒเบŸเบดเบ, เบญเบญเบเปเบšเบšเปƒเบ™เปเบšเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปƒเบ™เบ—เป‰เบฒเบเบŠเบธเบกเบ›เบต 1990. เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบˆเบฒเบ scratch, เบชเปเบฒเบฅเบฑเบš sake เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เบœเบนเป‰เบ‚เบฝเบ™เป„เบ”เป‰เบ•เบฑเป‰เบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเป€เบญเบปเบฒ SerenityOS เป„เบ›เบชเบนเปˆเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ›เบฐเบˆเปเบฒเบงเบฑเบ™, เบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบ‡เบฒเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปƒเบ™เบ—เป‰เบฒเบ 90s, เปเบ•เปˆเป€เบชเบตเบกเบกเบฑเบ™เบ”เป‰เบงเบเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบˆเบฒเบเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก. เบฅเบฐเบซเบฑเบ”เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C ++ เปเบฅเบฐ เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD.

เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเป‚เบ”เบเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเป‚เบ”เบเบกเบทเป‰เบ•เปเปˆเบกเบทเป‰ เบเป‰เบฒเบงเป„เบ›เบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒ เป€เบ›เบฑเบ™เบงเบฝเบเบญเบฐเบ”เบดเป€เบฅเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡ OS เบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเปเบฅเบฐเบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบก เบ„เบปเบ™เบ—เบตเปˆเบกเบตเปƒเบˆเบ”เบฝเบงเบเบฑเบ™. เป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†เป‚เบ”เบเบœเบนเป‰เบ‚เบฝเบ™เบ”เบฝเบงเบเบฑเบ™เบ›เบฐเบเบญเบšเบกเบต: เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบต, emulator PC เบ—เบตเปˆเบกเบตเป‚เบ›เป€เบŠเบ”เป€เบŠเบต i2003 เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 386.

เป‚เบ„เบ‡เบเบฒเบ™ SerenityOS เบžเบฑเบ”เบ—เบฐเบ™เบฒ OS เบ„เป‰เบฒเบเบ„เบท Unix เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบเบฃเบฒเบŸเบดเบ

เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™:

  • เบงเบฝเบเบซเบผเบฒเบเบงเบฝเบเบฅเปˆเบงเบ‡เปœเป‰เบฒ;
  • Multithreading;
  • Composite เปเบฅเบฐ window server เป€เบŠเบตเบšเป€เบงเบตเบงเบดเบ™เป‚เบ”;
  • เบเบญเบšเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบฒเบŸเบดเบ LibGUI เบเบฑเบšเบŠเบธเบ”เบ‚เบญเบ‡ widget;
  • เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเบชเบฒเบเบ•เบฒเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ;
  • เป€เบ„เบทเบญเบ‚เปˆเบฒเบ stack เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ ARP, TCP, UDP เปเบฅเบฐ ICMP. เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ เบ•เบปเบงเปเบเป‰เป„เบ‚ DNS;
  • เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Ext2 (เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹เป€เบญเบ‡โ€‹ เปƒเบ™ C++);
  • Unix เบ„เป‰เบฒเบเบ„เบทเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (LibC) เปเบฅเบฐ เบ•เบฑเป‰เบ‡ เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ› (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime, เปเบฅเบฐเบญเบทเปˆเบ™เป†);
  • เปเบเบฐเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เปเปˆเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ I / O;
  • เบฎเบญเบ‡เบฎเบฑเบš mmap() เปเบฅเบฐเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™เบฎเบนเบšเปเบšเบš ELF;
  • เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ pseudo-FS / proc;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบฑเบญเบเป€เบเบฑเบ” Unix เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš pseudo-terminals เปเบฅเบฐ /dev/pts;
  • เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” LibCore เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบซเบ”เบเบฒเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš (Event loop);
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” SDL;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเบžเบฒเบš PNG;
  • เบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบ•เบปเบง: เบ•เบปเบงเปเบเป‰เป„เบ‚เบ‚เปเป‰เบ„เบงเบฒเบก, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เป„เบŸเบฅเปŒ, เป€เบเบกเบซเบผเบฒเบ (Minesweeper เปเบฅเบฐ Snake), เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ„เบ‡เบเบฒเบ™, เบ•เบปเบงเปเบเป‰เป„เบ‚เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบŸเบฅเปŒ, terminal emulator;

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™