Te tukunga o te punaha whakahaere ToaruOS 2.1

Ko te tukunga o te punaha whakahaere rite Unix a ToaruOS 2.1, i tuhia mai i te wahanga ka tukuna mai me tana ake kernel, bootloader, whare pukapuka C paerewa, kaiwhakahaere kete, nga waahanga-kaiwhakamahi me te atanga kauwhata me te kaiwhakahaere matapihi hiato, kua whakaputaina. I te timatanga, i whakawhanakehia te kaupapa i te Whare Wananga o Illinois hei kaupapa rangahau mo te hanga i nga atanga kauwhata hiato hou, engari katahi ka hurihia hei punaha whakahaere motuhake. Ka tuhia te waehere kaupapa ki te reo C ka tohatohahia i raro i te raihana BSD. He ahua ora 14.4 MB kua rite mo te tango, ka taea te whakamatautau ki QEMU, VMware, VirtualBox ranei.

Te tukunga o te punaha whakahaere ToaruOS 2.1

Kei roto i te ngakau o ToaruOS he kakano e whakamahi ana i te hoahoanga whakahiato ranu e whakakotahi ana i te turanga monolithic me nga tikanga mo te whakamahi i nga waahanga ka taea te utaina, i te ahua o te nuinga o nga kaitaraiwa taputapu e waatea ana, penei i nga taraiwa kōpae (PATA me ATAPI), EXT2 me ISO9660 pūnaha kōnae, framebuffer, papapātuhi, kiore , kāri whatunga (AMD PCnet FAST, Realtek RTL8139 me Intel PRO/1000), maramara tangi (Intel AC'97), me VirtualBox manuhiri tāpiri-ake. Ka tautokohia e te kernel nga miro Unix, TTY, punaha konae mariko, /proc pseudo file system, multithreading, IPC, ramdisk, ptrace, mahara tiritahi, mahi maha, me etahi atu ahuatanga noa.

Kei te punaha he kaiwhakahaere matapihi hiato, e tautoko ana i nga konae hono hono kaha ki te whakatakotoranga ELF, te mahi maha, te puranga whakairoiro, ka taea te whakahaere i te Python 3 me te GCC. Ko te punaha konae e whakamahia ana he ext2. Ka tautokohia e te bootloader te BIOS me te EFI. Ka taea e te puranga whatunga mo nga API turanga momo BSD me te tautoko i nga atanga whatunga, tae atu ki te takahuri.

O nga tono taketake, ko te Vi-like Bim etita e tu ana, kua whakamahia mo nga tau kua hipa ki te whakawhanake i nga tono motuhake a ToaruOS penei i te kaiwhakahaere konae, te emulator tauranga, he papa whakairoiro me te tautoko widget, he kaiwhakahaere kete. , me nga whare pukapuka mo nga whakaahua tautoko (PNG, JPEG) me nga momotuhi TrueType. Mo ToaruOS, ko nga kaupapa penei i te Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, etc.

Ka whakawhanakehia hoki e te kaupapa tana ake reo kaupapa Kuroko, i hangaia hei whakakapi i te Python i roto i te whanaketanga o nga taputapu me nga tono kaiwhakamahi mo te punaha. He rite te wetereo o te reo ki te Python (kua tuuhia hei reo poto o Python me te whakamaramatanga o nga taurangi) he tino totika te whakatinanatanga. Ka tautokohia te whakahiato me te whakamaoritanga o te bytecode. Ko te kaiwhakamaori bytecode e whakarato ana i te kaikohi paru, e tautoko ana i te miro maha me te kore whakamahi i te raka o te ao. Ka taea te whakahiato te kaikohi me te kaiwhakamaori ki roto i te whare pukapuka iti tiritahi (~500KB) ka taea te whakauru ki etahi atu papatono me te whakawhanui ma te C API. I tua atu i a ToaruOS, ka taea te whakamahi i te reo ki runga i te Linux, macOS, Windows me te whakahaere i roto i nga kaitirotiro whakahoa-WebAssembly.

I roto i te tukunga hou:

  • I taapirihia te tautoko tuatahi mo te hoahoanga AArch64 (ARMv8), tae atu ki te kaha whakamatautau ki te whakamahi ToaruOS i runga i te papa Raspberry Pi 400 me te emulator QEMU.
  • Ko te tukatuka me te tuku tohu ki nga tukanga i te waahi kaiwhakamahi kua mahi ano. I whakatinanahia nga waea ki te sigaction, sigprocmask, sigwait, me te sigsuspend.
  • Kua pai ake te whakahaere mahara i roto i te waahi kaiwhakamahi. Kua taapirihia te waea punaha munmap.
  • I roto i te kaiwhakahaere hiato, kua whakatinanahia te awe o te purongo me te whakahaere i nga huihuinga i te wa ka huri te rahi o te matapihi kua hoahoa ano.
  • I pai ake te tahuahua kapeka, i whakatinana i te tahuahua mangere, me te taapiri i te keteroki glyph mo nga momotuhi TrueType.
  • Ko nga whiringa hono kua pai ake.
  • Ko nga tikanga mo te whakarite i te karaka kua taapirihia, tae atu ki te waea a te punaha o te ra me te whakawhanui i nga kaha o te taputapu ra.
  • Kua pai ake te puranga whatunga. Ko te tautoko mo te tautuhi i nga wahitau IPv4 me nga tautuhinga ararere kua taapirihia ki te whaipainga ifconfig. Tautoko mo nga turanga ICMP. He tautoko taapiri mo te mahi recvfrom mo nga turanga UDP me te ICMP.
  • Kua taapirihia te kaha ki te mahi me nga papapātuhi USB i roto i te bootloader.
  • He tuemi hei muku i nga konae kua taapirihia ki te tahua horopaki o te kaiwhakahaere konae.
  • Kua pai ake te whakaatu kauwhata i roto i te aro turuki punaha.
  • Kua taapirihia te whaipainga grep me te tautoko mo nga korero auau.
  • He pai ake te whakaputanga o te whakahau ps (kua taapirihia nga pou taapiri).

Te tukunga o te punaha whakahaere ToaruOS 2.1


Source: opennet.ru

Tāpiri i te kōrero