«« ( Date ) »» // «« ( Thread ) »» // mips-nastava - 2004

Za asistenta

by Djordje Soldo
sreda, 11. avgust 2004 - 13:33.

Moja neka razmisljanja u vezi OS i ostatka softvera:

Da svakom procesu dodijelimo po jednu vremensku promjenljivu sat
(izuzimajuci proces prijema podataka) i po dva bita - Ready i Active

Citav softver podijeljen je na:
- 5 procesa
o Process za slanje podatak
o Proces za prijem podataka
o 3 procesa koji eventualno cekaju praznjenje trake
- Glavni program koji ispituje Ready bite ovih pet procesa i
poziva spremne po nekom redosludu
- Prekidne rutine od
o Tajmera
o Senzora
o 8251

Glavni program preuzima ulogu scheduler-a i u beskonacnoj petlji samo
provjerava bite spremnosti i prostim pozivom procedure dodjeljuje
izabranom spremnom procesu processor.

Bit Ready na 1 postavljaju odgovarajuce prekidne rutine u zavisnosti od
proteklog vremena (za cije je mjerenje zaduzena prekidna rutina od
tajmera koja svki put inkrementira odgovarajucu promjenljivu sat za
aktivne procese) i dostupnosti resursa (izlaznog bafera u 8251, .)

Ready bit ce na nulu postaviti sam taj proces kada zavrsi jedan svoj
ciklus ili se iz nekog razloga blokira.

Dakle, glavni program nema mogucnost da prekida procese (koji su u
stvari procedure), to naravno mogu samo prekidne rutine. Po okoncanju
rutina, kontrola se opet vraca prekinutom procesu koji se zavrsavaju do
kraja (sta god bio taj kraj) i povratkom iz procedure (procesa) kontrolu
opet dobija glavni program koji poziva sledeci spremni proces.

To bio bio osnovni princip funkcionisanja bez detaljnog osvrta na
komunikaciju medju procesima i bez detalja oko postavljanja Activ i
Ready bita. To je vec stavar implementacije.

Mislim da su flegovi dovoljni i da ne trba uvoditi PCB za procese.

Ocekujem odgovor od asistenta koliko sam na dobrom (krivom) putu



Djordje