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

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

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

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Poctacov e syst emy { prehled

Spr ava hlavn pam eti

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

Operacn syst emy { prehled

Management procesu I Mgr. Josef Horálek

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

Podsyst em vstupu a v ystupu

Obnova transakc po v ypadku

Typologie, funkcn skladby a architektury OS

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

GPDR, General Data Protection Regulation

Typologie, funkcn skladby a architektury OS

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Projekt implementace ISMS Dodatek 1, PDCA

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

Soubor, souborov e organizace

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

Hasov an (hashing) na vn ejsch pam etech

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

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

Distribuovan e prostred, cas a stav v distribuovan em prostred

Distribuovan e prostred, cas a stav v distribuovan em prostred

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

Projekt implementace ISMS

Prklady opatren, zranitelnost a hrozeb

Procesy a vlákna (Processes and Threads)

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

Volba v udce, Leader Election

Rzen reakc na bezpecnostn incidenty

Komunikace a synchronizace proces u

Soubor, souborov e organizace

Volba v udce, Leader Election

Soubor, souborov e organizace

Komunikace a synchronizace proces u

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

Politika informacn bezpecnosti, Dodatek

Politika informacn bezpecnosti

Komunikace a synchronizace proces u

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

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

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

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

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Souborov e syst emy { koncepty a rozhran

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

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

Von Neumannovo schéma

Politika informacn bezpecnosti, Dodatek

Projekt implementace ISMS

Souborov e syst emy { koncepty a rozhran

Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Transakce, soub eznost a uv aznut v distribuovan em prostred

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

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

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

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.

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

Hierarchick e indexy, B / B+ stromy, tries

Anatomie informacn bezpecnosti

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)

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

Téma 3 Procesy a vlákna

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

Management procesu II Mgr. Josef Horálek

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

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

Distribuované systémy, role a principy OS

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

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

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í

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

Téma 3. Procesy a vlákna

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

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

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

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

projektu implementace ISMS

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

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Koncept informacn bezpecnosti

Koncept informacn bezpecnosti II

Stavba operačního systému

Krit eria hodnocen informacn bezpecnosti, dodatek

09. Memory management. ZOS 2006, L.Pešička

Transkript:

Uvodem k proces um Procesy PB 152 Operacn syst emy Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2017 Poctacov a platforma se skl ad a z kolekce hardwarov ych prostredk u procesor, hlavn pamet', IO moduly, casovac, disky,... Poctacov e aplikace jsou vyvinuty k tomu, aby provedli nejak y ukol zskaj vstupy z okol, neco 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 alne zdroje pouzvan e soubezne resen ymi aplikacemi je nutn e chr anit pred neopr avnen ym zprstup nov an Jan Staudek, FI MU Brno PB152 Operacn systemy { 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 Program Program a proces soubor presne denovan eho form atu obsahujc { posloupnost instrukc, prpadne sdlen a vce procesy { data potrebn a k proveden stanoven eho ukolu Proces (Process, Task) akt prov aden programu, instance v ypoctu podle programu proces je syst emov y objekt { jednotka aktivity charakterizovateln a prov adenm 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 prideluje procesu cas procesoru, proces drz procesor = bez Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 2 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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 Vl akno, thred Vl akno a prostred procesu Abstrakce jedn e z mozn ych sekvencnch cinnosti procesu Proces zahrnuje mimo prostred behu 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 urovne (soubory, okna,... ) Uctovac informace (doba behu, doba existence) Vsechna vl akna jednoho procesu plne sdlej prostred sv eho procesu Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 4 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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 behu PID (process identifier), ucet vlastnka procesu,... seznam IO zarzen vlastnen ych procesem, seznam otevren ych soubor u, ukazatel e vyrovn avacch pamet pouzvan ych pro otevren e soubory,... informace o pouzvan ych prostorech v operacn pameti { b aze, d elka oblasti / str ankovac tabulka pri virtualizaci paneti,...... 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 systemy { Procesy 6 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 7

Generick y obsah PCB Stavy procesu, 2-stavov a abstrakce 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 pameti, denice adresov eho prostoru uctovac informace informace potrebn e pro spr avu I/O seznam otevren ych soubor u pridelen 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 systemy { Procesy 8 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 9 Stavy procesu, 5-stavov a abstrakce Stavy procesu, re aln ejs 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 systemy { Procesy 10 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 11

Stavy procesu, 5-stavov a abstrakce, vce front cekajcch Fronty / seznamy proces u, prklady Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 12 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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 behu cekajcch pouze na pridelen procesoru fronta na prid elen zarzen seznam odlozen ych proces u mnozina proces u cekajcch na pridelen msta v hlavn pameti, FAP fronta na semafor... mnozina proces u cekajcch synchronizacn ud alost Procesy mezi r uzn ymi frontami migruj 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 systemy { Procesy 14 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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... Prechody mezi stavy (odlozen ych) proces u cekajc odlozen y cekajc uvolnen 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 uvolnen c asti FAP ve prospech prioritnejsch proces u Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 16 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 17 Pl anovace v OS Dlouhodob y pl anovac, dispecer, zsk an/opust en CPU 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 prideluje 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 systemy { Procesy 18 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 19

Planov an procesoru a 7-stavovy model z ivota procesu St rednedob y planova c, odklad an (suspending) procesu Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 20 Jan Staudek, FI MU Brno Frontovy 7-stavovy model planov an procesoru PB152 Operacn systemy { Procesy PB152 Operacn systemy { Procesy 21 Multitasking, procesy, zdroje, organizovan v OS X Planova c CPU vyb ra z procesu, ktere s dl v hlavn pam eti, ty procesy, ktere jsou p ripravene k b ehu { ready Jan Staudek, FI MU Brno 22 2 Ve virtualn pam eti koexistuje n procesu 2 Ma-li OS r dit b eh procesu a vyu z van zdroju, mus m t informaci o jejich stavu { typicky v tabulkach Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 23

Rdic tabulky v OS 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 pameti Tabulky I/O syst emu denuj zda jsou I/O zarzen pridelen a, a pokud ano, kter ym proces um stavy I/O operac umsteni v hlavn pameti s vyrovn avacmi pametmi 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 systemy { Procesy 24 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 25 Tabulky spr avy proces u Rdic tabulky v OS 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 Adresov y prostor procesu Adresov y prostor procesu (Logick y adresov y prostor procesu) spr avn jednotka virtu aln pameti 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 systemy { Procesy 26 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 27

Adresov y prostor procesu (pr. Unix) Adresov y prostor procesu { vybran e komponenty Halda 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 pameti mezi procesy, mezi procesem a j adrem OS, pro umsten knihovnch podprogram u,... Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 28 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 29 Obrazy proces u ve virtu aln pameti Vytvoren procesu, prepnut proces OS OS rozhodl, ze vytvor nov y proces pridel 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 adenou instrukc (chyba, v yjimka, vol an sluzby OS) OS obslouz prcinu prerusen a rozhodne o dalsm postupu Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 30 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 31

Context Switching, prepn an CPU mezi procesy 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 opakovane pouziteln e zdroje mus b yt procesy zprstup novan e exkluzivne { 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 bezc 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 systemy { Procesy 32 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 33 Pl anovac CPU, dispecer Pl anovac CPU je aktivovan y a pl anovac rozhodnut vyd av a v okamziku, kdy: bezc proces prech az do stavu cekajc (na jistou ud alost) bezc proces konc bezc 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) 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 behu jednoho procesu a start behu jin eho procesu Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 34 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 35

OS se neres jako proces? Neprocesov e j adro 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 bez 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) 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 systemy { Procesy 36 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 37 B eh OS v rezimu uzivatelsk eho procesu Procesov e resen y OS 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 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 systemy { Procesy 38 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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) 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 uvodne vlastnen e rodicem potomek m uze sdlet s rodicem rodicem vyclenenou podmnozinu zdroj u potomek a rodic jsou plne samostatn e procesy, nesdl z adn y zdroj Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 40 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 41 Rodic a potomek 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 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 systemy { Procesy 42 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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) 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 systemy { Procesy 44 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 45 Co se deje po vytvoren procesu Vytvoren procesu klonem, Unix 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 bezprostredne ukoncit { pokud rodic skonc drve nez potomek, potomek po ukoncen se stane zombie vol anm sluzby fork() 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 pamet'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 systemy { Procesy 46 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 47

Vytvoren procesu stylem Copy on Write Vytvoren procesu zp usobem 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 behu kopi prostred z adajcho procesu + sdelen 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 systemy { Procesy 48 Jan Staudek, FI MU Brno PB152 Operacn systemy { 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 pridelen 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,... Formy kooperace proces u, viz samostatn a predn aska Nez avisl e procesy nemohou se vz ajemne 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 { soubeznost resen modularita { snadnejs implementace,,rozdel 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 systemy { Procesy 50 Jan Staudek, FI MU Brno PB152 Operacn systemy { Procesy 51