a co je operační systém?



Podobné dokumenty
Téma 2 Architektury OS a jejich služby

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

Operační systém (Operating System)

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.

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

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

ÚVOD DO OPERAČNÍCH SYSTÉMŮ. Vývoj SW aplikací. Unix, POSIX, WinAPI, programování komunikace s periferními zařízeními, ovladače zařízení

B4B35OSY: Operační systémy

Stavba operačního systému

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

RAID, LVM a souborové systémy

Téma 2 Architektury OS a jejich služby

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)

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

Téma 2 Architektury OS a jejich služby

Virtualizace. Lukáš Krahulec, KRA556

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émy a databáze

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

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

B4B35OSY: Operační systémy

Operační systémy a databáze

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

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

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

Architektura počítače

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

IT ESS II. 1. Operating Systém Fundamentals

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

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

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

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Operační systémy (OS)

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

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ě

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

Principy operačních systémů. Lekce 7: Souborový systém

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Virtualizace na Linuxu

Procesy a vlákna (Processes and Threads)

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

Co je to počítač? Počítač je stroj pro zpracování informací Jaké jsou základní části počítače? Monitor, počítač (CASE), klávesnice, myš

Téma 2 Služby a architekturyos

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

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)

Digitální učební materiál

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

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

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

Pokročilé architektury počítačů

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

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

Technologie počítačových sítí 1. cvičení

HW počítače co se nalézá uvnitř počítačové skříně

Základní pojmy informačních technologií

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

pouˇzití USB nebo SPI

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Vestavné počítače PAC

POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.

12. Správa souborů. ZOS 2006, L. Pešička

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

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

Logická organizace paměti Josef Horálek

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

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

Projekt 7006/2014 SDAT - Sběr dat pro potřeby ČNB. Návrh realizace řešení

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

PROCESOR. Typy procesorů

Principy činnosti sběrnic

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

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

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í

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Brno. 30. května 2014

Návrhy elektromagnetických zení

Miroslav Tichý, tic136

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

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

Reporting a Monitoring

ORGANIZACE A REALIZACE OPERAČNÍ PAMĚTI

CHARAKTERISTIKY MODELŮ PC

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

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

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ý

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Úvod do architektur personálních počítačů

Opakování k maturitní zkoušce z informatických předmětů

BIOS (BASIC INPUT-OUTPUT SYSTEM)

TEMPO průmyslový panelový počítač

operační systém vjj 1

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

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

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

1. Jak pracuje počítač 3. Už víme, jak pracuje počítač, ale jak se pracuje s počítačem? 9

Von Neumannovo schéma

Základní pojmy a historie výpočetní techniky

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

Computer Press Brno 2003

Transkript:

a co je operační systém? Funkce vylepšení HW sjednocení různosti zařízení ulehčení programování (např. časové závislosti) přiblížení k potřebám aplikací o soubory namísto diskových bloků o více procesorů (time sharing) o větší hlavní paměť (virtual memory) rozšířený stroj (stroj = HW) (extended machine) Aplikace OS HW

Funkce správy prostředků (zdrojů) (resources) cílem je zprostředkovat sdílení prostředků o prostředky jsou nákladné o pro spolupráci nutno sdílet informace úkoly o samotné zabezpečení sdílení o efektivnost sdílení využití zařízení (utilization) výkonnost (throughput) práce za jednotku času doba odpovědi (response) čas vykonání individuálního požadavku o správnost neúmyslné poškození zabránit neautorizovaný přístup k datům přístup k prostředkům správce prostředků (resource manager)

Pohled zdola nahoru HW jeden nebo více procesorů (central processing unit, CPU) hlavní paměť (main memory, RAM, core) V/V zařízení (I/O devices) sběrnice CPU má počítadlo instrukcí (PC, program counter) vybírá instrukce na vykonání podle hodnoty PC o zvětší PC o délku vybrané instrukce o mění PC při instrukcích skoku a volání procedury o při přerušení pokračuje programem pro jeho zpracování (interrupt handler) neřízené volání procedury Hlavní paměť reaguje na instrukce load a store V/V zařízení vstup a výstup dat ukládání dat

Problém času Intenzita (rychlost) vzniku událostí při sdílení prostředků výpočetního systému je velice různá. Jak moc? Zdroj: P.J.Denning: The Art of Operating Systems. //cne/gmu/pjd/artos Příklady: osobní počítač ~ 100 miliónů instrukcí/s čtení z disku ~ 10 ms o vykoná se 1 000 000 instrukcí vstup z klávesnice ~ 200 ms o vykoná se 20 000 000 instrukcí Řešení? začni diskovou operaci; vykonej 1 000 000 instrukcí jiného výpočtu; čekej na skončení diskové operace(jestliže skončila pokračuj);

Dobré řešení P1:: for (;;) { začni V/V operaci čekej na skončení použij data } P2:: for (;;) { nějaký užitečný výpočet } Problém prostoru virtuální adresní prostor programu je dán velikostí lineární adresy o 32 bitů - 2 32 = 4GB o 64 bitů - 2 64 = 16EB (Exa) hlavní paměť je typicky menší o program se nemusí vejít, zvlášť chceme-li mít v paměti více programů současně typické programy o pracují v nějakém podprogramu, zbytek nemusí být v paměti o pracují s častí dat, ostatní nemusí být v paměti o čekají na dokončení V/V operace, nemusí být v paměti vůbec

Řešení virtuální paměť o program a data jsou na disku o části potřebné na výpočet jsou na požádání přenášena do hlavní paměti Pohled shora dolů uživatel aplikace o požaduje vykonání nějaké činnosti o nemusí vědět na co je OS programátor aplikace o vytváří aplikace, využívá vylepšený počítač pojmenované soubory neomezená paměť transparentní vykonání V/V operací o někteří na úrovni vyšších programovacích jazyků a knihoven main() { printf( OS ) } o jiní využívají programové rozhraní OS, systémová volání, API application programming interface main() { char buf[2] = OS ; write(stdout,buf, sizeof(buf); } systémový programátor/administrátor o potřebuje vědět jak operační systém pracuje

Definice OS není ustálená Zdroj: L. Petrlík Pokus o definici OS je soubor programů, které minimalizují úsilí uživatele při maximálním využití výpočetního systému A.S. Tanenbaum a layer of software (called operating system), whose job is to manage all these device and provide user programs with a simplex interface to the hardware. P.J. Denning Operating systems fulfill two functions: managing the resources of computing among the competing demands of the system s users, and providing a high-level environment for programming and program execution.

Silberschatz, Galvin, Gagne An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work. Velikost operačních systémů Linux Windows 2000 2 000 000 řádků 30 000 000 řádků Rozdělení OS Mainframe OS o zpracovávají současně množství úloh dávkové zpracování zpracování transakcí sdílení času o OS/390 (IBM) Server OS o poskytují služby (souborový, webový) mnoha uživatelům o UNIX, Linux, Windows 2000 Multiprocesorové OS o paralelní počítače o multipočítače o multiprocesory o varianty serverových OS

OS osobních počítačů OS reálného času o hard real-time o soft real-time (multimédia) OS pro vnořené systémy o Windows CE Smart Card OS o vlastnické (proprietary) OS o Java Virtual Machine Uživatelské rozhraní OS je tvořeno souborem aplikačních (uživatelských) programů o interpret příkazů (shell) o příkazy pro práci se soubory a adresáři o filtry (sort) o nástroje pro vývoj programů (editory, překladače, ) o správa systému o různé ovládání o příkazový řádek o okno, GUI

Programové rozhraní OS je tvořeno souborem systémových volání, které poskytuje jádro OS instrukční soubor je tedy rozšířen o vykonání dalších operací rozšířený stroj o na vykonání systémových volání využívá všechny instrukce CPU o některé z nich nemůžou používat aplikační (uživatelské) programy privilegované instrukce práce s některými registry PC, stavový registr práce s HW CPU musí vědět, jestli vykonává instrukci aplikačního programu nebo instrukci jádra Řešení: CPU musí mít možnost vykonávat instrukce v různých stavech, režimech např. procesory Intel 80x86 mají čtyři různé stavy privilegovaný režim (režim jádra (kernel mode), režim supervizoru) o přepnutí do privilegovaného režimu program žádá systémové volání výjimka (exception) přerušení od zařízení neprivilegovaný režim (uživatelský režim) o přepnutí do neprivilegovaného režimu, při návratu z privilegovaného, instrukcí, která je privilegovaná o všechny aplikační programy, tedy i programy tvořící uživatelské rozhraní, se vykonávají v neprivilegovaném režimu

U IX Win T Popis fork CreateProcess Vytvoří nový proces waitpid WaitForSingleObject Čeká na ukončení procesu execve ShellExecute+ WaitForSingleObject Spuštění procesu a čekání na ukončení exit ExitProcess Ukončení proces open CreateFile Otevřít/vytvořit soubor close CloseHandle Zavřít soubor read ReadFile Čtení ze souboru write WriteFile Zápis do souboru lseek SetFilePointer Nastavení pozice v souboru stat GetFileAttributesEx Získání atributů souboru mkdir CreateDirectory Vytvoří adresář rmdir RemoveDirectory Smaže adresář link CreateHardLink Vytvoří odkaz na soubor unlink DeleteFile Smaže odkaz mount SetVolumeMountPoint Připojí diskový oddíl jako adresář (nebo disk jen Win) umount DeleteVolumeMountPoint Odpojí diskový oddíl z adresářové struktury chdir SetCurrentDirectory Nastaví aktuální adresář procesu chmod SetSecurityDescriptorOwner Práva a zabezpečení kill TerminateProcess Násilné ukončení procesu time GetLocalTime Aktuální čas Srovnání API Unixu a WinNT. K jedné funkci lze přiřadit i více alternativ. o zpráva WM_QUIT ke kill o GetSystemTime k time o příznak COPY_FILE_COPY_SYMLINK k link

Struktura OS Monolitické systémy o pro jednotlivé funkce jsou definovány moduly o modul může volat jakýkoli jiný modul o všechny moduly jsou spojeny do vykonatelného souboru s operačním systémem Systémové volání (služba jádra) o volání vstupního bodu jádra OS s přepnutím do privilegovaného režimu o zjištění čísla požadované služby o volání obslužné procedury o návrat s přepnutím do neprivilegovaného režimu

Model struktury monolitického systému o hlavní program, který spouští obslužnou proceduru o množina obslužných procedur pro systémová volání o podpůrné procedury pro vykonání obslužných procedur Monolitické systémy o mají tendenci extrémně narůstat o monolit akumuluje moduly, které by potenciálně mohli být potřebné o těžce se ladí Příklady: Linux, MacOS, Windows * * Win32 a Win64 jsou stejně jako např. POSIX subsystémy mimo jádro OS

Systémy založené na mikrojádře Vrstvené systémy o hierarchie vrstev poskytujících služby o programy vyšší vrstvy využívají služeb nižších vrstev o holý počítač je nejnižší vrstva o aplikační program je nejvyšší vrstva o princip vrstev umožňuje systematickou tvorbu programů a jejich testování o princip vrstev je možné použít pro monolitický model i pro systémy založené na mikrojádře Mikrojádro o vrstva nad holým strojem, která obsahuje minimální množinu abstrakcí, tak aby ostatní funkce OS mohli být implementovány nad ním o tyto funkce OS nemusí být vykonávány v privilegovaném režimu o jenom mikrojádro musí být vykonáváno v privilegovaném režimu o typická množina abstrakcí implementována mikrojádrem (zdola nahoru) přerušení, nízkoúrovňový V/V vlákna správa paměti (JavaOS) meziprocesovou komunikaci procesy o ostatní funkce - soubory, adresáře, síťové služby - jsou programy vykonávané v uživatelském režimu Příklady: Mach, Chorus Amoeba

Plán přednášek OS U IX Proces a jádro Vlákna Signály Plánování procesů Meziprocesová komunikace Multiprocessing Souborový systém Implementace souborového systému Přidělování paměti V/V podsystém Mikrojádra Cvičení Projekt (skupina)