Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.4.Działaniasystemuoperacyjnego
33
niżprocesyużytkownika,leczmniejniżjądro.Tenpoziomprzywilejówjestmu
potrzebny,abymógłtworzyćizarządzaćmaszynamiwirtualnymi,zmieniając
wtymcelustanCPU.
Obecniemożemylepiejzrozumiećcyklwykonaniarozkazuwsystemie
komputerowym.Napoczątkusterowaniejestpostroniesystemuoperacyjne-
go–rozkazysąwówczaswykonywanewtrybiejądra.Gdysterowaniejest
przekazywanedoaplikacjiużytkownika,następujeprzełączeniedotrybu
użytkownika.Wkońcusterowaniewracadosystemuoperacyjnegonaskutek
przerwania,pułapkilubwywołaniasystemowego.Większośćwspółczesnych
systemówoperacyjnych,takichjakMicrosoftWindows,UNIXiLinux,korzysta
ztejmożliwościdualnegotrybu,cozwiększaichochronę.
Wywołaniasystemowe13umożliwiająprogramowiużytkownikazlecanie
systemowioperacyjnemuwykonaniawjegoimieniupraczarezerwowanych
dlasystemuoperacyjnego.Wywołaniesystemowejestrozpoczynanenawiele
sposobów,wzależnościodwłasnościdanegoprocesora.Wewszystkichod-
mianachjesttometoda,zapomocąktórejproceszamawiadziałaniesystemu
operacyjnego.Wywołaniesystemowezwykleprzyjmujepostaćprzejściado
określonegomiejscawwektorzeprzerwań.Przejścietomożebyćwykonaneza
pomocąogólnegorozkazutrap,choćniektóresystemymająspecjalnyrozkaz
syscallpowodującywywołaniesystemowe.
Podczaswykonywaniawywołaniasystemowegosprzętnaogółtraktujeje
jakoprzerwanieprogramowe.Zapośrednictwemwektoraprzerwaństerowanie
jestprzekazywanedoodpowiedniejproceduryobsługiwsystemieoperacyj-
nym,abittrybuzostajeprzełączonynatrybjądra.Proceduraobsługiwywo-
łaniasystemowegojestczęściąsystemuoperacyjnego.Jądrosprawdzarozkaz
przerywający,abyokreślić,którewywołaniesystemumiałomiejsce.Rodzaj
usługi,naktórąużytkownikzgłaszazapotrzebowanie,jestokreślonyprzezpa-
rametrwywołaniasystemowego.Dodatkoweinformacjepotrzebnewzwiązku
zzamówieniemnaobsługęmogąbyćprzekazanewrejestrachalboumiesz-
czonenastosielubwpamięci(wówczaswrejestrachpodajesięwskaźnikido
komórekpamięci).Jądrosprawdzapoprawnośćidopuszczalnośćparametrów,
wykonujezamówienieiprzekazujesterowaniedorozkazunastępującegopo
wywołaniusystemowym.Bardziejszczegółowoopisujemywywołaniasyste-
mowewpodrozdziale2.3.
Ochronasprzętowaumożliwiawykrywaniebłędównaruszaniatrybów.Ich
obsługązajmujesięnaogółsystemoperacyjny.Gdyprogramużytkownika
dopuścisięjakiegośuchybienia,naprzykładpróbujewykonaćniedozwolony
rozkazlubsięgnąćpoadrespamięcinienależącydojegoprzestrzeniadreso-
wej,sprzętspowodujeprzejściedosystemuoperacyjnego.Takjakprzerwanie,
takapułapkapowodujeprzejściedosystemuoperacyjnegozapomocąwektora
13Ang.systemcalls;innespotykanenazwy:odwołaniadosystemu,funkcjesystemowe
–przyp.tłum.