Základné tematické okruhy

Slides:



Advertisements
Similar presentations
Multithreading Overview Multithreading Models Threading Issues
Advertisements

3.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Process An operating system executes a variety of programs: Batch system.
©2009 Operačné systémy Procesy. 3.2 ©2009 Operačné systémy Process in Memory.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows.
Threads. Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems.
Threads.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Chapter 4: Threads Overview Multithreading.
Based on Silberschatz, Galvin and Gagne  2009 Threads Definition and motivation Multithreading Models Threading Issues Examples.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Chapter 4: Threads READ 4.1 & 4.2 NOT RESPONSIBLE FOR 4.3 &
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 4: Threads Overview Multithreading Models Threading Issues.
Chapter 4: Threads Adapted to COP4610 by Robert van Engelen.
Chapter 4: Threads. 4.2CSCI 380 Operating Systems Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 4 Operating Systems.
Chapter 4: Threads. 4.2 Chapter 4: Threads Overview Multithreading Models Threading Issues Pthreads Windows XP Threads Linux Threads Java Threads.
Process Management. Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Chapter 4: Threads. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 4: Threads Overview Multithreading Models Threading Issues.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 4: Threads Modified from the slides of the text book. TY, Sept 2010.
Chapter 4: Threads.
Lecture 4: Processes & Threads. Lecture 4 / Page 2AE4B33OSS Silberschatz, Galvin and Gagne ©2005 Contents The concept of Process Process states and life-cycle.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Multithreaded Programming.
OPERATING SYSTEM CONCEPT AND PRACTISE
Chapter 5: Threads Overview Multithreading Models Threading Issues
Chapter 4: Multithreaded Programming
Process Management Presented By Aditya Gupta Assistant Professor
Chapter 3: Process Concept
Chapter 3: Processes.
INTRANSNET Contract No. G7RT-CT
Nadeem MajeedChoudhary.
Chapter 4: Threads.
Požiadavky na hardvér a možnosti použitia jednotlivých OS Windows
Example Bullet Point Slide
VOĽNE DOSTUPNÝ REFERENČNÝ MANAŽÉR
Paralelné algoritmy.
Chapter 4: Threads.
Operačné systémy Čo robí operačný systém ?
Chapter 3: Processes.
Yulia Šurinová "There is always a better way; it should be found."
Makrá v PowerPointe Joshua Lajčiak.
CGS 3763 Operating Systems Concepts Spring 2013
Chapter 4: Threads.
1. Úvod do operačného systému UNIX
Chapter 4: Threads.
7. prednáška 3. november 2003.
Chapter 4: Threads.
Vlastnosti kvantitatívnych dát
Šifrovanie Dešifrovanie
Ako manažovať smartfóny z cloudu TechDays East 2014
Modified by H. Schulzrinne 02/15/10 Chapter 4: Threads.
Heuristické optimalizačné procesy
Heuristické optimalizačné procesy
Veľkosť trhu agentúrnych zamestnancov
De Bonových 6 klobúkov myslenia
Seminár č. 9 - osnova Metódy sieťového plánovania a riadenia:
Centrálny Dátový Archív Dôveryhodné dlhodobé úložisko
Interaktívna kniha a e-learningový systém pre deti - Opera nehryzie
Chapter 4: Threads.
D Novinky v DSpace 6 Ivan Masár 6.
Využitie biomasy v environmentálnych biotechnológiách
Chapter 3: Processes.
Chapter 4: Threads.
Chapter 4: Threads.
Q:(a)Describe the action for a kernel to context switching for threads (b)why it is faster than processes?
Chapter 4: Threads.
Outline Chapter 3: Processes Chapter 4: Threads So far - Next -
Chapter 4: Threads.
Presentation transcript:

Základné tematické okruhy Procesy Vlákna Plánovanie procesov Komunikácia medzi procesmi Synchronizácia procesov Operačné systémy (vývoj, štruktúra,...) Správa pamäti Virtuálna pamäť Správa súborov Správa I/O zariadení

Procesy Charakteristiky procesu Stav procesu Riadiaci blok procesu Plánovanie (rozvrhovanie) procesu Prepínanie kontextu Operácie na procesoch

Vzťah: systémové volanie – operačný systém Používateľská aplikácia Používateľský mód Interfejs systémových volaní Mód jadra 3

Parameter prechádzajúci cez tabuľku Parameter Passing via Table X: Parametre pre sys. volanie Použi parametre z tabuľky X kód programu pre systémové volanie 13 Zaveď adresu X Používateľský program Operačný systém 4

PROCESY Pojem procesu Plánovanie procesov Činnosť v rámci procesov Komunikácia medzi procesmi Príklady medziprocesovej komunikácie Komunikácia v systémoch typu klient – server

Ciele Zaviesť pojem procesu – program v priebehu vykonávania, ktorý tvorí základ pre všetky výpočtové činnosti Opísať rozličné vlastnosti procesov vrátane plánovania, tvorby a ohraničení, komunikácie Opísať komunikáciu pre systémy s architektúrou klient –server.

Pojem procesu Operačný systém vykonáva rôzne druhy programov: Dávkové systémy – úlohy Systémy so zdieľaním času – používateľské programy alebo úlohy Učebnice (príručky) používajú termíny úloha a proces skoro (takmer) za zameniteľné Proces – program v štádiu vykonávania; vykonávanie procesu musí postupovať (napredovať) sekvenčným spôsobom Proces obsahuje: Počítadlo inštrukcií Programový zásobník Dátovú časť

Proces v pamäti zásobník halda dáta

Stav procesu V priebehu vykonávania procesu sa menia jeho stavy Nový: proces je práve vytvorený Bežiaci: vykonávajú sa inštrukcie programu Čakajúci: proces čaká na určitú udalosť, ktorá sa má vyskytnúť Pripravený: proces čaká na pridelenie procesora Ukončený: proces dokončil svoje vykonanie

Možné stavy procesu Diagram of Process State Výstup zo systému Prijatý do systému nový prerušenie áno ukončený pripravený bežiaci Čakanie na V/V alebo na udalosť Dokončenie V/V alebo udalosti Procesor pridelený Čakanie na Prijatý do systému čakajúci Plánovač pridelil procesor procesu

Riadiaci blok procesu Process Control Block (PCB) Informácia spojená s každým procesom Stav procesu Počítadlo inštrukcií Registre CPU Informácie pre plánovanie procesu Informácia pre správu pamäte Účtovacie informácie Informácie o V/V stave

Riadiaci blok procesu Process Control Block (PCB) Stav procesu Číslo procesu Počítadlo inštrukcií registre Rozsah pamäti pridelenej procesu Zoznam otvorených súborov

Prepínanie procesora (CPU) z procesu na proces Prepínanie kontextu procesov Operačný systém proces Prerušenie alebo systémové volanie vykonáva sa Ulož stav do idle nečinný Zaveď stav z nečinný Prerušenie alebo systémové volanie vykonáva sa Ulož stav do činný nečinný Zaveď stav z vykonáva sa

Ready Queue And Various I/O Device Queues

Representation of Process Scheduling

Addition of Medium Term Scheduling

Process Creation

C Program Forking Separate Process int main() { pid_t pid; /* fork another process */ pid = fork(); if (pid < 0) { /* error occurred */ fprintf(stderr, "Fork Failed"); exit(-1); } else if (pid == 0) { /* child process */ execlp("/bin/ls", "ls", NULL); else { /* parent process */ /* parent will wait for the child to complete */ wait (NULL); printf ("Child Complete"); exit(0);

Vlákna Základné atribúty vlákien Motivácia vytvárania vlákien Modelové situácie použitia vlákien Multivláknové modely Plánovanie procesov (vlákien) Plánovacie algoritmy

Vlákna Prehľad Multivláknové modely Knižnice vlákien Problémy vytvárania vlákien Príklady operačných systémov Windows XP Threads Linux Threads 20

Ciele Zaviesť pojem vlákno – základná jednotka pre plánovanie činnosti procesora ktorá tvorí základ viacvláknových (multithreaded) počítačových systémov. Diskutovať API pre Pthreads, Win32, a Java thread knižnice Problémy multivláknového programovania

Jednovláknové a multivláknové procesy 22

Prínosy Citlivosť Zdieľanie prostriedkov Ekonomičnosť Škálovateľnosť 23

Používateľské vlákna Správa vlákien vykonávaná pomocou používateľskej knižnice vlákien Tri základné knižnice vlákien: POSIX Pthreads Win32 threads Java threads 24

Vlákna jadra Podporované jadrom (kernel) Príklady Windows XP/2000 Solaris Linux Tru64 UNIX Mac OS X 25

Viacvláknové (multivláknové) modely Many-to-One One-to-One Many-to-Many 26

Many-to-One Mnoho (viac) používateľských vlákien je mapovaných do jedného vlákna na úrovni jadra Príklady Solaris Green Threads GNU Portable Threads 27

Many-to-One Model 28

One-to-One Tento model mapuje každé používateľské vlákno do jedného vlákna na úrovni jadra Príklady Windows NT/XP/2000 Linux Solaris 9 and later 29

One-to-one Model 30

Many-to-Many Model Umožňuje mapovať viacero používateľských vlákien do menšieho (rovnakého) počtu vlákien na úrovni jadra Dovoľuje operačnému systému vytvárať dostatočný počet vlákien jadra Solaris pred verziou 9 Windows NT/2000 with the ThreadFiber package 31

Many-to-Many Model 32

Plánovanie CPU Základné pojmy Kritériá plánovania Algoritmy plánovania Plánovanie viacprocesorového systému Plánovanie vlákna Príklady operačných systémov Ohodnotenie algoritmov 33

Ciele Predstaviť CPU plánovanie tvoriace základ pre multiprogramové operačné systémy Opis rôznych algoritmov plánovania CPU Prediskutovať hodnotiace kritériá pre výber algoritmov CPU-plánovania pre jednotlivé systémy

Histogram požadovaného času procesora 35

Striedanie postupnosti časov procesora a V/V zariadení 36

Plánovač času procesora Vyberá spomedzi procesov v pamäti tie, ktoré sú pripravené na vykonanie a uvoľňuje procesor pre jeden z nich. Plánovanie času procesora sa vykonáva, keď proces sa prepína zo stavu: 1. Bežiaci na čakajúci 2. Bežiaci na pripravený 3. Čakajúci na pripravený 4. Proces ukončil svoju činnosť Plánovanie pri 1 a 4 je nepreemptívne Plánovanie pri 2 a 3 je preemptívne 37

Dispečer Modul dispečera umožňuje procesoru riadiť procesy vybrané krátkodobým plánovačom. Jeho úlohou je: Prepínanie kontextu Prepínanie do používateľského režimu Skok na správne/vhodné miesto v používateľskom programe, aby sa tento program reštartoval (za účelom reštarovania tohto programu) Čakacia doba – čas, ktorý trvá dispečerovi zastavenie jedného procesu a spustenie iného procesu 38

Optimalizačné kritériá pri plánovacích algoritmoch Maximálne využitie procesora Maximálna priepustnosť Minimálny čas vykonania Minimálny čas čakania Minimálny čas odozvy 39

Určenie dlžky nasledujúceho požadovaného času procesora Je možné iba odhadovať dĺžku Môže byť určená na základe predchádzajúcej dĺžky požadovaného času procesora ako exponenciálny priemer 40

Predpovedanie dĺžky nasledujúceho požadovaného času procesora 41

Príklady exponenciálneho spriemerňovania  =0 n+1 = n Nedávna história sa nezapočítava  =1 n+1 =  tn Len aktuálne posledný požadovaný čas procesora sa započítava Ak rozšírime vzorec, dostaneme: n+1 =  tn+(1 - ) tn -1 + … +(1 -  )j  tn -j + … +(1 -  )n +1 0 Keďže aj  aj (1 - ) sú menšie alebo rovné 1, každý nasledujúci člen má menšiu váhu než jeho predchodca 42