Von Neumannovo schéma

Podobné dokumenty
vjj 1. Priority. Dispatcher

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

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Procesy a vlákna (Processes and Threads)

Stavba operačního systému

Co mi to tu vlastně běží?

Memory Management vjj 1

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

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

OS Plánování procesů

Memory Management vjj 1

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

Management procesu I Mgr. Josef Horálek

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

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

Systém adresace paměti

Vývoj aplikačních programů pro systémy DAQ Možnosti vývoje aplikačního SW Jazyk C/C++ Pokročilé techniky programování Vícevláknové aplikace

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23

Virtuální přístroje. Použitá literatura. Operační systémy, vývoj aplikačních programů, speciální techniky programování

Struktura programu v době běhu

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

Operační systémy. Přednáška 3: Plánování procesů a vláken

Operační systémy. Přednáška 4: Komunikace mezi procesy

Logická organizace paměti Josef Horálek

Operační systémy 2. Přednáška číslo 1. Úvod do OS

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Procesy a vlákna Mgr. Josef Horálek

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Principy operačních systémů

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

Operační systém. Logické prostředky výpoč etního systému jsou:

Operační systémy. Přednáška 8: Správa paměti II

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

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

07. Plánování procesů Deadlock. ZOS 2006, L. Pešička

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

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Přidělování zdrojů (prostředků)

Ukázka zkouškové písemka OSY

Téma 3. Procesy a vlákna

Ukazky Zdroje:... 17

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

Témata profilové maturitní zkoušky

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

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

Témata profilové maturitní zkoušky

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

a co je operační systém?

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

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

Přerušovací systém s prioritním řetězem

PB153 Operační systémy a jejich rozhraní

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Virtuální přístroje. Operační systémy, vývoj aplikačních programů, speciální techniky programování

OPS Paralelní systémy, seznam pojmů, klasifikace

Strojový kód. Instrukce počítače

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

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í

Operační systémy. Přednáška 7: Správa paměti I

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

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

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

operační systém vjj 1

Windows a real-time. Windows Embedded

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Činnost počítače po zapnutí

Adresní mody procesoru

Technické prostředky počítačové techniky

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

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.

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

Implementace systémů HIPS: historie a současnost. Martin Dráb

Architektury počítačů a procesorů

HelenOS ARM port. Pavel Jančík Michal Kebrt Petr Štěpán

Profilová část maturitní zkoušky 2014/2015

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

ZOS. Verze 2010-srpen-31, v3 L. Pešička

Metody připojování periferií BI-MPP Přednáška 2

Architektura počítače

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

Operační systémy. Tomáš Hudec.

Téma 3 Procesy a vlákna

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

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

Operační systémy. Přednáška 9: Správa paměti III

Principy operačních systémů. Lekce 6: Synchronizace procesů

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

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

Instalace OS, nastavení systému

MetaCentrum - Virtualizace a její použití

PB002 Základy informačních technologií

Transkript:

Multitasking

Von Neumannovo schéma RAM 3 ADD SUB ZA input 20 28 010 100 registr dat 2 registr instrukcí op. code adr 7 LOAD 28 mikroprogramy 30 32 LOAD 28 ADD 20 registr adres 1 4 6 R W 30 čítač instrukcí 5 A +2

time quantum expired RAM 3 ADD SUB ZA 100 input Interrupt 20 28 30 32 010 100 LOAD 28 ADD 20 100 registr dat registr adres 32 2 7 1 6 4 registr instrukcí op. code adr LOAD 28 mikroprogram LOAD 1000100 0 00 000 0000000 1 10 000 0100010 0 00 000 0000000 0 10 001 0000001 0 00 000 0 1 0 0 0 1 0 0 0 0 0 0 0 R W 32 čítač instrukcí 5 A +2

time quantum expired Instrukce, tj. její mikroprogram, doběhne až do konce, a pak

přerušení RAM 100 3 ADD SUB ZA 100 input Interrupt 20 28 010 100 registr dat 2 registr instrukcí op. code adr 7 ADD 20 mikroprogramy 30 32 LOAD 28 ADD 20 registr adres 1 4 6 R W 32 čítač instrukcí 5 A +2

stav procesu RAM 100 pgm 01 registr instrukcí pgm 02 ADD 20 mikroprogramy System 32 čítač instrukcí

úklid 1. fáze HW 100 Interrupt RAM 100 pgm 01 registr instrukcí pgm 02 S ADD 20 mikroprogramy System úklid. obl. 32 čítač instrukcí

příprava ošetření přerušení RAM int xxx int yyy pgm 01 registr instrukcí interrupt pgm 02 System S mikroprogramy úklid. obl. čítač instrukcí

ošetření přerušení RAM int xxx int yyy 3 ADD SUB ZA input pgm 01 registr dat 2 registr instrukcí op. code adr pgm 02 System registr adres 7 1 4 mikroprogramy 6 úklid. obl. R W čítač instrukcí 5 A +2

dokončení ošetření přerušení RAM int xxx int yyy pgm 01 registr instrukcí pgm 02 System S mikroprogramy úklid. obl. čítač instrukcí

context switching

úklid 2. fáze SW RAM int xxx int yyy pgm 01 úklid. obl. pgm 02 S registr instrukcí mikroprogramy System úklid. obl. čítač instrukcí

Systém -... RAM int xxx int yyy 3 ADD SUB ZA input pgm 01 registr dat 2 registr instrukcí op. code adr pgm 02 System registr adres 7 1 4 mikroprogramy 6 úklid. obl. čítač instrukcí 5 A +2

Systém - výběr RAM int xxx int yyy pgm 01 úklid. obl. pgm 02 úklid. obl. S registr instrukcí mikroprogramy System úklid. obl. čítač instrukcí

obnova RAM int xxx int yyy pgm 01 úklid. obl. pgm 02 úklid. obl. S registr instrukcí mikroprogramy System úklid. obl. čítač instrukcí

problém procesy a vlákna se mohou navzájem ovlivňovat spolupráce souboj oddělené adresové prostory virtuální paměť spící proces stav registrů tabulky virtuální paměti...

opakování 13.06.2018 vjj 20

P3 running P1 is sleeping INT is sleeping P2 is sleeping a bed for P3. P3 is working in workshop.. SYSTEM is sleeping. a bed for OUT a bed for IN

context switch P1 sleeping INT sleeping P2 sleeping a bed for P3. P3 working.. SYSTEM sleeping. a bed for OUT a bed for IN sleeping

INT running P1 sleeping INT sleeping P2 sleeping a bed for P3. INT working.. SYSTEM sleeping. P3 sleeping a bed for IN

context switch P1 sleeping INT sleeping P2 sleeping a bed for P3. INT working.. SYSTEM sleeping. P3 sleeping a bed for IN

SYSTEM running P1 sleeping INT sleeping P2 sleeping a bed for P3 SYSTEM working... SYSTEM sleeping. P3 sleeping a bed for IN

context switch a bed for P1 INT sleeping P2 sleeping P3 sleeping. SYSTEM working.. SYSTEM sleeping. a bed for OUT P2 sleeping

P2 running a bed for P1 INT sleeping P2 sleeping P3 sleeping. P2 working.. SYSTEM sleeping. a bed for OUT a bed for IN

13.06.18 vjj 28 virtuální procesor Multitasking cyklické přidělování procesoru programům (procesům/vláknům) vždy pouze na krátký okamžik časové kvantum

13.06.18 vjj 29 program, proces program zdrojový kód, přeložený kód,... existuje nezávisle na počítači proces program spuštěný v počítači (již chvíli před tím než začne sám počítat a ještě chvíli potom) vytvoření procesu vytvoření systémových údajů potřebných pro běh jedné instance programu (PCB, TCB,...) proces existuje, pokud existují tyto údaje

13.06.18 vjj 30 Historie - Job Manager fronta (fronty) programů čekajících na spuštění kdo dřív příjde, ten dřív mele nejskromnější nejdříve job mix: třídy prací podle náročnosti I/O procesor priority

13.06.18 vjj 31 Historie Task Manager správa procesů jediný procesor x symetrický (homogenní) multiprocesor fronta procesů čekajících na procesor - Round Robin časové kvantum preemptivní strategie prioritní strategie statická x dynamická priorita nejnáročnější nejdříve I/O nejdříve požadavky na paměť

13.06.18 vjj 32 threads kdysi v prehistorii byly proces a vlákno jedno a totéž z jedné funkce lze zavolat druhou funkci tak, že se nečeká na její dokončení (výsledek), ale pokračuje se rovnou dál zavolaná funkce běží "paralelně" s volající funkcí procesor je přidělován oběma funkcím nezávisle Unix fork, Windows CreateThread

... Thread HANDLE CreateThread ( LPSECURITY_ATTRIBUTES lpsa, DWORD cbstack, // 1 MB LPTHREAD_START_ROUTINE mythreadfunction, LPVOID lpvthreadparm, DWORD fdwcreate, LPDWORD lpthreadid ) ;... DWORD WINAPI mythreadfunction ( LPVOID lpvthreadparm ) ;

13.06.18 vjj 34 threads vlákna jednoho procesu mají společný adresový prostor tj. mohou např. číst z a zapisovat do stejných proměnných systém si udržuje o každém vláknu spoustu údajů (TCB, např. odkud má pokračovat, až zase příště dostane procesor, kolik času spotřebovalo, jakou má prioritu,...)

Dispatcher database

stavy vlákna

13.06.18 vjj 37 quantum clock interval => quantum = quantum - 3 preempce => quantum = quantum - 1 Workstation: quantum = 6, tj. clock intervals Server: quantum = 36, tj. clock intervals clock interval = ms (uniprocessor) ms (multiprocessor) přidělený časový interval: uniprocessor multiprocessor Workstation 20 ms 30 ms Server 120 ms 180 ms

13.06.18 vjj 38 > clockres clock interval Windows XP ClockRes - View the system clock resolution By Mark Russinovich SysInternals - www.sysinternals.com The system clock interval is 10 ms

13.06.18 vjj 39 >clockres clock interval Windows 7 SP1 ClockRes v2.0 - View the system clock resolution Copyright (C) 2009 Mark Russinovich SysInternals - www.sysinternals.com Maximum timer interval: 15.600 ms Minimum timer interval: 0.500 ms Current timer interval: 15.600 ms

13.06.18 vjj 40 Dynamické kvantum Control Panel, System, Advanced, Performance, Advanced Programs (=Short) x System Services (=Long) kernel proměnná: PsPrioritySeparation HKLM \ SYSTEM \ CurrentControlSet \ Control \ PriorityControl \ Win32PrioritySeparation Forground Quantum Boost = 0/1/2 (0=default, 3 je neplatná, interpretuje se jako 2) = index do příslušného z následujících vektorů Short(1) Long(2) Variable (1) 6 12 18 12 24 36 Fixed (2) 18 18 18 36 36 36