Ang proyekto ng SerenityOS ay bumuo ng isang Unix-like OS na may graphical na interface

Sa mga hangganan ng proyekto Katahimikan Isang grupo ng mga mahilig sa pagbuo ng isang Unix-like na operating system para sa x86 architecture, nilagyan ng sarili nitong kernel at graphical interface, na idinisenyo sa istilo ng mga operating system noong huling bahagi ng 1990s. Ang pag-unlad ay isinasagawa mula sa simula, para sa kapakanan ng interes at hindi batay sa code ng mga umiiral na operating system. Kasabay nito, itinakda ng mga may-akda ang kanilang sarili ng layunin na dalhin ang SerenityOS sa isang antas na angkop para sa pang-araw-araw na gawain, na pinapanatili ang mga aesthetics ng mga late 90s system, ngunit dagdagan ito ng mga kapaki-pakinabang na ideya para sa mga may karanasang user mula sa mga modernong system. Ang code ay nakasulat sa C++ at naibigay sa ilalim ng lisensya ng BSD.

Ang proyekto ay isang magandang halimbawa ng katotohanan na sa pamamagitan ng pagtatakda ng isang tiyak na layunin at unti-unting araw-araw sumulong bilang isang libangan, maaari kang lumikha ng isang ganap na gumaganang OS at kasangkot mga taong katulad ng pag-iisip. Kasama sa iba pang mga proyekto ng parehong may-akda ang: computer, isang PC emulator na may i2003 na processor na binuo mula noong 386.

Ang proyekto ng SerenityOS ay bumuo ng isang Unix-like OS na may graphical na interface

Mga tampok na magagamit sa kasalukuyang yugto ng pag-unlad:

  • Preemptive multitasking;
  • Multithreading;
  • Composite at window server WindowServer;
  • Sariling balangkas para sa pagbuo ng mga graphical na aplikasyon LibGUI na may isang hanay ng mga widget;
  • Kapaligiran para sa visual na disenyo ng mga interface ng application;
  • Network stack na sumusuporta sa ARP, TCP, UDP at ICMP. Pag-aari DNS resolver;
  • Ext2 based na file system (sariling pagpapatupad sa C++);
  • Unix-like standard C library (LibC) At nakatakda karaniwang mga utility ng user (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime, atbp.);
  • Command line shell na may suporta para sa mga pipe at I/O redirection;
  • Suporta para sa mmap() at mga executable na file sa ELF format;
  • Pagkakaroon ng pseudo-FS /proc;
  • Suporta para sa mga lokal na Unix socket;
  • Suporta para sa mga pseudo-terminal at /dev/pts;
  • Aklatan LibCore upang bumuo ng mga epektibong tagapangasiwa ng kaganapan (Event loop);
  • Suporta sa library ng SDL;
  • suporta sa imahe ng PNG;
  • Isang set ng mga built-in na application: text editor, file manager, ilang laro (Minesweeper at Snake), interface para sa paglulunsad ng mga programa, font editor, file download manager, terminal emulator;

Pinagmulan: opennet.ru

Magdagdag ng komento