Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.5.Zarządzaniezasobami
1.5.Zarządzaniezasobami
35
Jakwidzieliśmy,systemoperacyjnyjestzarządcązasobów(resourcemanager).
Jednostkacentralna(CPU)systemu,obszarpamięci,przestrzeńpamięciplików
iurządzeniawejścia-wyjściaznajdująsięwśródzasobów,nadktórymisystem
operacyjnymusisprawowaćpieczę.
1.5.1.Zarządzanieprocesami
Programniemożezrobićniczegodopóty,dopókijegorozkazyniezacznąbyć
wykonywaneprzezCPU.Programwtrakciewykonywaniajakjużwspomnia-
nojestprocesem.Działającyprogramkompilatorajestprocesemiprogram
edytoratekstuwykonywanyprzezindywidualnegoużytkownikanaPC-cieteż
jestprocesem.Natejsamejzasadzieapka(app)mediówspołecznościowych
wurządzeniumobilnymjestprocesem.Naraziemożemyuważaćprocesza
egzemplarz(instance)wykonywanegoprogramu,leczźniejprzekonamysię,
żepojęcietojestznacznieogólniejsze.Jakopisanowrozdziale3,istniejąwy-
wołaniasystemowe,zapomocąktórychprocesymogątworzyćpodprocesy
wykonywanewspółbieżnie.
Dowykonaniazadaniaprocespotrzebujepewnychzasobów,wtymczasu
CPU,pamięci,plikówiurządzeńwe-wy.Tezasobysązwykleprzydzielane
procesowipodczasjegowykonywania.Opróczrozmaitychzycznychilo-
gicznychzasobów,któreprocesotrzymuje,gdyjesttworzony,mogąmubyć
przekazaneżnedaneinicjujące(wejściowe).Rozważmynaprzykładproces
wykonującykodprzeglądarkisieciowej,mającejwyświetlićtreśćstronySieci
naekranie.ProcesowitakiemuzostaniepodanynawejściulokalizatorURL,
poczymbędzieonwykonywałstosownerozkazyiwywołaniasystemowe
wceluuzyskaniaiwyświetleniapożądanychinformacjinaekranie.Pojego
zakończeniusystemoperacyjnyodzyskawszystkiezasobynadającesiędo
ponownegoużycia.
Podkreślamy,żesamprogramniejestprocesem.Programjestobiektem
pasywnym,podobniejakzawartośćplikuprzechowywanegonadysku,nato-
miastprocesjestobiektemaktywnym.Jednowątkowyprocesmajedenlicznik
programu(licznikrozkazówprogramcounter)określającynastępnyrozkazdo
wykonania.(Wątkisąomówionewrozdz.4).Wykonanietakiegoprocesumusi
przebiegaćsekwencyjnie.CPUwykonujejedenrozkazprocesupodrugim,aż
dozakończeniaprocesu.Cowięcej,wkażdejchwiliwzwiązkuzprocesemjest
wykonywanynajwyżejjedenrozkaz.Takwięcgdybydwaprocesyskojarzono
nawetztymsamymprogramem,ichwykonaniebędziestanowiłodwaosob-
neciągi.Proceswielowątkowymawielelicznikówprogramu,akażdyznich
wskazujerozkazdowykonaniawdanymwątku.
Procesjestjednostkąpracywsystemie.Systemskładasięzezbioruproce-
sów:niektóreznichsąprocesamisystemuoperacyjnego(te,którewykonują