Mini-OS Eesmärk: kirjutada PC-tüüpi arvutile minimaalne operatsioonisüsteem, mis suudaks serveerida veebilehti. Detailsem kirjeldus: Operatsioonisüsteem (Mini-OS) hakkab töötama x86 arhitektuuriga standardsel PC-l. Seda saab üles buutida olemasoleva bootloaderiga LILO. Mini-OS töötab x86 kaitstud rezhiimis (protected mode). Mini-OS omab elementaarset failisysteemi, mis asub malus ning mis alglaadimisel koos operatsioonisüsteemiga kaasa antakse. Selles failisüsteemis asub veebiserveri programm ning serveeritavad andmed. Mini-OS toetab riistvarast NE2000 ühilduvat võrgukaarti. Selle võrgukaardi kaudu räägitakse teiste arvutitega TCP/IP protokolli. Lisaks toetatakse VGA-ühilduvat graafikakaarti, mille abil valjastatakse tekstimoodis informatiivseid teateid. Ainus kasutajataseme programm on veebiserver, seega on tegu ühetegumilise operatsioonisüsteemiga. Veebiserver saab failisysteemist faile ning serveerib neid HTTP protokolliga korraga mitmele kliendile. Veebiserveri programm ise on ELF-formaadis binaarfail. Mini-OS on realiseeritud OSKit'i baasil. Riistvara draiverid, binaarfailide laadimine ja TCP/IP realisatsioon on võetud OSKit'ist. Failisüsteem on ainus üleni omatehtud tuumasisene komponent. Projekti eesmärk on serveerida mõnest HTML lehest ja mõnest pildist koosnevat veebisaiti, nii et see Mozilla ja Internet Exploreriga loetav oleks. Korraga peab saama suhelda mitme klientarvutiga (kui üks klient poole yhenduse pealt magama jääb, räägitakse seni teisega). Projekti meeskond: 1. Tudeng 1: 3. aastat informaatik, oskab Javat, natuke C-d ja C++, PHP-d, SQL'i. Valdab Windowsi, Linuxit ja Solarist. 2. Tudeng 2: 3. aasta informaatik, oskab Javat, Perli, PHP-d, on natuke lugenud C kohta. Valdab Windowsi ja Solarist. 3. Tudeng 3: 2. aasta informaatik, oskab Javat, SQL, kavatseb õppida C-d. Tunneb Windowsi. 4. Tudeng 4: 2. aasta infotehnoloog, oskab Javat, tunneb huvi riistavara vastu. Valdab Windowsi ja Linuxit. 5. Tudeng 5: 4. aasta informaatik, oskab Javat, C ja C++, PHP ja assemblerit. Valdab Windowsi ja UNIXeid. Tööjaotus: 1. Failisysteemi realistasioon (failisüsteemi draiver, buutimisel failisüsteemi kujutise kasutusele võtt, failisüsteemi kujutise ette valmistamine muus operatsioonisüsteemis) 2. OSKiti TCP/IP liidestamine Mini-OS'ga ning veebiserverile võrgu-API pakkumine 3. HTTP server (omakirjutatud või porditud) 4. Võrgukaardi ja tekstiväljundi draiverite liidestamine (OSKitist) 5. Buutimine, protsessoriaja planeerimine, binaarfailide käivitamine, mäluhaldus jne (OSKitist) Projekti ajakava: 11. märts - projekti alguuringud on tehtud ning projekti lõppvariant on kokku kirjutatud. Kõik, kes pole varem C õppinud, on läbi teinud kiirtutvuse C-ga ning praktikas mõne vähemalt sajarealise C programmi kokku kirjutanud. Tudeng 1 on tutvunud vähemalt kahe olemasoleva failisüsteemi ehitusega. Tudeng 2 on tutvunud võrguprogrammeerimisega. Tudeng 3 on tutvunud võrguprogrammeerimise ja HTTP protokolliga. Tudeng 4 on tutvunud OSKiti draiverite liidestega. Tudeng 5 on yle vaadanud OSKiti ja koostanud endale pildi sellest, mis komponente tuleks operatsioonisüsteemi tuuma panna. 8. aprill - on olemas bootiv kernel, mis suudab ekraanile teateid väljastada ning mingi programmi laadida, mis omakorda ekraanile teateid väljastab. HTTP serveri kirjutaja ja TCP/IP liidese tegija on omavahel kokku leppinud ja fikseerinud võrgu-API, mida veebiserver kasutama hakkab. 6. mai - systeem on üldiselt valmis ja töötab, lihvitakse ühilduvust, parandatakse stabiilsust ja muid buge 20. mai - projekti esitlus koos demonstratsiooniga