Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Podobné dokumenty
Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Podsyst em vstupu a v ystupu

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Distribuovan e algoritmy

Operacn syst emy { prehled

Spr ava hlavn pam eti

Spr ava hlavn pam eti

Poctacov e syst emy { prehled

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Operacn syst emy { prehled

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Management procesu I Mgr. Josef Horálek

Typologie, funkcn skladby a architektury OS

Podsyst em vstupu a v ystupu

Obnova transakc po v ypadku

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Projekt implementace ISMS Dodatek 1, PDCA

GPDR, General Data Protection Regulation

Hasov an (hashing) na vn ejsch pam etech

Prklad dokumentov e z akladny ISMS

Obnova transakc po v ypadku

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Typologie, funkcn skladby a architektury OS

Soubor, souborov e organizace

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Distribuovan e prostred, cas a stav v distribuovan em prostred

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Distribuovan e prostred, cas a stav v distribuovan em prostred

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Projekt implementace ISMS

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Soubor, souborov e organizace

Prklady opatren, zranitelnost a hrozeb

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Volba v udce, Leader Election

Procesy a vlákna (Processes and Threads)

Komunikace a synchronizace proces u

Soubor, souborov e organizace

Komunikace a synchronizace proces u

Rzen reakc na bezpecnostn incidenty

Volba v udce, Leader Election

Komunikace a synchronizace proces u

Politika informacn bezpecnosti

Souborov e syst emy { koncepty a rozhran

Služba ve Windows. Služba (service) je program

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Politika informacn bezpecnosti, Dodatek

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Operační systémy. Přednáška 2: Procesy a vlákna

Souborov e syst emy { koncepty a rozhran

Projekt implementace ISMS

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Politika informacn bezpecnosti, Dodatek

Von Neumannovo schéma

Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Projekt implementace ISMS, Dodatek 2, Pozn amky k projektov emu rzen

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Hierarchick e indexy, B / B+ stromy, tries

Transakce, soub eznost a uv aznut v distribuovan em prostred

ZOS OPAKOVÁNÍ. L. Pešička

Stavy procesů. Požadavky na OS při práci s procesy

Bezs n urov a telefonie, DECT

Stavy procesů. Požadavky na OS při práci s procesy

Procesy a vlákna. A3B33OSD (J. Lažanský) verze: Jaro 2014

Přidělování CPU Mgr. Josef Horálek

Přidělování paměti II Mgr. Josef Horálek

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

B azov y fenom en pri zajist'ov an bezpecnosti { riziko

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Anatomie informacn bezpecnosti

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Management procesu II Mgr. Josef Horálek

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Téma 3 Procesy a vlákna

Pojem Výpočetní proces. Požadavky na OS při práci s procesy. Stavy procesů

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

Koncept informacn bezpecnosti

N avrh a pouzit metrik informacn bezpecnosti, m eren v ISMS

projektu implementace ISMS

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Téma 3. Procesy a vlákna

Koncept informacn bezpecnosti II

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Principy operačních systémů. Lekce 3: Virtualizace paměti

3. Počítačové systémy

Distribuované systémy, role a principy OS

Principy operačních systémů. Lekce 1: Úvod

Počítač jako prostředek řízení. Struktura a organizace počítače

Stavba operačního systému

Rzen rizik. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2018

Rzen soub ezn eho prov ad en transakc

Transkript:

Procesy PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017

Uvodem k proces um Poctacov a platforma se skl ad a z kolekce hardwarov ych prostredk u procesor, hlavn pam et', IO moduly, casovac, disky,... Poctacov e aplikace jsou vyvinuty k tomu, aby provedli nejak y ukol zskaj vstupy z okol, n eco res, poskytnou v ystupy do okol Je neefektivn ps at poctacov e aplikace prmo pro jistou hardwarovou platformu mnoho funkc lze sdlet v mnoha r uznorod ych aplikacch procesor podporuje multiprogramov an minim aln e zdroje pouzvan e soub ezn e resen ymi aplikacemi je nutn e chr anit pred neopr avn en ym zprstup nov an Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 1

Uvodem k proces um Byly vyvinuty OS s clem poskytnout poctacov ym aplikacm pohodln e, mnoho ucelov e, bezpecn e a konzistentn rozhran na hardwarovou platformu OS je vrstva mezi aplikacemi a hardware OS lze povazovat za poskytovatele jednotn ych abstraktnch reprezentac zdroj u, kter e aplikace mohou pozadovat a zprstup novat si hlavn pamet', st'ov a rozhran, soubory dat,... OS zprostredkov av a sdlen zdroj u a zajist'uje jejich ochranu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 2

Program a proces Program soubor presn e denovan eho form atu obsahujc { posloupnost instrukc, prpadn e sdlen a vce procesy { data potrebn a k proveden stanoven eho ukolu Proces (Process, Task) akt prov ad en programu, instance v ypoctu podle programu proces je syst emov y objekt { jednotka aktivity charakterizovateln a prov ad enm posloupnosti instrukc, okamzit ym stavem a relevantn mnozinou syst emov ych zdroj u je charakterizovan y sv ym kontextem: OS prideluje prostor ve FAP proces um, ne program um, proces vlastn obraz virtu alnho (logick eho) adresov eho prostoru uchov avan y na vnejs pameti, proces m uze vlastnit soubory, I/O zarzen, okna na obrazovce, komunikacn kan aly k jin ym proces um (sockets),... OS prid eluje procesu cas procesoru, proces drz procesor = b ez Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 3

Klcov a role proces u v OS OS maximalizuje vyuzit procesoru prokl ad anm b eh u proces u OS minimalizuje dobu odpovedi procesu prokl ad anm beh u proces u OS spravuje zdroje jejich prid elov anm proces um podle vhodn e politiky priorita, vz ajemn a v ylucnost,... a mus pritom zabr anit,,uv aznut"proces u OS podporuje optim aln strukturov an aplikacnch syst em u OS podporuje tvorbu proces u a meziprocesovou komunikaci Vsechny OS s multiprogramov anm jsou zalozeny konceptu proces multiprogramov an = multitasking Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 4

Vl akno, thred Vl akno a prostred procesu Abstrakce jedn e z mozn ych sekvencnch cinnosti procesu Proces zahrnuje mimo prostred b ehu alespo n jedno vl akno nebo se m uze realizovat pomoc vce soubezne bezcmi vl akny Prostred b ehu procesu, kontext procesu Jedinecn y identik ator procesu v prostred rzen em OS Ctac instrukc Data obsazen a v registrech procesoru Logick y a fyzick y adresov y prostor, ukazatele a data je vymezujc N astroje pro synchronizaci a komunikaci vl aken a proces u (semafory,... ), priorita Komunikacn rozhran pro st'ovou komunikaci (sockets, IO zarzen a souvisejc stavov e informace Zdroje vyss urovn e (soubory, okna,... ) Uctovac informace (doba b ehu, doba existence) Vsechna vl akna jednoho procesu pln e sdlej prostred sv eho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 5

Data nutn a pro spr avu a rzen proces u Stavov e informace registry procesoru { obecn e (stradace,... ), speci aln { stav procesoru, ukazatel e z asobnku, ukazatel e haldy, ctac instrukc { registr s n avratovou adresou,... bez, cek a na ud alost, je pripraven y bezet,... Informace nutn e pro spr avu a rzen proces u priorita procesu, stav procesu informace o pouzv an zdroj u syst emu procesem { spotrebovan y cas procesoru, doba b ehu PID (process identifier), ucet vlastnka procesu,... seznam IO zarzen vlastn en ych procesem, seznam otevren ych soubor u, ukazatel e vyrovn avacch pam et pouzvan ych pro otevren e soubory,... informace o pouzvan ych prostorech v operacn pam eti { b aze, d elka oblasti / str ankovac tabulka pri virtualizaci paneti,...... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 6

Process (Task) Control Block (PCB, TCB), Process Descriptor Tabulka OS informac potrebn ych pro denici a spr avu procesu, vytv aren a, udrzovan a a pouzvan a operacnm syst emem, prp. n ekter ymi mikroprogramy Prostor pro uchov an denice prostred procesu, kter y umoz nuje b ezc proces prerusit a pozd eji v n em pokracovat jakoby k prerusen nedoslo Dalsm clem je podpora koexistence vce proces u pod jednm OS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 7

Generick y obsah PCB id procesu, jm eno procesu vlastnk procesu priorita procesu stav procesu stav ctace instrukc a dalsch registr u procesoru po prerusen informace potrebn e pro pl anov an procesoru informace potrebn e pro spr avu pam eti, denice adresov eho prostoru uctovac informace informace potrebn e pro spr avu I/O seznam otevren ych soubor u prid elen a pr ava procesu seznam vl aken procesu seznam potomk u procesu vazebn pole pro razen PCB do front, seznam u,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 8

Stavy procesu, 2-stavov a abstrakce Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 9

Stavy procesu, 5-stavov a abstrakce nov y, new { inici aln stav, pr av e vytvoren y proces, identikovateln y, dosud nepl anovan y b ezc, running { jeho program se pr ave interpretuje nekterou CPU cekajc, waiting { cek a az nastane jist a ud alost, jin a nez pridelen procesoru pripraven y, ready { cek a na prid elen procesoru, zvl astn stav cek an na jedin y typ ud alosti, na prid elen procesoru ukoncen y, terminated { ukoncil sv e prov ad en, st ale jest e identikovateln y Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 10

Stavy procesu, re aln ejs 5-stavov a abstrakce Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 11

Stavy procesu, 5-stavov a abstrakce, vce front cekajcch Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 12

Fronty / seznamy proces u, prklady Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 13

Fronty / seznamy proces u hrajc roli pri pl anov an proces u fronta pripraven ych proces u mnozina proces u pripraven ych k b ehu cekajcch pouze na prid elen procesoru fronta na prid elen zarzen seznam odlozen ych proces u mnozina proces u cekajcch na prid elen msta v hlavn pam eti, FAP fronta na semafor... mnozina proces u cekajcch synchronizacn ud alost Procesy mezi r uzn ymi frontami migruj Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 14

Odkl ad an, swapping Bezc proces mus mt pridelen y prostor ve FAP pro (alespo n aktu aln c ast) LAP I kdyz se pouzv a princip virtu aln pam eti, prlis mnoho proces u ve FAP snizuje v ykonnost syst emu jednotliv e procesy obdrz mal y prostor ve FAP a casto se jim po c astech vyme nuj aktu aln c asti LAP ve FAP OS mus pri pretzen FAP prov aden nekter ych proces u odlozit odlozen { swap-out,,,pl acnut"na disk obnova { swap-in,,,pl acnut"do FAP prib yvaj tak dals dva stavy proces u { 7stavov y model odlozen y pripraven y odlozen y cekajc Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 15

Dals d uvody pro odkl ad an OS m uze potlacit kter ykoliv z alozn nebo pomocn y proces nebo proces podezrel y, ze by tento mohl zp usobit probl em Uzivatel m uze potlacit sv uj proces napr. pri lad en nebo v souvislosti s moznost pouzvat n ejak y zdroj Casov an m uze periodicky obnovovat a odkl adat napr. uctovac nebo monitorovac procesy Rodicovsk y proces m uze odlozit prov aden potomka z d uvodu koordinace cinnost potomk u... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 16

Prechody mezi stavy (odlozen ych) proces u cekajc odlozen y cekajc uvoln en oblasti FAP obsazenou ladem lezc c ast LAP odlozen y cekajc odlozen y pripraven y stala se ocek avan a ud alost (stavovou info m a OS prstupnou) proces z ust av a odlozen y odlozen y pripraven y pripraven y uvolnil se prostor ve FAP pripraven y, resp. b ezc odlozen y pripraven y uvoln en c asti FAP ve prosp ech prioritn ejsch proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 17

Pl anovace v OS dlouhodob y pl anovac (strategick y pl anovac, job scheduler) vybr a kter y pozadavek na v ypocet lze zaradit mezi procesy denuje stupe n multiprogramov an je vyvol av an rdce, nemus b yt rychl y kr atkodob y pl anovac (operacn pl anovac, dispecer, dispatcher) reprezentace spr avy procesoru(- u) vybr a proces, kter y pobez na uvolnen em procesoru prid eluje procesu procesor (CPU) vyvol av an velmi casto, destky { stovky milisekund, mus b yt rychl y Stredn edob y pl anovac (taktick y pl anovac) Logicky n alez c astecne i do spr avy hlavn pameti (FAP) taktika vyuzv an omezen e kapacity FAP pri multitaskingu vybr a kter y proces je nutn e zaradit mezi odsunut e procesy (odebr a mu prostor ve FAP) vybr a kter emu odsunut emu proces lze opet pridelit prostor ve FAP Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 18

Dlouhodob y pl anovac, dispecer, zsk an/opust en CPU Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 19

Stredn edob y pl anovac, odkl ad an (suspending) proces u Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 20

Planov an procesoru a 7-stavovy model z ivota procesu Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 21

Frontov y 7-stavov y model pl anov an procesoru Pl anovac CPU vybr a z proces u, kter e sdl v hlavn pameti, ty procesy, kter e jsou pripraven e k behu { ready Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 22

Multitasking, procesy, zdroje, organizov an v OS Ve virtu aln pameti koexistuje n proces u M a-li OS rdit beh proces u a vyuzv an zdroj u, mus mt informaci o jejich stavu { typicky v tabulk ach Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 23

Rdic tabulky v OS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 24

Rdic tabulky v OS Tabulky spr avy pam eti denuj proces um pridelen e prostory ve FAP proces um pridelen e prostory v sekund arn pameti bedzpecnostn vlastnosti prstup u do sdlen ych oblast FAP data potrebn a pro virtualizaci pam eti Tabulky I/O syst emu denuj zda jsou I/O zarzen pridelen a, a pokud ano, kter ym proces um stavy I/O operac umst eni v hlavn pam eti s vyrovn avacmi pam etmi I/O operac Tabulky syst emu soubor u denuj extern identikaci soubor u umsten soubor u v sekund arn pameti vlastnosti soubor u (bezpecnost, organizace,... ) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 25

Rdic tabulky v OS Tabulky spr avy proces u id proces u, zdroje pridelen e proces um (pamet', IO,... ) stavy proces u, vazby mezi procesy { PCB (Process control block) prov azan s prslus. tabulkami IO syst emu, syst emu soubor u,... jsou predmetem spr avy pameti OS PCB (Process control block) identikace procesu (unik atn id, slouz co reference na proces) informace o stavu procesu { obsah uzivatelsk ych, rdicch a stavov ych registr u, ukazatel e z asobnk u,... informace nutn e pro rzen proces u Program status word (PSW) { stavov e informace napr. v Pentiu registr EFLAGS Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 26

Adresov y prostor procesu Adresov y prostor procesu (Logick y adresov y prostor procesu) spr avn jednotka virtu aln pam eti pro proces odpovdajc c asti LAP vyuzvan e procesem neprekr yvajc se oblasti dostupn e vl akn um procesu kazd a oblast { m a sv uj prostor (extent) vymezen y typicky b azovou adresou a d elkou { m a r/w/x prstupov a pr ava pro vl akna procesu { je typicky str ankov anm zobrazovan a do FAP { m uze se v dobe behu procesu zvetsovat / zmensovat Adresov y prostor v syst emech s OS Unix pevn a nemodikovateln a oblast text region s programem halda, heap, oblast rozsiriteln a do vyssch adres virtu alnho adresov eho prostoru procesu z asobnk, stack, oblast rozsiriteln a do nizsch adres virtu alnho adresov eho prostoru procesu libovoln y pocet dalsch pomocn ych oblast (auxiliary region) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 27

Adresov y prostor procesu (pr. Unix) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 28

Halda Adresov y prostor procesu { vybran e komponenty inicializovan a z c asti hodnotami ze souboru s bin arn verz programu dynamicky rozsirovateln a, dynamicky denovan y obsah Z asobnk obecne vzdy jeden pro kazd e vl akno v procesu obsluha typu LIFO (last-in, rst out ) pro ukl ad an n avratov e adresy pri vol an funkce pro ukl ad an lok alnch promenn ych funkce, pred av an parametr u,... prklad pomocn e oblasti { oblasti soubor u (File regions) Podpora zobrazov an soubor u z vnejs pameti do virtu aln pameti prklad pomocn e oblasti { sdlen e oblasti (Shared Memory Regions) Pro komunikaci sdlenm pam eti mezi procesy, mezi procesem a j adrem OS, pro umsten knihovnch podprogram u,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 29

Obrazy proces u ve virtu aln pameti Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 30

Vytvoren procesu, prepnut proces OS OS rozhodl, ze vytvor nov y proces prid el nov emu procesu jedinecn y id vyhrad ve fyzick em adresov em prostoru msto pro kazdou potrebnou komponentu obrazu procesu inicializuje PCB proces zarad do vhodn e fronty (mezi pripraven e procesy) vytvor nebo dopln potrebn e datov e struktury ( uctovac soubor apod.) Prciny prepnut proces OS prerusenm (interrupt) { je nutn a reakce OS na asynchronn ud alost, extern v uci bezcmu procesu (I/O, casovac, v ypadek,... ) synchronnm prerusenm (trap) { je nutn a reakce OS na ud alost souvisejc s prov ad enou instrukc (chyba, v yjimka, vol an sluzby OS) OS obslouz prcinu prerusen a rozhodne o dalsm postupu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 31

Context Switching, prepn an CPU mezi procesy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 32

Context Switching, prepn an CPU mezi procesy prepn an proces u m uze kriticky ovliv novat v ykon syst emu prepn an proces u je klcov y koncept multiprogramov an (multitasking) asociovan e probl emy proces cekajc na sign al od IO zarzen nesm sign al ztratit opakovan e pouziteln e zdroje mus b yt procesy zprstup novan e exkluzivn e { probl em synchronizace determinismus { v ysledky proces u nesm b yt z avisl e na frekvenci a okamziky prepn an mezi procesy... { viz pozdeji synchronizacn ulohy, uv aznut,... pozadavky na OS z hlediska multiprogramov an existuje politika (pravidla) urcujc b ezc proces(y) v j adru existuje k od (program) rdc prepn an { dispecer, pl anovac v j adru jsou implementovan e mechanismy ochrany pred skodliv ymi akcemi mezi (nez avisl ymi) procesy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 33

Pl anovac CPU, dispecer Pl anovac CPU je aktivovan y a pl anovac rozhodnut vyd av a v okamziku, kdy: b ezc proces prech az do stavu cekajc (na jistou ud alost) b ezc proces konc b ezc proces prech az do stavu pripraven y (uplynul cas po kter y smel bezet) cekajc proces prech az do stavu pripraven y (nastala ud alost, na kterou proces cekal) Prvn dva prpady se res vol anm prslusn e sluzby OS (synchronn e, nepreemptivn pl anov an) Posledn dva prpady se iniciuj na z aklad e v yskytu relevantnho prerusen (asynchronn e, preemptivn pl anov an) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 34

Pl anovac CPU, dispecer pred an procesoru z dispecera na proces predstavuje: nastaven kontextu procesu prepnut rezimu procesoru z privilegovan eho rezimu na uzivatelsk y rezim pred an rzen na msto v uzivatelsk em programu urcen e pro restart (start) procesu zpozd en zp usoben e dispecerem doba, kterou potrebuje dispecer pro pozastaven b ehu jednoho procesu a start behu jin eho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 35

OS se neres jako proces? OS je kolekce program u, kter a rd procesor Tradicn resen { j adro OS se res mimo rovinu proces u OS jako samostatn a entita b ez v privilegovan em rezimu mimo kontext proces u je aktivovan a prerusenm, provede sluzbu a sluzbu konc prepnutm procesoru na vybran y prst uzivatelsk y proces Na mal ych poctacch b yv a cel y OS resen y v kontextu uzivatelsk eho procesu, OS se ch ape jako kolekce (pod)program u, kter e uzivatelsk y proces vol a k proveden r uzn ych funkc Valnou c ast OS lze implementovat jako kolekci syst emov ych proces u b ezcch nad samostatn ym (funkcn e i rozsahem) minim alnm j adru (µ-j adru) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 36

Neprocesov e j adro koncept procesu se aplikuje pouze na aplikacn programy OS prebere rzen prerusenm, b ez v privilegovan em rezimu, uklid kontext b ezcho procesu do jeho PCB OS provede odpovdajc sluzbu a vybere prst e b ezc proces OS obnov kontext vybran eho procesu z jeho PCB vc. prepnut do neprivilegovan eho rezimu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 37

B eh OS v rezimu uzivatelsk eho procesu Souc ast obrazu procesu jsou podstatn e c asti j adra OS prebere rzen prerusenm, CPU se prepne do privilegovan eho rezimu NEUKLIZI se stav b ezcho procesu do jeho PCB OS provede prsl. sluzbu a rozhodne o prstm b ezcm procesu Pokud vybere prerusen y proces, neobnovuje kontext z PCB Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 38

Procesov e resen y OS Modul arn n avrh, jasn e denovan a rozhran J adro { kritick e funkce: dispecer, spr ava pameti, pred av an zpr av mezi procesy Vhodn e pro multiprocesorov e syst emy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 39

Vytvoren procesu kazd y OS mus mt mechanismy pro vytv aren nov ych proces u 2 zp usoby vytvoren nov eho procesu,,na zelen e louce": do pridelen e pameti (FAP) se zavede text programu a data vytvor se (pr azdn a) halda vytvor se a inicializuje se PCB proces se zprstupn dispecerovi klon existujcho procesu bezc proces se pozastav (vr at mezi pripraven e,... ) okopruje se text, data, dynamick e oblasti pameti,... a PCB nov y proces se zprstupn dispecerovi generujc i generovan y proces je informovan y o sv e roli (rodic, potomek) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 40

Vytvoren procesu klonem rodicovsk y proces vytv ar procesy potomky pomoc sluzby OS Potomci mohou vystupovat v roli rodic u a vytv aret svoje potomky,... formuje se tak strom genealogick y strom proces u Sdlen zdroj u mezi rodici a potomky { varianty rodic a potomek mohou sdlet zdroje p uvodn e vlastn en e rodicem potomek m uze sdlet s rodicem rodicem vyclen enou podmnozinu zdroj u potomek a rodic jsou plne samostatn e procesy, nesdl z adn y zdroj Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 41

Rodic a potomek Soub eh mezi rodici a potomky { varianty rodic a potomek m uze bezet soubezne rodic cek a na ukoncen potomka Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 42

Prklad vytv aren procesu { MS-DOS MS-DOS byl monoprogramov y syst em potomka vytv arela sluzba OS LOAD AND EXEC rodic z ust aval potlacen y, cekal na ukoncen potomka, procesy neb ezely soub ezn e Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 43

Prklad vytv aren procesu { Unix rodic vytv ar nov y proces { potomka vol anm sluzby fork vznikne identick a kopie rodicovsk eho procesu, oba procesy z ust avaj pripraven e potomek je upln ym duplik atem rodice a kazd y z obou proces u se pri vytv aren procesu dozvd a zda je rodic nebo potomek do potomkova adresov eho prostoru se pri vytv aren procesu zav ad program shodn y s rodicem potomek prp. pouzije vol an sluzby exec pro n ahradu programu rodice sv ym nov ym programem rodic se po vytvoren dozvd a, ze je rodic, potomek se po sv em vytvoren dozvd a, ze je potomek (fork() vrac potomku 0, rodici PID potomka) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 44

Unix, postup pri vytvoren procesu vol anm fork 1. Rzen prevezme OS a v rezimu j adra 2. v tabulce proces u OS pridel msto pro nov y PCB 3. potomkovi prid el jedinecn e PID 4. az na sdlenou oblast okopruje obraz procesu rodice 5. zv ys o 1 ctace pouzit vsem otevren ym soubor um rodicem 6. potomka zarad mezi pripraven e procesy 7. rodici vrac jako funkcn hodnotu PID potomka, potomkovi 0. 8. Dispecer vybere prst e b ezc proces, rzen se m uze vr atit rodici, predat potomkovi nebo i jin emu procesu potomek je spousten y za mstem, kde v rodici je fork Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 45

Co se deje po vytvoren procesu sdlen zdroj u rodic a potomci mohou sdlet zdroje rodice potomek m uze sdlet podmnozinu zdroj u rodice rodic a potomek nemus sdlet z adn e zdroje b eh proces u po vytvoren procesu rodic a potomek mohou bezet soubezne rodic m uze cekat na ukoncen potomka (v Unixu wait) rodic se m uze bezprostredn e ukoncit { pokud rodic skonc drve nez potomek, potomek po ukoncen se stane zombie Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 46

vol anm sluzby fork() Vytvoren procesu klonem, Unix fork() vytvor identickou kopii volajcho procesu po proveden fork() z ust av a rodic pripraven y proces a souper s potomkem o zsk an CPU po proveden fork() lze pouzt vol an sluzby exec, kter a nahrad pam et'ov y prostor procesu nov ym programem pid = fork(); if (pid == 0) { // proces potomka zde se nastaví prostředí pro potomka... } else { // rodičovský proces např. čeká na ukončení potomka wait(pid);} Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 47

Vytvoren procesu stylem Copy on Write Nov e vytv aren y proces pozaduje vytvoren nov eho prostred behu Tradicn forma vytvoren procesu unixov eho typu sluzba OS fork vytvor nov e prostred b ehu kopi prostred z adajcho procesu + sd elen nov emu procesu, ze je potomkem vytv arejcho procesu sluzba exec umozn volajcmu procesu denovat nov y program rdic proces kopi z udan eho souboru Vytvoren procesu zp usobem Copy on Write inici alne nov y proces sdl str anky s p uvodnm procesem pri z apisu do str anky nov ym procesem se vytvor pro nov y proces samostatn a kopie modikovan e str anky Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 48

Vytvoren procesu zp usobem Copy on Write Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 49

Ukoncen procesu Proces provede posledn prkaz programu a z ad a OS o (sv e) ukoncen (vol anm sluzby exit) v ystupn data procesu-potomka se mohou predat procesu-rodici, kter y cek a v prov aden sluzby wait Zdroje konccho procesu se uvol nuj O ukoncen procesu-potomka m uze poz adat jeho rodic (abort), protoze (napr.) potomek prekrocil stanovenou mez cerp an zdroj u ukol prid elen y potomkovi rodic d ale nepotrebuje Rodic konc svoji existenci a pri vytv aren potomka nebylo povoleno, aby potomek prezil sv eho rodice { m uze doch azet ke kask adnmu ukoncov an proces m uze koncit abnorm aln e, chybou v programu, uplynutm povolen e doby k behu,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 50

Formy kooperace proces u, viz samostatn a predn aska Nez avisl e procesy nemohou se vz ajemn e ovliv novat Kooperujc procesy mohou ovliv novat beh jin ych sdruzen ych proces u nebo jin e sdruzen e procesy mohou ovliv novat jejich beh Prnosy kooperace proces u sdlen informac urychlen v ypoct u { soub eznost resen modularita { snadn ejs implementace,,rozd el a panuj" pohodl { kazd y z proces u je snadneji prizp usobiteln y okol Klasick a paradigma kooperace producent { konzument, klient { server, cten ari { psari,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Procesy 51