Маестро сцреенсхот
Руст је стекао довољно популарности до те мере да је постао један од оних који су изабрани да се интегришу као секундарни језик у Линукс, као и у друге оперативне системе, као што је случај Андроида, који већ има део кода у Русту, Виндовс-у који такође је, између осталог, дао одобрење.
Рђа показао се као снажан језик и створио је такво поверење Неки оперативни системи су чак креирани са овим програмским језиком и да поменемо само неке имамо: редокс, Такође имамо Кернеле написане од нуле као што су Керла или кернел који се користи у сателита који је Кина недавно лансирала.
Разлог да ово поменем је што сам недавно наишао на вест која ми је привукла пажњу, а то је Представљен је пројекат у коме се развија Кернел написан у Русту и који је делимично компатибилан са Линуком.
Назив овог пројекта је "Учитељ" и као што је поменуто, је језгро налик Уник-у написано у Русту и имплементира подскуп системских позива из Линук кернела довољно за стварање стандардних радних окружења. Као такав, пројекат „Маестро“ није нешто ново, пошто програмер помиње да је пројекат рођен 2018. године, али је тада био написан на Ц и због различитих предности и карактеристика Руста, пројекат је преписан са нула.
На страници пројекта Разлози за промену су описани:
У том тренутку сам одлучио да пређем на Руст (мој први пројекат на овом језику), што је представљало неколико предности:
- Поново покрените пројекат од почетка, користећи лекције научене из претходних грешака.
- Будите мало иновативнији од писања кернела сличног Линуку у Ц-у. На крају крајева, тада само користите Линук.
- Користите сигурност Руст језика да бисте искористили неке потешкоће у програмирању кернела. Коришћење Руст система писања омогућава вам да пренесете део одговорности за безбедност меморије са програмера на компајлер.
У развоју кернела, отклањање грешака је веома тешко из неколико разлога:
- Документацију је често тешко пронаћи, а имплементације БИОС-а могу бити погрешне (чешће него што мислите).
- Приликом покретања, кернел има пун приступ меморији и може да пише где не би требало (свој сопствени код, на пример).
- Решавање проблема са цурењем меморије није лако. Алати као што је валгринд се не могу користити.
- гдб се може користити са КЕМУ и ВМВаре, али кернел се може понашати другачије када се покрене на другом емулатору или виртуелној машини. Такође, ови емулатори можда не подржавају гдб (нпр. ВиртуалБок).
- Неке функције недостају у подршци за гдб у КЕМУ или ВМВаре-у, а гдб се понекад може чак и срушити
У односу на карактеристике пројекта, истиче се да је Кернел монолитан и тренутно је подржан само на к86 системима у 32-битном режиму. База кода кернела покрива око 49 хиљада линија, извршна је и на стварном хардверу и у виртуелизованим окружењима, као што су КЕМУ или ВиртуалБок.
У тренутном развоју «Маестра», 31% је реализовано (135 од 437) Линук системских позива. Ово је довољно да учита окружење конзоле засновано на Басх-у и Мусл стандардној Ц библиотеци. Поред тога, окружење засновано на Маестро-у може да покреће неке услужне програме из ГНУ цореутилс пакета и основно паковање са било ког Уник система. Тренутно се ради на имплементацији мрежног стека, а ради се и на развоју
ентре las Доступне функције Маестра се истичу Следећи::
- Контролери за ПС/2 тастатуру и терминал са текстуалним режимом и делимичном подршком за АНСИ секвенце.
- Систем расподеле меморије са подршком за виртуелну меморију.
- Планер задатака заснован на роунд-робин алгоритму са подршком за ПОСИКС сигнале.
- Дефиниција ПЦИ уређаја.
- ИДЕ/ПАТА контролер.
- Ект2 систем датотека.
- Подршка за /тмп и /проц виртуелне системе датотека.
- Могућност монтирања ФС, МБР и ГПТ партиција диска.
- подршка за инитрамфс.
- РТЦ контролер за тајмер и прецизно време.
- Подршка за учитавање модула кернела.
- Могућност покретања извршних датотека у ЕЛФ формату.
За заинтересовани да сазнају нешто више о пројекту, можете проверити детаље У следећем линку. Што се тиче заинтересованих за шифру пројекта, треба да знају да јесте дистрибуира под лиценцом МИТ-а.