Rust тилинде жазылган Redox OS 0.7 операциялык системасынын релиз

Бир жарым жылдык өнүгүүдөн кийин Rust тилин жана микро ядро ​​концепциясын колдонуу менен иштелип чыккан Redox 0.7 операциялык тутумунун релизи жарыкка чыкты. Долбоордун иштеп чыгуулары акысыз MIT лицензиясы боюнча таратылат. Redox OS тестирлөө үчүн, орнотуу жана Live сүрөттөр сунушталат, өлчөмү 75 МБ. Ассамблеялар x86_64 архитектурасы үчүн түзүлгөн жана UEFI жана BIOS менен системалар үчүн жеткиликтүү.

Жаңы релизди даярдоодо негизги көңүл чыныгы аппараттык камсыздоодо иштөөнү камсыз кылууга бурулган. Негизги инновациялар:

  • Жүктөгүч толугу менен кайра жазылган, анда BIOS жана UEFI менен системаларда жүктөө коду бирдиктүү жана негизинен Rust тилинде жазылган. Жүктөгүчтү өзгөртүү колдоого алынган жабдыктардын спектрин кыйла кеңейтти.
  • Ядродо мүчүлүштүктөрдү оңдоодон тышкары, ишти жакшыртуу жана аппараттык колдоону кеңейтүү боюнча иштер жасалды. CPU үчүн өзгөчө өзгөрмөлөр GS реестрин колдонуу үчүн жылдырылды. Бардык физикалык эстутумду чагылдыруу (карталоо) камсыз кылынат, рекурсивдүү эс баракчаларын колдонуу токтотулат. Киргизилген кыстармалардагы ассемблердин коду компилятордун келечектеги чыгарылыштары менен шайкештикти жакшыртуу үчүн кайра жазылган.
  • AArch64 архитектурасына баштапкы колдоо кошулду.
  • UTF-8 коддоосунда бардык файл жолдорун иштетүүгө которулду.
  • ACPI AML (ACPI Machine Language) спецификациясы менен иштөө коду - uefi.org өзөктөн колдонуучу мейкиндигинде иштеген acpid фон процессине жылдырылды.
  • Initfs мазмуну жаңы файлга жылдырылды, бул пакетти жеңилдетет.
  • RedoxFS файл системасы кайра жазылып, CoW (Copy-on-Write) механизмин колдонууга которулду, мында өзгөртүүлөр маалыматтын үстүнөн жазылбайт, бирок жаңы жерге сакталат, бул ишенимдүүлүктүн олуттуу жогорулашына жетишүүгө мүмкүндүк берди. RedoxFSтин жаңы мүмкүнчүлүктөрүнүн ичинен транзакциялык жаңыртууларды колдоо, AES алгоритмин колдонуу менен маалыматтарды шифрлөө, ошондой эле санариптик кол тамгалар менен маалыматтардын жана метаберилиштердин кепилдиги белгиленет. Системада жана жүктөгүчтө FS кодун жалпы пайдалануу каралган.
  • Долбоор тарабынан иштелип чыккан Relibc стандарттык C китепканасын жакшыртуу улантылды, ал бир гана Redoxта эмес, Linux ядросуна негизделген дистрибуцияларда да иштей алат. Өзгөртүүлөр ар кандай программаларды Redox'ка өткөрүүнү жеңилдетти жана C тилинде жазылган көптөгөн программалар жана китепканалар менен көйгөйлөрдү чечти.
  • Rustc компиляторунун Redoxта иштей турган версиясы даярдалды. Калган тапшырмалардын ичинен өндүрүмдүүлүктү оптималдаштыруу жана жүк пакетинин менеджерин Redox чөйрөсүндө иштөөгө ылайыкташтыруу белгиленген.

Rust тилинде жазылган Redox OS 0.7 операциялык системасынын релиз

Операциялык система Unix философиясына ылайык өнүгүп, кээ бир идеяларды SeL4, Minix жана Plan 9дан алат. Redox микроядро концепциясын колдонот, мында процесстер менен ресурстарды башкаруунун ортосундагы байланыш гана ядро ​​деңгээлинде камсыздалат жана башка бардык функциялар жайгаштырылат. өзөк жана колдонуучу тиркемелери да колдонула турган китепканаларда. Бардык драйверлер обочолонгон кумкоргон чөйрөлөрүндө колдонуучу мейкиндигинде иштешет. Учурдагы тиркемелер менен шайкеш келүү үчүн, көптөгөн программаларды порттору жок иштетүүгө мүмкүндүк берген атайын POSIX катмары каралган.

Система "бардыгы URL" принцибин колдонот. Мисалы, URL “log://” журналга жазуу үчүн, “автобус://” процесстер аралык байланыш үчүн, “tcp://” тармактык байланыш үчүн ж.б.у.с. Драйверлер, ядро ​​кеңейтүүлөрү жана ыңгайлаштырылган тиркемелер катары ишке ашырылышы мүмкүн болгон модулдар өздөрүнүн URL иштеткичтерин каттай алышат, мисалы, сиз I/O мүмкүндүк алуу модулун жазып, аны "port_io://" URL'ине байлай аласыз, андан кийин аны URL "port_io://60" ачуу менен 60 портуна кирүү үчүн колдоно аласыз.

Redox'тун колдонуучу чөйрөсү Orbitalдын өзүнүн графикалык кабыгынын (Qt жана Wayland колдонгон башка Orbital кабыкчасы менен чаташтырбоо керек) жана Flutter, React жана Redux сыяктуу API менен камсыз кылган OrbTk инструменттеринин айланасында курулган. Netsurf интернет браузер катары колдонулат. Долбоор ошондой эле өзүнүн пакет менеджерин, стандарттык утилиталардын топтомун (binutils, coreutils, netutils, extrautils), ion командалык кабыгын, relibc стандарттык C китепканасын, натрий vim сыяктуу текст редакторун, тармактык стекти жана файлды иштеп чыгат. системасы. Конфигурация Томл тилинде коюлган.

Source: opennet.ru

Комментарий кошуу