1 / 42

Základné tematické okruhy

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

iolani
Download Presentation

Základné tematické okruhy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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í

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

  3. 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

  4. Parameter prechádzajúci cez tabuľkuParameter 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

  5. 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

  6. 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.

  7. 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ť

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

  9. 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

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

  11. 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

  12. 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

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

  14. Ready Queue And Various I/O Device Queues

  15. Representation of Process Scheduling

  16. Addition of Medium Term Scheduling

  17. Process Creation

  18. 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); } }

  19. 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

  20. 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

  21. 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

  22. Jednovláknové a multivláknové procesy

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

  24. 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

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

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

  27. 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

  28. Many-to-One Model

  29. 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

  30. One-to-one Model

  31. 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

  32. Many-to-Many Model

  33. 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

  34. 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

  35. Histogram požadovaného času procesora

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

  37. 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

  38. 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

  39. 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

  40. 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

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

  42. 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

More Related