M4ti.net M4TI.net
Maailmas on 10 liiki inimesi. Need kes oskavad binaryt ja need kes ei oska!





Viimased uudised

14.06.2005

Nüüdsest on m4ti.net-l oma server!

31.03.2005

Enamus m4ti.net liikmetest on aktiivsed muude projektide ja/või kooliga! Hetkel uusi projekte valmimas pole!



Tutvustus operatsioonisüsteemile NOS

Üldiselt

NOS on OSKITI peale ehitatud operatsiooni süsteem, mis suudab hallata failisüsteemi NOFS16 kasutades selleks käsuinterpretaatorit ja lihtsat teksti redaktorit (NOTE). Kõik programmid on tuumataseme programmid ning jooksevad ühe protsessina (seega puudub vajadus protsessi halduseks). NOS’i saab käivitada standardsel x86 tüüpi arvutil, eelduseks, et NOS’i tuum asub tavalises (nt ext2) failisüsteemis ning on arvutis teine ketas, millele pannakse (või juba on) NOFS16.

Failisüsteem

NOS kasutab oma loodud failisüsteemi NOFS16, mis on 16 bitine FAT tüüpi failisüsteem.

Formaatimisel tehakse etteantud kettast NOFS16 ketas. NOFS16 ei toeta partitsioone, sest lugemine kirjutamine algab alati esimesest sektorist. OS suhtleb kettaga lehekülg haaval ning puhver ongi üks lehekülg. Lehekülje suurust saab muuta ja sellega koos ka adresseerimisruumi suurust. Selle failisüsteemi FAT asub ketta kahes esimeses sektoris ning ülejäänud failisüsteem järgnevates blokkides (kokku kuni 65535).

Failisüsteemis on kahte tüüpi faile:
  • failid
  • kataloogid
Kataloogid on failid, millel on eriline struktuur. Nad koosnevad 16 baidistest ridadest, millest igaüks on faili kirje. Need 16 baiti jagunevad järgmiselt: 1...13 bait – failinimi; 14. bait – onKataloog lipp; 15. ja 16. baidid – link faili algus blokile. Kataloog-fail ei saa olla suurem kui üks blokk (seega ühes kataloogis saab olla 256 faili).

Fail on üldine baitide kogum, mis on jaotatud blokkideks. Faili tegemisel lisatakse kataloogi kirje faili nime, onKataloog lipu ja faili algusbloki lingiga. Samas märgitakse ka FAT’is lingitud uus blokk kasutusel olevaks. Faili kirjutamisel kirjutatakse bait haaval puhvrisse ning selle täitumisel kirjutatakse puhver kettale. Kuna bloki suurus on puhvri suurusega võrdne, siis otsitakse ka uus (kasutamata) blokk kirjutamise jätkamiseks ning lingitakse see eelmisest blokist (kirjutatakse FAT’i). Faili kustutamisel kustutatakse kirje kataloogist ning nullitakse kõik FAT’i kirjed, mida fail kasutas. Peale selle saab faile liigutada ja kopeerida. Aja puuduse tõttu ei ole NOFS16 veel kaugeltki bugi-vaba.

Tekstiredaktor

Tekstiredaktor NOTE on primitiivne teksti editor, suudab teksti muuta faili lõpust. Ta loeb faili puhvrisse. Redigeerib puhvrit (vastavalt kasutaja sisendile) ning töö lõppedes kirjutab faili kettale.

Käsu-interpretaator

Käsu-interpretaator võimaldab interaktiivset suhtlust kasutajal NOS’ga. Loodud interpretaator on kaks-keelne (igal käsul ka eestistatud alias). Interpretaator loeb rea ning otsustab, mis käsk sisestati, mitu argumenti see käsk vajab ning loeb käsust ka argumendid.

NOS’i üldine tase

Mitmetel põhjustel ei saanud me valmis päris sellise os’iga kui oleksime tahtnud, alustades projekti valmimiseks oluliste tehnoloogia ja keskkonna uudsusest enamus rühmale lõpetades lõpptähtaja ettepoole nihkumisega. Väga palju aega kulus keskkonnaga harjumisega (nii Linuxi kui ka programmeerimiskeele C’ga). Paljuski C keele erinevustele kõrgematest keeltest jäi ka mitmeid bug’e NOS’i sisse.

Arendustiim:

Kaarel Kann
Taavet Kikas
Ants Isak
Hannu Kikkas
Lauri Kimmel

Kontakt: info@m4ti.net