Tema projekta: Simulator operativnog sistema
Projekat radili: Vladimir Mijić i Sergej Krupljanin
Specifikaciju možete pronaći na ovom linku.
- Procedura za podizanje operativnog sistema - booting
- Realizacija raspoređivača procesa - realizovati algoritam najvećeg prioriteta
- Realizacija tehnika upravljanja memorijom - dinamičko particionisanje sa odabirom najbolje odgovarajuće memorijske particije
- Realizacija fajl sistema - drvoliko -
Sergej
- Realizacija interakcije sa ulazno/izlaznim uređajima (ulaz je tastatura i izlaz je monitor). [Opcioni dio] -
Sergej
- Realizovati kreiranje, čitanje i brisanje datoteka - indeksirana alokacija memorije -
Sergej
- Osmisliti komande operativnog sistema koje treba da sadrže najosnovnije stvari koje će omogućiti pokretanje većeg broja procesa. Osnovne komande su:
- Komanda za listanje datoteka i poddirektorijuma u aktuelnom direktorijumu -
Sergej
- Komanda za promjenu aktuelnog direktorijuma -
Sergej
- Komanda za kreiranje, brisanje i preimenovanje direktorijuma -
Sergej
- Komanda za pokretanje izvršne datoteke i slanje u pozadinu kako bi mogao da se pokrene novi proces - podrazumijeva se momentalno slanje u pozadinu. Ulazni parametri se uvijek prosljeđuju preko tekstualne datoteke, te se rezultat izvršavanja takođe ispisuje u neku izlaznu tekstualnu datoteku. -
Sergej
Poziv može da izgleda ovako:
<naziv komande> <naziv izvršne datoteke> <naziv datoteke sa rezultatima>
- Listanje aktuelnih procesa - za svaki proces prikazati standardne informacije (pid, naziv procesa, trenutno stanje, zauzeće memorije)
- Prekid nekog procesa
- Blokiranje i odblokiranje nekog procesa
- Gašenje simulatora
- Komanda za listanje datoteka i poddirektorijuma u aktuelnom direktorijumu -
- Kreirati jednostavan asembler. Ovom prilikom je potrebno kreirati najviše desetak osnovniih naredbi asemblera (prebacivanje iz i u memoriju sa registra, sabiranje, oduzimanje, množenje, dijeljenje, naredba skoka i slično). Ovom prilikom je potrebno napraviti simulaciju registara. Prilikom učitavanja asemblerskog koda (tekstualne datoteke sa ekstenzijom
.asm
), potrebno je generisati mašinski kod, te ga potom izvršiti. Omogućiti prikaz memorije i registara.
Ovaj projekat se nalazi pod MIT licencom.