Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek http://www..muni.cz/usr/staudek/vyuka/ Verze : jaro 2015



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

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Procesy a vlákna (Processes and Threads)

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

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

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

Spr ava hlavn pam eti

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

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

Podsyst em vstupu a v ystupu

Spr ava hlavn pam eti

Distribuovan e algoritmy

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

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

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

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

Operacn syst emy { prehled

Obnova transakc po v ypadku

Operacn syst emy { prehled

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

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

Poctacov e syst emy { prehled

Projekt implementace ISMS Dodatek 1, PDCA

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

Typologie, funkcn skladby a architektury OS

Téma 3. Procesy a vlákna

Podsyst em vstupu a v ystupu

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

Uvod, celkov y prehled problematiky

Stavba operačního systému

Projekt implementace ISMS

Uvod, celkov y prehled problematiky

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

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

Typologie, funkcn skladby a architektury OS

Obnova transakc po v ypadku

Hasov an (hashing) na vn ejsch pam etech

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

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Prklad dokumentov e z akladny ISMS

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

GPDR, General Data Protection Regulation

Management procesu I Mgr. Josef Horálek

Volba v udce, Leader Election

Principy operačních systémů. Lekce 4: Správa procesů

Operační systémy. Přednáška 1: Úvod

Volba v udce, Leader Election

Téma 3 Procesy a vlákna

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

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Bezs n urov a telefonie, DECT

Soubor, souborov e organizace

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

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

Komunikace a synchronizace proces u

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

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

Distribuovaný systém je takový systém propojení množiny nezávislých počítačů, který poskytuje uživateli dojem jednotného systému.

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

Distribuovan e prostred, cas a stav v distribuovan em prostred

Základy informatiky. Operační systémy

Von Neumannovo schéma

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

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

Úvod do Linuxu. SŠSI Tábor 1

Politika informacn bezpecnosti, Dodatek

Management procesu II Mgr. Josef Horálek

Distribuovan e prostred, cas a stav v distribuovan em prostred

Politika informacn bezpecnosti, Dodatek

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Procesy a vlákna Mgr. Josef Horálek

Komunikace a synchronizace proces u

OPERAČNÍ SYSTÉMY. Ing. Luděk Richter

PB002 Základy informačních technologií

Operační systémy Rozdělení a popis. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1124_Operační systémy Rozdělení a popis_pwp

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

Projekt implementace ISMS

Principy operačních systémů. Lekce 2: Správa paměti

11 Návrh programového vybavení

Vlákna Co je to vlákno?

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

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

Souborov e syst emy { koncepty a rozhran

Přednáška. Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Paralelní programování

Komunikace a synchronizace proces u

Matematika v programovacích

Vláknové programování část I

Disková pole (RAID) 1

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

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

Software Operaèní systém autorské dílo licenci multilicenci Aplikaèní software Komerèní programy upgrade OEM software Demoverze a zku ební verze

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

Práce s velkými sestavami

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Transkript:

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

Proces, resp. tak e task { drzitel zdroj u, vc. prostoru ve virtu aln pam eti pro uchov an obrazu procesu { jednotka pl anov an cl dynamick eho prid elov an procesoru pro b eh procesu Vl akno Sekvencn d ej denovateln y v procesu. Pro OS jednotka pl anov an, nikoli vlastnictv zdroj u Vsechna vl akna denovan a v procesu se res soubezne, multitasking. Proces a vl akna Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 1

Koncept sekvencnho procesu m uze b yt neefektivn Textov y editor cte z kl avesnice prkazy k editaci fom atuje text podle prkaz u z d uvodu spolehlivosti se pozaduje periodicky koprovat editovan y text do diskov eho souboru Resen editoru cist e sekvencnm procesem b ehem archivace bude ignorovat kl avesnici a mys dokud se archivace neukonc, v ykon editov an bude nzk y Naprogramov an do editoru obsluhy prerusen od mysi a kl avesnice b ehem archivace v ykon se vyleps, program bude slozit y Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 2

Resen editoru pomoc vl aken Resen probl emu tremi procesy probl em neres, vsechny tri procesy by musely pracovat s jedin ym dokumentem Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 3

vl akno (thread) Proces a vl akno syst emov y objekt, kter y se vytv ar v r amci procesu je viditeln y pouze uvnitr procesu je charakterizov an sv ym stavem (procesory se prid eluj vl akn um),,klasick y process"{ proces s jednm vl aknem vl akno se nach az ve stavech: bez, pripraven e,... kdyz vl akno neb ez, kontext vl akna je ulozen y v TCB (Thread Control Block): { jeho prov adec z asobnk, obraz PC, obraz registr u,... vl akno m uze pristupovat k LAP a k ostatnm zdroj um sv eho procesu tyto zdroje sdlej vsechny vl akna jednoho procesu { jakmile 1 vl akno zmen obsah nekter e bu nky LAP, vsechny ostatn vl akna (t ehoz procesu) nov y obsah vid { soubor otevren y jednm vl aknem vid vsechny ostatn vl akna (t ehoz procesu) skupina vl aken jednoho procesu sdl promenn e (LAP, pridelen y FAP), otevren e soubory,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 4

Multitasking / multithreading Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 5

Vl akna vs. Procesy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 6

Web server resen y pomoc vl aken Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 7

Klient-server resen y pomoc vl aken Proces m uze denovat vce aktivit provediteln ych soub ezn e Napr. server m uze obsluhovat vce pozadavk u klient u soub ezn e Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 8

Pouzit vl aken Univerz aln n astroj pro vsechny aplikace od interaktivnho kreslen po hry napr. b ehem cten kl avesnice jednm vl aknem jin e vl akno vykresluje obr azek Efektivn vyuzit multiprocesorov ych poctac u moznost skutecn e paralelnho b ehu vl aken na r uzn ych procesorech msto multitaskingu sdlejcho jedin y procesor Prednosti Vl akno se vytvor rychleji nez proces Vl akno se ukonc rychleji nez proces Mezi vl akny se rychleji prepn a nez mezi procesy Dos ahne se leps strukturalizace programu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 9

Prnosy pouzit vl aken, prklady aplikac proc se zav ad vl akna v r amci procesu, prklady prnos u menu vypisovan e soub ezn e se zpracov anm periodicky prov ad en automatick e kopie souboru prekreslov an obrazovky soub ezn e se zpracov anm dat paralelizace algoritmu v multiprocesoru dosazen leps strukturalizace programu Prklady Souborov y server LAN { mus vyrizovat behem kr atk e doby nekolik pozadavk u na soubory { pro vyrzen kazd eho pozadavku se zrd samostatn e vl akno Symetrick y multiprocesor { na r uzn ych procesorech m uze bezet vce vl aken soucasne jedno vl akno zobrazuje menu a cte vstup od uzivatele a soucasn e jin e vl akno prov ad prkazy uzivatele periodick e prov ad en automatick e kopie souboru prekreslov an obrazovky soub ezn e se zpracov anm Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 10

Co se zsk a pouzitm vl aken schopnost l epe reagovat na resen y probl em multivl aknov a interaktivn aplikace m uze st ale b ezet, i kdyz jej c ast je blokovan a / se dlouho res /... interakce s prohlzecem v jednom vl aknu prohlzece, zav aden obr azku jin ym vl aknem snazs sdlen zdroj u aplikace, kter e se lis pouze n ekolika odlisn ymi aktivitami resen ymi samostatn e vl akny, mohou sdlet stejn y adresov y prostor, hlavn program,... Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 11

Co se zsk a pouzitm vl aken snzen syst emov e rezie prepn an kontextu mezi vl akny je jednoduss nez prepn an kontextu mezi procesy napr. Solaris { vytvoren procesu je 30x pomalejs nez vytvoren vl akna { prepn an kontextu mezi procesy je 5x pomalejs nez mezi vl akny ucinn ejs vyuzit multiprocesorov ych architektur soub eznost resen vl aken m uze nab yt formy paralelismu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 12

Prklad pouzit vl aken: RPC, Remote Procedure Call Program prov ad dve RPC ke 2 r uzn ym server um a poct a v ysledek z obou hodnot Implementace pomoc 1-vl aknov eho procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 13

Prklad pouzit vl aken: RPC, Remote Procedure Call Program prov ad dve RPC ke 2 r uzn ym server um a poct a v ysledek z obou hodnot Implementace pomoc vce-vl aknov eho procesu na monoprocesoru { 1 vl akno na 1 server Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 14

Probl em konzistence mezi vl akny Mejme aplikaci kter a sest av a z vce nez avisl ych c ast C asti nemus b ezet v sekvenci Kazd a c ast se implementuje jako vl akno Vlastnosti takov e implementace Kdyz vl akno cek a konec I/O operace, m uze bezet jin e vl akno t ehoz procesu, aniz by se prepojovalo mezi procesy vl akna jednoho procesu sdl pam et' a soubory a tudz mohou mezi sebou komunikovat, aniz by k tomu potrebovaly sluzby j adra vl akna jedn e aplikace se proto mus mezi sebou synchronizovat, aby se zachovala konzistentnost zpracov avan ych dat Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 15

Prklad probl emu zachov an konzistence dat Sc en ar v procesu jsou vytvorena vl akna T 1 a T 2 T 1 poct a C = A + B, T 2 pren as hodnotu X z A do B: A = A X; B = B + X T 1 a T 2 bez soubezne, nevme jak rychle kazd e z nich Form aln predstava o chov an syst emu vl aken T 1 a T 2 T 2 udel a A = A X a B = B + X T 1 poct a C = A + B, hodnota C se tudz proveden T 2 nezmen Mozn a realita T 2 udel a A = A X T 1 spoct a C = A + B = A X + B T 2 udel a B = B + X, coz C uz neovlivn Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 16

Stavy vl aken tri klcov e stavy bez pripraven e cekajc vsechny vl akna jednoho procesu sdlej stejn y adresov y prostor vl akna se samostatn e neodkl adaj ukoncen procesu ukoncuje vsechny vl akna existujc v r amci tohoto procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 17

Typy vl aken User-Level Threads (ULT) j adro OS podporuje procesy vl akna podporuje vl aknov a knihovna sestavovan a do programu uzivatele Kernel-Level Threads (KLT) podporuje je prmo j adro OS tak e lightweight processes nebo kernel-supported threads Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 18

Vl akna na uzivatelsk e urovni, ULT User-Level Threads (ULT) vlastnosti Spr ava vl aken se prov ad prostrednictvm vl aknov e knihovny (thread library) na urovni uzivatelsk eho / aplikacnho procesu, j adro o jejich existenci nev Prepojov an mezi vl akny nepozaduje prov ad en funkc j adra neprepn a se ani kontext procesu ani rezim procesoru Pl anov an prepn an vl aken je specick e pro konkr etn aplikaci aplikace si vol pro sebe nejvhodn ejs algoritmus prklady POSIX { Pthreads Mach { C-threads Solaris { threads Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 19

Vl akna na uzivatelsk e urovni, ULT Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 20

Vztahy mezi ULT vl akny a stavy procesu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 21

Vl akna na uzivatelsk e urovni, ULT vl aknov a knihovna obsahuje funkce pro vytv aren a rusen vl aken pred av an zpr av a dat mezi vl akny pl anov an beh u vl aken uchov av an a obnova kontext u vl aken Co del a j adro pro vl akna na uzivatelsk e urovni J adro nev o aktivite vl aken, manipuluje pouze s procesy Kdyz nekter e vl akno zavol a sluzbu j adra a cek a dokud se sluzba nespln je blokov an cel y proces, viz predchoz bod Stavy vl aken jsou na stavech procesu nez avisl e pro vl aknovou knihovnu m uze vl akno b yt st ale ve stavu,,bezc" i kdyz je proces vr acen y mezi,,pripraven e"procesy Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 22

Vl akna na uzivatelsk e urovni, ULT Prednosti Prepojov an mezi vl akny nepozaduje prov ad en j adra neprepn a se ani kontext ani rezim procesoru Pl anov an je specick e pro konkr etn aplikaci { vol si pro sebe nejvhodn ejs algoritmus { ULT mohou bezet pod kter ymkoliv OS { ULT potrebuj pouze adekv atn vl aknovou knihovnu Nedostatky V etsina vol an sluzeb zp usobuje blokov an procesu J adro blokuje procesy a ne vl akna Takze z adn e vl akno existujc v r amci procesu nem uze bezet J adro m uze prid elovat procesor pouze proces um, takze dv e vl akna jednoho procesu nemohou b ezet paraleln e, i kdyz proces b ez v multiprocesoru Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 23

Vl akna na urovni j adra, KLT Kernel-Level Threads (KLT) vlastnosti Celou spr avu vl aken podporuje j adro, vl aknov a knihovna se nepouzv a pouzv a se API na vl aknov e sluzby j adra Informaci o kontextu procesu a vl aken udrzuje j adro Prepojov an mezi vl akny aktivuje j adro Pl anov an se res na b azi vl aken prklady OS/2 Windows 95/98/NT/2000/XP Solaris, Tru64 UNIX, Linux Mac OS X Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 24

Vl akna na urovni j adra, KLT Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 25

Vl akna na urovni j adra, KLT Prednosti j adro m uze soucasne pl anovat beh vce vl aken stejn eho procesu na vce procesorech k blokov an doch az na urovni vl aken i programy j adra mohou mt multi{vl aknov y charakter Nedostatky prepojov an mezi vl akny t ehoz procesu zprostredkov av a j adro pri prepnut vl akna se 2x se prepn a rezim procesoru v ysledkem je zpomalen, snzen dostupn eho aplikacnho v ykonu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 26

Kombinace ULT/KLT vl akna se vytv arej v uzivatelsk em prostoru program ator m uze nastavit pocet vl aken na urovni j adra lze kombinovat prnosy obou prstup u podporuje Solaris Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 27

Kombinace ULT/KLT Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 28

1 : 1 Multivl aknov e modely Kazd y ULT se zobrazuje do jednoho KLT tradicn Unixy verze n : 1 Vce ULT se zobrazuje do jednoho KLT pouzv a se na syst emech, kter e nepodporuj KLT Windows 95/98/NT/2000/XP, Linux, Solaris 9 a vyss verze. Solaris Green Threads, GNU Portable Threads n : m vce ULT se m uze zobrazovat do vce KLT OS m uze vytvorit dostatecn y pocet KLT Solaris do verze 9, Windows NT/2000 with the ThreadFiber package two-level model { model n : m s moznost v azat konkr etn ULT na konkr etn KLT (IRIX, HP=UX, True64 Unix) Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 29

Multivl aknov e modely Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 30

Vl akna v syst emu Solaris OS nevid ULT OS prid eluje procesor KLT Lightweight process (LWP) rozhran pro paralelismus pro aplikace kazd y LWP podporuje 1 nebo vce ULT a zobrazuje je do jednoho KLT Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 31

Proces ve Windows a jeho zdroje Jsou implementovan e jako objekty Proces lze vytvorit jako nov y proces nebo jako kopii existujcho procesu V procesu lze denovat jedno nebo vce vl aken Procesy i vl akna maj vestav en e synchronizacn vlastnosti Proces je denovan y jist ym poctem akc /sluzeb, kter e m uze vykon avat prov ad sluzbu, kdyz je volan y n ekterou z publikovan ych metod rozhran vznik a jako nov y proces generov anm instance objektu ze sablony vlastnostem objektu se prirad hodnoty pri generov an objektu Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 32

Vztah proces u a zdroj u ve Windows Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 33

Vlastnosti objektu proces ve Windows Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 34

Vlastnosti objektu vl akno ve Windows Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 35

Stavy vl akna ve Windows Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 36

Windows 7 Architecture, vl akna a SMP vl akna vsech proces u vc. syst emov ych (Executive) mohou b ezet na kter emkoliv dostupn em procesoru vl akna mohou bezet paralelne vl akna jednoho procesu mohou bezet paralelne na r uzn ych procesorech v r amci jednoho procesu server m uze pouzt vce vl aken pro soucasnou obsluhu vce klient u soucasn e data a zdroje mohou procesy sdlet procesy mohou mezi sebou komunikovat Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 37

Vl akna Java, prklad Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 38

Vlakna Java, p r klad Jan Staudek, FI MU Brno PB152 Operacn systemy { Vlakna 39

Vl akna Java vl akna jsou fundament alnm model resen javovsk eho programu jak implementovat JVM do hostitelsk eho OS z adn y standard neres { napr. XP: model 1:1 vl aknov a knihovna Java b yv a mapovan a na vl aknovou knihovnu hostitelsk eho OS { JVM ve XP: na API Win32 { JVM v Linux/Solaris: na API Pthreads Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 40

Pozn amky k pr aci s vl akny s emantika fork() a exec() fork duplikuje proces v jednovl aknov em procesu m a duplikovat cel y proces nebo jenom vl akno, kter e fork vyvolalo? jak ukoncit beh (clov eho) vl akna, kter y dosud neskoncil? asynchronn zrusen { jedno vl akno bezprostredn e ukonc clov e vl akno odlozen e zrusen { clov e vl akno se periodicky dotazuje, zda m a skoncit Ozn amen prerusen clov eho vl akna Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 41

Pozn amky k pr aci s vl akny odlozen e zrusen { kontrolov an stavu,,prerusen" Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 42

Pozn amky k pr aci s vl akny zvl ad an sign al u sign al { Unixovsk a softwarov a notikace procesu, ze se stala (oznamovan a) ud alost sign aly spravuje spr avce sign al u sign al se procesu dopravuje operacnm syst emem (programov e) volby: { m a se sign al dorucit 1 konkr etnmu vl aknu v clov em procesu? { m a se sign al dorucit vsem vl akn um v clov em procesu? { m a se sign al dorucit jen jist ym vl akn um v clov em procesu? { m a jedno vl akno spravovat vsechny sign aly dorucen e procesu? Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 43

Pozn amky k pr aci s vl akny pr ace s bankem vl aken (Thread Pool) bank vl aken { skupina vl aken pripraven ych na spusten pri z adosti o n asobnou obsluhu serverem se nemus generovat nov e vl akno neomezen e generov an nov ych vl aken by mohlo vycerpat dostupn e zdroje pripraven e vl akno se rychleji spust nez vytv aren e vl akno tri javovsk e architektury banku vl aken: 1. Single thread executor { bank o rozmeru 1 2. Fixed thread executor { bank o rozmeru > 1 3. Cached thread pool - bank neomezen eho rozsahu pr ace s vlastnmi daty vl akna (Thread Specific Data) vl akno m uze mt vlastn kopii dat, nesdlenou s ostatnmi vl akny procesu napr. pri pouzv an banku vl aken Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 44

Prklady vl aknov ych knihoven Pthreads standard API, IEEE 1003.1c, pro vytv aren a synchronicazi vl aken API urcuje chov an, implementaci standard nepredpisuje pouzvaj unixov e orientovan e syst emy (Solaris, Linux, Mac OS X) Windows XP Threads implementuje mapov an 1:1 kazd e vl akno sest av a z: id vl akna, sestava registr u, samostatn y uzivatelsk y z asobnk a z asobnk j adra a priv atn pamet'ov a oblast { kontext vl akna vl akna v Linuxu Linux pouzv a pojem tasks msto threads (vl akno) vl akno se vytv ar vol anm syst emu clone() vl akno je potomek a sdl s rodicovsk ym procesem adresov y prostor Jan Staudek, FI MU Brno PB152 Operacn syst emy { Vl akna 45