Olihan se sitten pakko kokeilla, että taipuuko Claude vibekoodaamaan käyttöjärjestelmää (x86-64) ihan nollista. No kyllähän tuo taipuu ja ominaisuuksiakin alkaa jo jokunen olemaan. Koodattu käytännössä kokonaan C:llä. On siellä myös jokunen rivi toki ASM:ia ja hostin puolen testityökalut sekä muut työkalut on pitkälti Pythonia.
Löytyy toki muistinhallinta (Mm. paging, virtuaalinen muisti ring 3 appeille, heap, stack, NX/W^X ja kernelillä ASLR), scheduleri (Preemptive round robin) ja jopa kotikutoinen tiedostojärjestelmä (Inodet, journalointi, block groupit, eli hieman ext3 muistuttava) koska miksi sitä nyt valmiita suoraan käyttämään. Tämä vaati kyllä jokusen version saada järkeväksi ja toimivaksi. Tuli myös tehtyä päälle oma ikkunointi, joka on pääosin Ring 3:ssa, eli user modessa. Käyttää Window Server / client mallia, joiden välillä oma protokolla. Muistuttanee jonkun verran Waylandia. Piirtoa varten on sitten vielä oma UI-kirjasto. Shelli ja terminaalikin löytyy, jossa on sitten aika paljon taas otettu mallia Unixista ihan pellin allakin. Eli pipet, redirectit, jobien hallinta ja signaali mm. löytyy. Jonkunlainen C-kirjastokin löytyy.
Aika paljon tullut opittua ihan kantapään kautta, eli jos nyt alusta tekisin niin joitain asioita lähtisin tekemään heti järkevämmin ja suunnitellummin. Useiden asioiden muuttaminen jälkikäteen on teettänyt aika paljon työtä. Eihän tässä varmasti mitään järkeä ole, mutta ollut ainakin mielenkiintoinen ja erittäin opettavainen projekti. Eli jos haluaa edes hieman oppia miten se käyttis oikeasti toimii, niin suosittelut
Pääasiassa tullut pyöriteltyä QEMU:lla (Emuloituna ja KVM), mutta pyörähtää myös oikealla raudalla kun jokusen kerran on tullut sekin testattua. Eli tuota voi ajaa livenä myös muistitikulta.
Ajureita löytyy oikeastaan vain PS/2 (hiirelle ja näppikselle), IDE ATA (DMA ja PIO) ja QEMU:a varten sitten virtion ajureista blk, input, rng ja gpu. PCI:lle on myös näiden myötä tuki. Seuraavana tarkoitus katsoa saisiko leivottua ajurit USB:lle (Ja ettei liian helpoksi mene, niin xHCI) ja AHCI:lle, jotta SATA toimisi.