Maestro ekrānuzņēmums
Rūsa ir ieguvusi pietiekamu popularitāti līdz tādai pakāpei, ka tā ir kļuvusi par vienu no tām, kas ir izvēlēta integrētai kā sekundārā valoda operētājsistēmā Linux, kā arī citās operētājsistēmās, piemēram, Android, kurai jau ir daļa no koda Rust, Windows, kas arī cita starpā ir devis apstiprinājumu.
Rūsa ir izrādījusies stabila valoda un radījusi šādu uzticību Dažas operētājsistēmas pat ir izveidotas ar šo programmēšanas valodu, un tikai daži no mums ir: redokss, Mums ir arī no nulles rakstīti kodoli, piemēram, Kerla vai kodols, ko izmanto satelīts, ko Ķīna nesen palaida.
Iemesls tam ir tas, ka nesen uzgāju jaunumus, kas piesaistīja manu uzmanību, un tas arī viss Tika prezentēts projekts, kurā tiek izstrādāts Rust valodā rakstīts kodols un kas ir daļēji saderīgs ar Linux.
Šī projekta nosaukums ir "Skolotājs" un kā minēts, ir Unix līdzīgs kodols, kas rakstīts Rust un īsteno sistēmas izsaukumu apakškopu no Linux kodola pietiekami, lai izveidotu standarta darba vidi. Kā tāds "Maestro" projekts nav nekas jauns, jo izstrādātājs min, ka projekts ir dzimis 2018. gadā, bet toreiz tas tika rakstīts C valodā un Rust dažādo priekšrocību un īpašību dēļ projekts tika pārrakstīts no plkst. nulle.
Projekta lapā Izmaiņu iemesli ir aprakstīti:
Tajā brīdī es nolēmu pāriet uz Rust (mans pirmais projekts šajā valodā), kam bija vairākas priekšrocības:
- Resāciet projektu no sākuma, izmantojot pieredzi, kas gūta no iepriekšējām kļūdām.
- Esiet nedaudz novatoriskāks, nekā vienkārši rakstiet Linux līdzīgu kodolu C valodā. Galu galā vienkārši izmantojiet Linux.
- Izmantojiet Rust valodas drošību, lai izmantotu dažas kodola programmēšanas grūtības. Rust rakstīšanas sistēmas izmantošana ļauj daļu atbildības par atmiņas drošību nodot no programmētāja kompilatoram.
Kodola izstrādē atkļūdošana ir ļoti sarežģīta vairāku iemeslu dēļ:
- Dokumentāciju bieži ir grūti atrast, un BIOS ieviešana var būt kļūdaina (biežāk, nekā jūs domājat).
- Sāknēšanas laikā kodolam ir pilna piekļuve atmiņai, un tas var rakstīt tur, kur tam nevajadzētu (piemēram, savs kods).
- Atmiņas noplūdes problēmu novēršana nav vienkārša. Nevar izmantot tādus rīkus kā valgrind.
- gdb var izmantot ar QEMU un VMWare, taču kodols var darboties savādāk, ja to palaiž citā emulatorā vai virtuālajā mašīnā. Turklāt šie emulatori var neatbalstīt gdb (piemēram, VirtualBox).
- Gdb atbalstam QEMU vai VMWare trūkst dažu funkciju, un gdb dažkārt var pat avarēt
Saistībā ar projekta īpašības, izceļas ar to, ka kodols ir monolīts un pašlaik tiek atbalstīts tikai x86 sistēmās 32 bitu režīmā. Kodola koda bāze aptver aptuveni 49 tūkstošus rindu, kas ir izpildāma gan reālā aparatūrā, gan virtualizētās vidēs, piemēram, QEMU vai VirtualBox.
Pašreizējā «Maestro» attīstībā, 31% ir īstenoti (135 no 437) no Linux sistēmas zvaniem. Tas ir pietiekami, lai ielādētu konsoles vidi, kuras pamatā ir Bash un Musl standarta C bibliotēka. Turklāt uz Maestro balstītā vide var palaist dažas utilītas no GNU coreutils komplekta un pamata pakotnes no jebkuras Unix sistēmas. Pašlaik tiek veikts darbs pie tīkla steka ieviešanas un tiek strādāts arī pie tā izstrādes
starp Maestro pieejamās funkcijas izceļas sekojošais::
- Kontrolieri PS/2 tastatūrai un terminālim ar teksta režīmu un daļēju ANSI secību atbalstu.
- Atmiņas sadales sistēma ar atbalstu virtuālajai atmiņai.
- Uzdevumu plānotājs, kura pamatā ir apļa algoritms ar atbalstu POSIX signāliem.
- PCI ierīču definīcija.
- IDE/PATA kontrolieris.
- Ext2 failu sistēma.
- Atbalsts /tmp un /proc virtuālajām failu sistēmām.
- Iespēja uzstādīt FS, MBR un GPT diska nodalījumus.
- initramfs atbalsts.
- RTC kontrolieris taimerim un precīzam laikam.
- Atbalsts kodola moduļu ielādei.
- Spēja palaist izpildāmos failus ELF formātā.
Par vēlas uzzināt vairāk par projektu, varat pārbaudīt detaļas Šajā saitē. Tiem, kurus interesē projekta kods, viņiem vajadzētu zināt, ka tas tā ir izplatīta saskaņā ar MIT licenci.