OS ? za asistenta
Ako neko drugi moze da pomogne sa sigurnoscu, molim, bez oklevanja :)
Da li bi ovo doel trebalo da bude minimalni OS koji se trazi u tacki 3 prvog
zadatka? Zanima me da li je potrebno napraviti OS koji se moze koristi i za
neke druge aplikacije, ili koji je opet vezan za ovaj konkretan glavni
program (to je program drugog ispita )?
Zanima me da li je poput primera za OS/51, potrebno uraditi prevezivanja
PCBova kroz razne liste ili je sve to dovoljno uraditi sa flagovima (dole
pomenutim)? Pa prioriteti, semafori itd. To se verovatno odbacuje u ovoj
minimalnoj varijanti, zar ne?
Uputstvo koje je u mejlu dole mi je prilicno jasno i opravdano, ali me
zanima da li glavni program koji se vrti u petlji (tacka 3 objasnjenja) nije
dispecer, koji bi trebao da bude takodje unutar prekidne rutine koju pokrece
tajmer posle svake 1ms? Jedino moze da smeta, ako je onda prekidna rutina
preopterecena, ali svejedno, onda prekidna rutina mora da pozove dispecera
samo kada treba da se oduzme procesor nekom procesu i dodeli drugom. I ne
svidja mi se sto prekidna rutina odredjuje sledeci proces koji ce se
izvrsavati. Komentar?
U domacem za jun i septembar ne vidim neki veliki razlog da se kreiraju
procesi na osnovu istih programa. To je imalo smisla kod ABSa jer se vrti 4
tocka i oni moraju biti konkurentno nadgledani. Da li je mozda potrebno da
se u sadasnjem domacem kreiraju procesi za svaku traku posebno?
Sale
----- Original Message -----
From: "Gvozden Marinkovic" <mgvozden@eunet.yu>
To: <mips-nastava@titan.etf.bg.ac.yu>
Sent: Wednesday, March 17, 2004 4:38 PM
Subject: [mips-nastava] resenje zadatka
> I ako sam na ispitu rekao kako treba da se uradi zadatak
> gotovo niko nije uradio kako treba.
>
> Za buduce rokove (I DOMACE ZADATKE):
>
> Potrebni podaci:
> niz flegova - SCHEDULE, takav da svakoj proceduri
> odgovara po 1
> niz flegova - ACTIVE, takav da svakoj proceduri
> odgovara po 1
>
> 1. Prekidna rutina koja meri 1ms:
>
> - uvecava jednu globalnu prmenljivu koja se recimo zove
> TEK_VREME, a koja nam je neophodna za merenje raznih
> intervala vremena
>
> - aktivira SCHEDULE fleg za sledecu proceduru. Ukoliko je
> ACTIVE za tekucu jos uvek postavljen, moze prolongirati
> aktiviranje za jednu iteraciju (1ms)
>
> 2. Svaka procedura kada pocne izvrsavanje postavlja svoj
> ACTIVE flag na jedinicu.
>
> - kada zapocne izvrsavanje postavlja svoj ACTIVE fleg na 1
>
> - ukoliko treba da proveri koliko je proteklo vremena od
> prethodnog izvrsavanja oduzima od TEK_VREME vrednost
> promenjive, recimo MARKICA_VREME.
>
> - MARKICA_VREME se nakon toga azurira MARKICA_VREME <- TEK_VREME
>
> - u zavisnosti od proteklog vremena i dodatnih flegova
> procedura zavrsava svoj posao.
>
> - ukoliko procedura ne odmah da zavrsi posao (recimo mora
> nesto da ceka) moze da sacuva svoje stanje u nekoj
> promenljivoj i to kasnije da upotrebi
>
> - na kraju brise SCHEDULE i ACTIVE fleg.
>
> npr. procedura za startovaranje:
>
> - proverava da li ima nesto u prihvatnom baferu sa
> serijskog porta
> - ukoliko ima da li je u pitanju komanda za startovanje
> - ako nije zavrsava posao
> - ako jeste vrsi inicijalizaciju
>
> 3. Glavni program se vrti u petlji. proverava SCHEDULE flegove
> i u zavisnosti od potrebe aktivira proceduru odgovarajucu
> proceduru.
>
> 4. Prijem podataka sa seriskog porta obavlja se u prekidnoj
> rutini, tako da glavni program ne treba o tome da vodi racuna.
> Prekidna rutina prima bajt po bajt. Kada se detektuje kraj
> prijema postavlja jedan fleg koji kaze da ima nesto u prijemnom
> baferu i eventualno duzinu poruke.
>
> 5. Slanje se obavlja tako sto funkcija koja treba nesto da
> salje proveri fleg koji kaze da je bafer za slanje prazan.
> Zatim upise poruku u za bafer slanje i postavi FLAG da ima
> nesto u baferu i eventualno duzinu poruke.
>
> Ovo je jednostavna realizacija. Procedure su atomske, tj.
> kada jednom zapocne izvrsavanje TIME SCHEDULER ne moze da je
> prekine. Time su izbegnuti problemi sinhronizacije i cuvanja
> konteksta.
>
> Pozdrav
>
> Gvozden
Da li bi ovo doel trebalo da bude minimalni OS koji se trazi u tacki 3 prvog
zadatka? Zanima me da li je potrebno napraviti OS koji se moze koristi i za
neke druge aplikacije, ili koji je opet vezan za ovaj konkretan glavni
program (to je program drugog ispita )?
Zanima me da li je poput primera za OS/51, potrebno uraditi prevezivanja
PCBova kroz razne liste ili je sve to dovoljno uraditi sa flagovima (dole
pomenutim)? Pa prioriteti, semafori itd. To se verovatno odbacuje u ovoj
minimalnoj varijanti, zar ne?
Uputstvo koje je u mejlu dole mi je prilicno jasno i opravdano, ali me
zanima da li glavni program koji se vrti u petlji (tacka 3 objasnjenja) nije
dispecer, koji bi trebao da bude takodje unutar prekidne rutine koju pokrece
tajmer posle svake 1ms? Jedino moze da smeta, ako je onda prekidna rutina
preopterecena, ali svejedno, onda prekidna rutina mora da pozove dispecera
samo kada treba da se oduzme procesor nekom procesu i dodeli drugom. I ne
svidja mi se sto prekidna rutina odredjuje sledeci proces koji ce se
izvrsavati. Komentar?
U domacem za jun i septembar ne vidim neki veliki razlog da se kreiraju
procesi na osnovu istih programa. To je imalo smisla kod ABSa jer se vrti 4
tocka i oni moraju biti konkurentno nadgledani. Da li je mozda potrebno da
se u sadasnjem domacem kreiraju procesi za svaku traku posebno?
Sale
----- Original Message -----
From: "Gvozden Marinkovic" <mgvozden@eunet.yu>
To: <mips-nastava@titan.etf.bg.ac.yu>
Sent: Wednesday, March 17, 2004 4:38 PM
Subject: [mips-nastava] resenje zadatka
> I ako sam na ispitu rekao kako treba da se uradi zadatak
> gotovo niko nije uradio kako treba.
>
> Za buduce rokove (I DOMACE ZADATKE):
>
> Potrebni podaci:
> niz flegova - SCHEDULE, takav da svakoj proceduri
> odgovara po 1
> niz flegova - ACTIVE, takav da svakoj proceduri
> odgovara po 1
>
> 1. Prekidna rutina koja meri 1ms:
>
> - uvecava jednu globalnu prmenljivu koja se recimo zove
> TEK_VREME, a koja nam je neophodna za merenje raznih
> intervala vremena
>
> - aktivira SCHEDULE fleg za sledecu proceduru. Ukoliko je
> ACTIVE za tekucu jos uvek postavljen, moze prolongirati
> aktiviranje za jednu iteraciju (1ms)
>
> 2. Svaka procedura kada pocne izvrsavanje postavlja svoj
> ACTIVE flag na jedinicu.
>
> - kada zapocne izvrsavanje postavlja svoj ACTIVE fleg na 1
>
> - ukoliko treba da proveri koliko je proteklo vremena od
> prethodnog izvrsavanja oduzima od TEK_VREME vrednost
> promenjive, recimo MARKICA_VREME.
>
> - MARKICA_VREME se nakon toga azurira MARKICA_VREME <- TEK_VREME
>
> - u zavisnosti od proteklog vremena i dodatnih flegova
> procedura zavrsava svoj posao.
>
> - ukoliko procedura ne odmah da zavrsi posao (recimo mora
> nesto da ceka) moze da sacuva svoje stanje u nekoj
> promenljivoj i to kasnije da upotrebi
>
> - na kraju brise SCHEDULE i ACTIVE fleg.
>
> npr. procedura za startovaranje:
>
> - proverava da li ima nesto u prihvatnom baferu sa
> serijskog porta
> - ukoliko ima da li je u pitanju komanda za startovanje
> - ako nije zavrsava posao
> - ako jeste vrsi inicijalizaciju
>
> 3. Glavni program se vrti u petlji. proverava SCHEDULE flegove
> i u zavisnosti od potrebe aktivira proceduru odgovarajucu
> proceduru.
>
> 4. Prijem podataka sa seriskog porta obavlja se u prekidnoj
> rutini, tako da glavni program ne treba o tome da vodi racuna.
> Prekidna rutina prima bajt po bajt. Kada se detektuje kraj
> prijema postavlja jedan fleg koji kaze da ima nesto u prijemnom
> baferu i eventualno duzinu poruke.
>
> 5. Slanje se obavlja tako sto funkcija koja treba nesto da
> salje proveri fleg koji kaze da je bafer za slanje prazan.
> Zatim upise poruku u za bafer slanje i postavi FLAG da ima
> nesto u baferu i eventualno duzinu poruke.
>
> Ovo je jednostavna realizacija. Procedure su atomske, tj.
> kada jednom zapocne izvrsavanje TIME SCHEDULER ne moze da je
> prekine. Time su izbegnuti problemi sinhronizacije i cuvanja
> konteksta.
>
> Pozdrav
>
> Gvozden
- Follow-Ups:
- Re: OS ? za asistenta
- From: Gvozden Marinkovic <mgvozden@eunet.yu>
- Re: OS ? za asistenta
Previous by date: Simulator ? za asisteneta
Next by date: Za asistenta
Previous by thread: Re: Simulator ? za asisteneta Next by thread: Re: OS ? za asistenta
Previous by thread: Re: Simulator ? za asisteneta Next by thread: Re: OS ? za asistenta