Operační systémy. Tomáš Hudec. Tomas.Hudec@upce.cz. http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/



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

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

2010/2011 ZS. Operační systém. úvod základní architektury

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

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

a co je operační systém?

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)

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

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

Operační systém (Operating System)

Stavba operačního systému

SOU Valašské Klobouky. VY_32_INOVACE_01_15 IKT Operační systémy, základní vlastnosti, přehled. Mgr. Radomír Soural

Procesy a vlákna (Processes and Threads)

PRINCIPY OPERAČNÍCH SYSTÉMŮ

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

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

IT ESS II. 1. Operating Systém Fundamentals

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

Pokročilé architektury počítačů

Rozdělení operačních systémů

Virtualizace. Lukáš Krahulec, KRA556

Univerzita Pardubice Fakulta ekonomicko-správní. Vytvoření podpůrných nástrojů pro výuku předmětu Operační systémy. Michal Bělský

úvod Historie operačních systémů

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

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

Úvod do operačního systému Linux Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek

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

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

Virtualizace na Linuxu

Kontaktní informace. Ing. Ladislav Pešička UL401 (pozor, ne 10:30. Út t 9:30 aža.

Principy počítačů a operačních systémů

Základní informace. Operační systém (OS)

OPERAČNÍ SYSTÉM ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

Úvod do informačních technologií

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

Matematika v programovacích

Úvod do operačního systému Linux Mgr. Josef Horálek

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

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

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

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

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

Poslední aktualizace: 21. května 2015

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.

Činnost operačních systémů. Beránek Pavel 1. KŠPA

Předmět: Operační systémy

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Úvod do informačních technologií

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

Instalace OS, nastavení systému

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

Souborové systémy Mgr. Josef Horálek

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

Úvod SISD. Sekvenční výpočty SIMD MIMD

Windows a real-time. Windows Embedded

NÁSTROJE PRO VIRTUALIZACI POČÍTAČE

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

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

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

Operační systémy pro systémy sběru dat (=DAQ systems). Vývoj aplikačních programů. Operační systémy pro DAQ RTOS VxWorks Windows CE RTX LabVIEW RT

Linux Teorie operačních systémů a realita

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

Tabulka ASCII American Standard Code for Information Interchange kódovou tabulku

Poslední aktualizace: 25. května 2017

Principy počítačů a operačních systémů

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

Základy informatiky. 05 Operační systémy. Zpracoval: Pavel Děrgel Upravil: Daniela Szturcová

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

VirtualBox desktopová virtualizace. Zdeněk Merta

Témata profilové maturitní zkoušky

Principy operačních systémů. Lekce 8: Ovladače periferií

Základní typy struktur výpočetních systémů

Základy informatiky. 04 Operační systémy. Michal Kačmařík Upraveno dle materiálů od: Daniela Szturcová, Pavel Děrgel

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

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

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

Antonín Přibyl - Virtualizace Windows serveru s KVM hypervisorem

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

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

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

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

Brno. 30. května 2014

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

Operační systémy 1. Přednáška číslo Souborové systémy

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)

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ

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

Ukázka zkouškové písemka OSY

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Programové prostředky IS/IT

MetaCentrum - Virtualizace a její použití

Metody připojování periferií

Základy informatiky. 04 Operační systémy. Kačmařík/Szturcová/Děrgel/Rapant

Rozdělení operačních systémů

Red Hat Enterprise Virtualization

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

Transkript:

Operační systémy Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/

2 / 28 Osnova definice OS historie rozdělení dle určení koncepce systémová volání rozdělení dle struktury vlastnosti moderního OS

Literatura Tanenbaum A.: Modern Operating Systems. 3. vydání. Pearson, 2014. ISBN 987 1 292 02577 3. Tanenbaum, A.: Structured Computer Organization. 6. vydání. Pearson, 2013. ISBN 978 0 273 76924 3. Tanenbaum, A. Woodhull, A.: Operating Systems: Design and Implementation. 3. vydání. Pearson, 2009. ISBN 978 0 13 505376 3. Intel 64 and IA-32 Architectures: Software Developer s Manual: Volume 3A: System Programming Guide, Part 1 [online]. Intel, c 2007 2015 [cit. 2015-01-28]. URL: http://www.intel.com/design/processor/manuals/253668.pdf Tomáš Hudec Operační systémy 3 / 28

4 / 28 Literatura (obrázek)

5 / 28 Citáty Software is like sex: it's better when it's free. Linus Torvalds, 1996 I started Linux as a desktop operating system. And it's the only area where Linux hasn't completely taken over. That just annoys the hell out of me. Linus Torvalds, 2012

Co je to OS rozšíření stroje (virtualizace) pohled shora zjednodušující interface, abstrakce příklad: čtení/zápis na disk správce prostředků pohled zdola procesory, paměti, V/V zařízení příklad: tisk na tiskárnu multiplexing (sharing) sdílení prostředků v čase (CPU) v prostoru (RAM) Tomáš Hudec Operační systémy 6 / 28

7 / 28 Historie OS, generace (1) 1. G 1945 55: elektronky, zásuvné karty počítače zabíraly celé místnosti, OS neexistoval 2. G 1955 65: tranzistory a dávkové systémy mainframes obsluha se již dělí designéři, builders, operátoři, programátoři a údržbáři jazyk FORTRAN nebo assembler dávkové systémy

Dávkový systém (obrázek) Programátoři nosí karty k IBM 1401, kde se programy přepíšou do dávky na pásku. Po zaplnění pásky ji operátor přesune k IBM 7094, kde se dávka úloh zpracuje a vygeneruje se výstupní páska. Operátor ji pak přenese k dalšímu IBM 1401, kde se z ní výsledky přečtou a vytisknou. Tomáš Hudec Operační systémy 8 / 28

9 / 28 Historie OS, generace (2) 3. G 1965 80: IO, multiprogramming SSI (small-scale integrated circuits) IBM System/360, OS/360 multiprogramming spooling (Simultaneous Peripheral Operation On Line) timesharing, CTSS (Compatible Time Sharing System) MULTICS UNIX POSIX standard

Historie OS, generace (3) 4. G 1980 současnost: osobní počítače LSI (large scale integration) (předchůdci) OS: GUI CP/M DOS Windows X Window NeXTSTEP Mac OS Tomáš Hudec Operační systémy 10 / 28

11 / 28 ZOO OS (1) mainframe OS historická kategorie obrovská kapacita V/V operací IBM OS/360 serverové OS síťové služby UNIX, BSD, Linux, Windows Server víceprocesorové (distribuované) OS clustery, paralelní počítače modifikace existujících OS (Linux), QNX osobní počítače Windows, Linux, OS X

12 / 28 ZOO OS (2) real-time OS QNX, VxWorks, RT-Linux důležité je dodržení termínů vestavěné (embedded) OS PDA, TV-sety, mikrovlnky, mobily QNX, VxWorks, PalmOS, ios, Linux smart card OS, SIM card OS specializované miniaturní vestavěné systémy platební karty Chip OS (COS, MACOS), MULTOS

13 / 28 Ontogeneze rekapituluje fylogenezi z biologie: ontogeneze = vývoj jedince fylogeneze = vývoj druhů vývoj OS pro (nová) jednodušší a menší zařízení postupuje podobným procesem jako vývoj OS celkově

14 / 28 Koncepce OS procesy správa paměti správa vstupů a výstupů správa úložišť systémová volání

15 / 28 Procesy programy, které běží v systému adresový prostor (core image), přidělené prostředky spuštění, ukončení procesu, pozastavení, tabulka procesů, PCB (process control block) komunikace mezi procesy signály (alarm, V/V operace, ) identifikace uživatele

16 / 28 Deadlock deadlock = mrtvý bod stav uváznutí příklad: dva procesy potřebují dvě zařízení (A, B) proces 1 má přiděleno zařízení A proces 2 má přiděleno zařízení B oba čekají na uvolnění druhého zařízení

17 / 28 Správa paměti, V/V správa paměti adresní prostor fyzický adresní prostor virtuální paměť vstupy a výstupy (V/V) OS má subsystém správy V/V zařízení ovladače (drivers)

Soubory, souborové systémy souborové systémy kořenový adresář (root) cesta (path) absolutní relativní pracovní adresář soubory a operace čtení, zápis, posun file descriptor, handle speciální soubory blokové, znakové, roura Tomáš Hudec Operační systémy 18 / 28

19 / 28 Systémová volání volání služeb jádra OS volání probíhá většinou přes knihovnu: parametry na stack (v opačném pořadí) volání systémové funkce v knihovně knihovna: nastavení registru na typ volání knihovna: instrukce TRAP (skok do jádra OS) jádro: dispatch, volání příslušného ovladače (návrat do knihovny a programu)

20 / 28 Příklady systémových volání procesy vznik, nahrazení, čekání na ukončení, ukončení soubory (V/V) otevření, zavření, čtení, zápis, stat, ioctl adresáře a souborové systémy vytvoření, zrušení, odkazy, připojování FS ostatní (práva, signály, ) změna práv, signál, zjištění času

21 / 28 Systémová volání Win32 Win32 API (Application Interface) vrstva mezi skutečnými funkcemi OS a aplikacemi oproti systému UNIX založeno na událostech (zpracování fronty zpráv) obsahuje API pro GUI extrémně velké (tisíce procedur) POSIX: asi sto systémových volání

22 / 28 Dělení OS dle struktury (1) monolitické OS (The Big Mess) vše v jednom vnitřně nečleněné jádro z hlediska hierarchie volání procedur každá procedura může volat libovolnou jinou mohou mít i strukturu: hlavní program (obsahuje dispatcher) obslužné procedury užitkové procedury procedury mají pevně definované rozhraní

Dělení OS dle struktury (2) vícevrstvé OS vrstva smí volat jen procedury stejné nebo nejbližší nižší vrstvy zajištěno HW (úrovně oprávnění) MULTICS Dijkstra: THE (Technishe Hogeschool Eindhoven): 5 operátor 4 uživatelské programy 3 správa V/V zařízení, buffering 2 komunikace mezi procesy a konzolí operátora 1 správa paměti 0 alokace CPU a multiprogramming Tomáš Hudec Operační systémy 23 / 28

Dělení OS dle struktury (3) virtuální stroje, virtualizace na úrovní jádra srdcem je VM monitor multiprogramming již v r. 1972: IBM VM/370 + OS/360 nebo CMS jediné jádro OS + kontejnery: izolace skupin procesů, uživatelů (vč. správce), sítě i souborových systémů Solaris 11 kernel zones FreeBSD Jails Linux-Vserver modifikované jádro Linuxu OpenVZ kontejnery, modifikované jádro Linuxu Linux Containers (LXC, od verze jádra 2.6.24, 2008) cgroups: izolace prostředků: CPU, paměť, disk I/O, síť, Tomáš Hudec Operační systémy 24 / 28

25 / 28 Dělení OS dle struktury (4) exokernely klon počítače založen na rozdělení HW multiplex systémových prostředků minimalistické jádro se základními abstrakcemi důležitá designová rozhodnutí o abstrakcích lze učinit až na vyšší (uživatelské, programátorské) úrovni koncept vznikl na MIT projekty Aegis (proof of concept) a XOK

Dělení OS dle struktury (5) model klient-server, mikrojádro (microkernel) trend moderních OS mikrojádro správa komunikace mezi procesy klientské procesy správa paměti, FS, ovladače, náročné na implementaci i režii GNU/Hurd (Hird of Unix-Replacing Daemons, Hird = Hurd of Interfaces Representing Depth) QNX [kjuniks] unixový real-time OS (pro vestavěná zařízení) MINIX 3 Tomáš Hudec Operační systémy 26 / 28

27 / 28 Mikrojádro (obrázek) Minimalistické jádro zajišťuje jen nejnutnější funkce: mikroprogramování alokace CPU (plánovač) zajištění ochrany paměti základní meziprocesová komunikace

28 / 28 Vlastnosti moderního OS preemptivní (a efektivní) plánování procesů izolace procesů efektivní správa paměti operační paměť, virtualizace (např. stránkování) úložiště (souborové systémy) izolace uživatelů implementace oprávnění (procesů, souborů) podpora IPC komunikace a synchronizace