Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.4.Działaniasystemuoperacyjnego
29
Jeśliniemaprocesówdowykonywania,żadneurządzeniawejścia-wyjścia
niewymagająobsługiiniktzużytkownikównieoczekujeodpowiedzi,tosys-
temoperacyjnybędziespokojnieczekałnajakieśzdarzenie.Zdarzeniasąpra-
wiezawszesygnalizowanezapomocąprzerwań.Wpunkcie1.2.1opisaliśmy
przerwaniasprzętowe.Odmianąprzerwaniajestpułapka(trap)albowyjątek
(exception).Jesttorodzajprzerwaniagenerowanegoprzezoprogramowanie,
apowodowanegoalboprzezbłąd(np.dzielenieprzezzerolubpróbęniedo-
zwolonegodostępudopamięci),alboprzezspecjalnezamówienie(żądanie)ob-
sługiprzezsystemoperacyjny,pochodzącezprogramuużytkownikaiskładane
zapomocąspecjalnejoperacjizwanejwywołaniemsystemowym(systemcall).
1.4.1.Wieloprogramowanieiwielozadaniowość
Jednymznajważniejszychaspektówsystemówoperacyjnychjestzdolnośćdo
wykonywaniawieluprogramów,gdyżogólniebiorącjedenprogramniejest
wstanieangażowaćcałyczasprocesoraluburządzeńwejścia-wyjścia.Cowię-
cej,równieżużytkownicyzwyklechcąwykonywaćwieleprogramównaraz.
Wieloprogramowanie(multiprogramming)zwiększawykorzystanieprocesora10
orazzadowolenieużytkownikówdziękitakiejorganizacjizadań,abyproce-
sormiałzawszektóreśznichdowykonania.Wsystemiewieloprogramowym
programwtrakciewykonywaniajestokreślanyjakoproces(process).
Ideajestnastępującawtymsamymczasiesystemoperacyjnyprzechowuje
wpamięcipewnąliczbęprocesów(rys.1.12).Systemoperacyjnywybieraktóryś
ztychprocesówirozpoczynajegowykonywanie.Prędzejczyźniejproces
tenmożezacząćoczekiwaćnajakąśpracę,naprzykładnazakończenieopera-
cjiwejścia-wyjścia.WsystemiebezwieloprogramowaniaCPUpozostawałaby
bezczynna.Wsystemiewieloprogramowymnastępujepoprostuprzełączenie
dowykonywaniainnegoprocesu.Gdyitamtenprocesbędziemusiałzaczekać,
CPUprzełączasiędojeszczeinnegoprocesuitd.Pierwszyprocesprzestanie
wkońcuczekaćizpowrotemdostanieCPU.Dopókiprzynajmniejjedenproces
potrzebujebyćwykonywany,CPUnigdyniepróżnuje.
Takiepostępowaniejesttypowedlazwyczajnychsytuacjiżyciowych.Na
przykładadwokatnieprowadzinaogółsprawytylkojednegoklienta.Kiedy
jedenpozewczekanarozprawęlubprzygotowaniedokumentów,wtedyad-
wokatmożepracowaćnadinnąsprawą.Przywystarczającejliczbieklientów
adwokatowinigdyniezabrakniezajęcia.(Bezczynniadwokacimająskłonności
dozostawaniapolitykami,toteżutrzymywanieadwokatówwciągłymzatrud-
nieniumapewnąwartośćspołeczną).
10Wedługprzyjętychwtymwydaniurozróżnień(p.1.3.2)procesormożezawieraćwię-
cejniżjednąCPU,jednaktam,gdzietorozróżnienieniejestistotne,zastępujemyczasem
terminjednostkacentralna(CPU)określeniemprocesor,przyjmując,żechodzioprocesor
zjednąCPUprzyp.tłum.