Het SerenityOS-project ontwikkelt een Unix-achtig besturingssysteem met een grafische interface

Binnen de grenzen van het project Serenity Een groep enthousiastelingen ontwikkelt een Unix-achtig besturingssysteem voor de x86-architectuur, uitgerust met een eigen kernel en grafische interface, ontworpen in de stijl van besturingssystemen van eind jaren negentig. De ontwikkeling wordt vanuit het niets uitgevoerd, uit interesse, en is niet gebaseerd op de code van bestaande besturingssystemen. Tegelijkertijd stelden de auteurs zichzelf ten doel om SerenityOS op een niveau te brengen dat geschikt is voor het dagelijkse werk, waarbij de esthetiek van systemen uit de late jaren 1990 behouden blijft, maar deze wordt aangevuld met nuttige ideeΓ«n voor ervaren gebruikers van moderne systemen. De code is geschreven in C++ en geleverde onder BSD-licentie.

Het project is een goed voorbeeld van het feit dat je door een specifiek doel te stellen, beetje bij beetje, van dag tot dag vooruit gaan als hobby kun je een volledig functioneel besturingssysteem maken en erbij betrekken mensen die hetzelfde denken. Andere projecten van dezelfde auteur zijn onder meer: computer, een pc-emulator met een i2003-processor in ontwikkeling sinds 386.

Het SerenityOS-project ontwikkelt een Unix-achtig besturingssysteem met een grafische interface

Functies die beschikbaar zijn in de huidige ontwikkelingsfase:

  • Preventief multitasken;
  • Multithreading;
  • Composiet- en vensterserver WindowServer;
  • Eigen raamwerk voor het ontwikkelen van grafische applicaties LibGUI met een set widgets;
  • Omgeving voor visueel ontwerp van applicatie-interfaces;
  • Netwerkstack die ARP, TCP, UDP en ICMP ondersteunt. Eigen DNS-resolver;
  • Op Ext2 gebaseerd bestandssysteem (eigen implementatie in C++);
  • Unix-achtige standaard C-bibliotheek (LibC) En ingesteld typische gebruikershulpprogramma's (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime, enz.);
  • Commandoregelshell met ondersteuning voor pipelines en I/O-omleiding;
  • Ondersteuning voor mmap() en uitvoerbare bestanden in ELF-formaat;
  • Aanwezigheid van pseudo-FS /proc;
  • Ondersteuning voor lokale Unix-sockets;
  • Ondersteuning voor pseudo-terminals en /dev/pts;
  • bibliotheek LibCore het ontwikkelen van effectieve event handlers (Event loop);
  • Ondersteuning voor SDL-bibliotheken;
  • Ondersteuning voor PNG-afbeeldingen;
  • Een reeks ingebouwde applicaties: teksteditor, bestandsbeheerder, verschillende games (Minesweeper en Snake), interface voor het starten van programma's, lettertype-editor, bestandsdownloadmanager, terminalemulator;

Bron: opennet.ru

Voeg een reactie