obsługa przerwania:proc dostaje przerwanie-adres ostatniego niewykonanego rozkazu na stos-skok w miejsce z tablicy wektorów przerwań i obsługa przerwania-wykonanie procedury-zdjęcie ze stosu adresu i dalsze wykonywanie
DMA:proc składa rządanie,podaje miejsce w pamięci,urządzenie tam zapisuje blok(podkrada procowi cykle pamięci),po zapisaniu bloku generuje przerwanie
ZARZĄDZANIE PROCESAMI
proces:program+bieżący stan programu(licznik rozkazów,rejestry proca,stos,zmienne globalne)
stany procesu:nowy-gotowy-aktywny-oczekujący-gotowy-aktywny-zakończony
PCB(Process Control Block):komplet informacji o procesie,PID,rejestry,czas działania,czyje konto,ograniczenia,stan,priorytet,wiek,adresy pamięci,otwarte pliki..
kontekst procesu:'snapshot' stanu rejestrów(licznik rozkazów,stos,adresy) zawarty w PCB
kryteria planowania:wykorzystanie proca,czas spędzany w kolejce procesów gotowych,czas cyklu przetwarzania,przepustowość (np. procesów na minutę),czas odpowiedzi(przesłania pierwszych wyników)
FCFS(First Come First Served):algorytm planowania,niewywłaszczający,średni czas oczekiwania(pasek do narysowania),efekt konwoju(jeden proces muli proca,a reszta skończyła z I/O)
SJF(Shortest Job First):na podstawie oszacowanego czasu następnej fazy procesu(krótkoterminowe:średnia wykładnicza,długoterminowe:pytanie usera o czas wykonania),daje najkrótszy średni czas oczekiwania procesu na kwant czasu,niewywłaszczające
SRTF(Shortest Remaining Job First):wywłaszczający,wywłaszcza gdy w kolejce pojawi się krótszy proces
Priority Sheduling:procesy o równych prio traktuje się FCFS,SJF szczególnym przypadkiem,postarzanie procesów o niskich prio np. co godzinę,
round-robin scheduling:każdy po kolei dostaje kwant czasu,przy nieskończenie dużym kwancie FCFS
wielopoziomowe kolejki:np.żaden proces z 2 kolejki(SJF,FCFS)nie uruchomi się,jeśli są jakieś w 1 kolejce,lub przydział procentowy czasu proca na każdą kolejkę
wątek:podstawowa jednostka wykorzystania proca.procesy/wątki:niezależne od siebie/współdzielą stan jednego procesu,oddzielne przestrzenie adresowe/wspólna,oddzielne zasoby/wspólne,interakcja z innymi procesami/wątkami przez pamięć,mogą współużytkować ten sam kod/współużytkują.każdy wątek ma swój stos,stan.dane i zasoby są współdzielone,każdy wątek wykonuje inny fragment tego samego kodu
zalety wątków:wiele zadań jednego procesu w tym samym czasie,zdolność reagowania na żądania usera,współdzielenie zasobów,oszczędność pamięci,wydajniejsze,szybsze przełączanie kontekstu,łatwiejsze do zaprogramowania komunikacji między sobą,prostsze przeplatanie wykorzystania proca i I/O,może wykorzystać wiele proców
modele wielowątkowości:wiele-na-jeden:wiele wątków usera na jeden wątek jądra(jądro nie wie o wątkach,nie można rozdzielać na wiele proców),jeden-na-jeden(nejlepszy),wiele-na-wiele
... zobacz całą notatkę
Komentarze użytkowników (0)