Një kernel Maestro, i shkruar në Rust dhe pjesërisht i pajtueshëm me Linux

ËshtĂ« paraqitur njĂ« projekt pĂ«r zhvillimin e njĂ« bĂ«rthame tĂ« lehtĂ« Unix-like nĂ« gjuhĂ«n Rust, qĂ« implementon njĂ« nĂ«ngrup tĂ« thirrjeve sistemore tĂ« bĂ«rthamĂ«s Linux, tĂ« mjaftueshme pĂ«r krijimin e mjediseve tipike tĂ« punĂ«s. Projekti u krijua nĂ« vitin 2018 dhe fillimisht pĂ«rdori gjuhĂ«n C, por nĂ« vitin 2020 u rilancua plotĂ«sisht nga fillimi duke marrĂ« parasysh pĂ«rvojĂ«n e grumbulluar dhe kaloi nĂ« Rust pĂ«r tĂ« zvogĂ«luar probabilitetin e gabimeve qĂ« ndodhin kur punoni me memorien. Kodi i bĂ«rthamĂ«s shpĂ«rndahet nĂ«n licencĂ«n MIT. PĂ«rveç bĂ«rthames, projekti nĂ« gjuhĂ«n Rust gjithashtu zhvillon X11-server, menaxhues paketa, ngarkues, instalues, grupe mjetesh dhe komponente tĂ« tjera tĂ« nevojshme pĂ«r ndĂ«rtimin e njĂ« sistemi operativ.

Nukleusi ka njĂ« arkitekturĂ« monolitike dhe aktualisht mbĂ«shtet vetĂ«m sistemet x86 nĂ« modalitetin 32-bit. Baza e kodit tĂ« nukleusit pĂ«rmban 48.8 mijĂ« rreshta kodi (pĂ«r krahasim, nĂ« nukleusin Linux janĂ« 33 milion rreshta kodi). ËshtĂ« e mundur tĂ« nisni nĂ« QEMU, VirtualBox ose mbi hardware. NĂ« kĂ«tĂ« fazĂ« tĂ« zhvillimit, Maestro ka implementuar 31% (135 nga 437) thirrjeve sistemore tĂ« Linux, qĂ« Ă«shtĂ« e mjaftueshme pĂ«r ngarkimin e ambientit tĂ« konzolĂ«s mbi bazĂ«n e bash-it dhe bibliotekĂ«s standarde C Musl. NĂ« ambientin mbi bazĂ«n e Maestro gjithashtu mund tĂ« ekzekutohen disa utilitete nga paketa GNU coreutils, si ls, cat, mkdir, rm, rmdir, uname dhe whoami.

Një kernel Maestro, i shkruar në Rust dhe pjesërisht i pajtueshëm me Linux

Mes mundësive të disponueshme në Maestro:

  • Drejta pĂ«r tastierĂ« PS/2 dhe terminal me modalitet tekstual dhe mbĂ«shtetje tĂ« pjesshme pĂ«r sekuenca ANSI.
  • Sistemi i shpĂ«rndarjes sĂ« memories, qĂ« mbĂ«shtet memorjen virtuale.
  • Planifikuesi i detyrave i bazuar nĂ« algoritmin round-robin me mbĂ«shtetje pĂ«r sinjalet POSIX.
  • PĂ«rcaktimi i pajisjeve PCI.
  • Drejta IDE/PATA.
  • Sistemi i skedave Ext2.
  • MbĂ«shtetje pĂ«r sistemi virtual tĂ« skedave /tmp dhe /proc.
  • MbĂ«shtetje pĂ«r montimin e sistemeve tĂ« skedave dhe pjesĂ«ve tĂ« diskut MBR dhe GPT.
  • MbĂ«shtetje pĂ«r initramfs.
  • Drejta RTC pĂ«r timer dhe kohĂ« tĂ« saktĂ«.
  • MbĂ«shtetje pĂ«r ngarkimin e moduleve tĂ« nukleusit.
  • MundĂ«sia pĂ«r tĂ« nisur skedarĂ« ekzekutivĂ« nĂ« formatin ELF.

Aktualisht po punohet në krijimin e një staku rrjeti, pas gatishmërisë së të cilit planifikohet përkrahja e mapimit të drejtpërdrejtë të skedarëve në memorie dhe bibliotekave të ndara.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster