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



Podobné dokumenty
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. Tomáš Vojnar IOS 2014/2015. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

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

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. Přednáška 1: Úvod

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

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

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í

Management procesu I Mgr. Josef Horálek

Operační systém (Operating System)

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

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.

Metody připojování periferií

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

a co je operační systém?

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

UNIX. Historie a základní pojmy. Historie. Před ním. Začátek

Procesy a vlákna (Processes and Threads)

IT ESS II. 1. Operating Systém Fundamentals

Operační systém GNU/Linux

Úvod. unx-predn_01-uvod.odt :13:43 1

Historie UNIXu a Linuxu. Bohdan Milar bohdan.milar@liberix.cz

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

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

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

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

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

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)

Petr Holášek / 1 of 21

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

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

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

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

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

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

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

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.

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

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

Historie UNIXu a LINUXu - 1

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

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Virtualizace. Lukáš Krahulec, KRA556

Ukázka zkouškové písemka OSY

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

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

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

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Téma 2 Architektury OS a jejich služby

Roury a zprávy Mgr. Josef Horálek

Když se Linux nevejde. Jiné operační systémy Lenka Kosková Třísková, LinuxDays2018

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

Periferní operace využívající přerušení

Systém souborů (file system, FS)

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)

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

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

Periferní operace využívající přerušení

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

Principy operačních systémů

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

Osnova. Úkoly OS. BIOS (Basic Input-Output System) programy; kontrola nad přístupem k jednotlivým prostředkům hardwaru (procesoru, paměti,

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Řízení IO přenosů DMA řadičem

Stavba operačního systému

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í

X36UNX. UNIX - signály. jejich význam a použití. Martin Plicka -

Periferní operace využívající přerušení

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

Vláknové programování část I

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

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

Úvod do UNIXu. Okruh č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

Poslední aktualizace: 21. května 2015

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

Disková pole (RAID) 1

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

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

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

Pokročilé architektury počítačů

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

I/O systém Vnější paměti. PB 169 Počítačové sítě a operační systémy

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

Algoritmizace a programování

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

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

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

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

Pokročilé architektury počítačů

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

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

Komunikace procesoru s okolím

Systémy pro sběr a přenos dat

I n f o r m a t i k a a v ý p o č e t n í t e c h n i k a. Operační systém

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

Vstup-výstup Input-Output Přehled a obsluha

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

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Logická organizace paměti Josef Horálek

Transkript:

Operační systémy IOS 2010/2011 Tomáš Vojnar Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 Brno ÚÓ Ò Ö ØºÚÙØ ÖºÞ Úvod do UNIXu p.1/15

Unix úvod Úvod do UNIXu p.2/15

Historie UNIXu 1961: CTSS (Compatible Time-Sharing System) 1965: MULTICS Multiplexed Information and Computation Service (Bell Labs, MIT, General Electric) 1969: Začátek vývoje nového OS PDP 7 (K. Thompson, D. Ritchie) 1970: Zavedeno jméno UNIX 1971: PDP-11 (24KB RAM, 512KB disk) text processing 1972: asi 10 instalací 1973: UNIX přepsán do C 1974: Článek: Unix Timesharing System, asi 600 instalací 1977: Berkeley Software Distribution BSD 1978: SCO (Santa-Cruz Operation) první Unixová společnost 1980: DARPA si vybrala UNIX jako platformu pro implementaci TCP/IP. Microsoft a jeho XENIX Úvod do UNIXu p.3/15

1981: Microsoft, smlouva s IBM, QDOS, MS-DOS 1982: Sun Microsystems 1983: AT&T UNIX System V BSD 4.2 sít TCP/IP GNU, R. Stallman 1984: X/OPEN XPG 1985: POSIX (IEEE) 1987: AT&T, SUN: System V Release 4 a OSF/1 1990: Windows 3.0 1991: Solaris, Linux 1992: 386BSD 1994: Single Unix Specification (The Open Group) 1998: začátek prací na sloučení základu SUS a POSIX open source software 2002: SUS v3 zahrnuje POSIX, poslední revize 2008 (SUS v4) Úvod do UNIXu p.4/15

Příčiny úspěchu Mezi příčiny úspěchu UNIXu lze zařadit: víceprocesový, víceuživatelský, napsán v C přenositelný, zpočátku (a později) šířen ve zdrojovém tvaru, mechanism, not policy, fun to hack, jednoduché uživatelské rozhraní, skládání složitějších programů z jednodušších, hierarchický systém souborů, konzistentní rozhraní periferních zařízení,... Řada z těchto myšlenek je inspirující i mimo oblast OS. Úvod do UNIXu p.5/15

Varianty UNIXu Hlavní větve OS UNIXového typu: UNIX System V BSD UNIX různé firemní varianty (AIX, Solaris,...) Linux Související normy: XPG X/OPEN SVR4 AT&T a SUN OSF/1 Single UNIX Specification POSIX IEEE standard Single UNIX Specification v3/v4 shell a utility (CLI) a API Úvod do UNIXu p.6/15

Základní koncepty Dva základní koncepty/abstrakce v UNIXu: procesy a soubory. Process I/O File Process IPC Process File File Process File IPC = Inter-Process Communication roury (pipes), signály, semafory, sdílená pamět, sockets, RPC, zprávy, streams... I/O = Input/Output Úvod do UNIXu p.7/15

Struktura jádra UNIXu Základní podsystémy UNIXu: Správa souborů (File Management) Správa procesů (Process Management) libraries APPLICATIONS system call interface user level kernel File system management buffers Process Management Interprocess communication Memory management Scheduler character drivers block hardware abstraction layer processor i/o HARDWARE interrupts Úvod do UNIXu p.8/15

Komunikace s jádrem Služby jádra operace, jejichž realizace je pro procesy zajišt ována jádrem. Explicitně je možno o provedení určité služby žádat prostřednictvím systémového volání ( system call ). Příklady některých služeb jádra dostupných systémovým voláním v UNIXu: služba open close read write kill fork exec exit jaká operace se provede otevře soubor zavře soubor čte ze souboru zapisuje pošle signál duplikuje proces přepíše kód ukončí proces Úvod do UNIXu p.9/15

HW přerušení (hardware interrupts) mechanismus, kterým HW zařízení oznamují jádru asynchronně vznik událostí, které je zapotřebí obsloužit. Žádosti o HW přerušení přichází jako elektrické signály do řadiče přerušení. Na PC dříve PIC, nyní APIC (distribuovaný systém: každý procesor má lokální APIC, externí zařízení mohou být připojena přímo nebo přes I/O APIC součást chip setu). Přerušení mají přiřazeny priority, dle kterých se oznamují procesoru. Přijme-li procesor přerušení s určitým číslem (tzv. interrupt vector) vyvolá odpovídající obslužnou rutinu (interrupt handler) na základě tabulky přerušení, přičemž automaticky přejde do privilegovaného režimu. Řadič může být naprogramován tak, že některá přerušení jsou maskována, případně jsou maskována všechna přerušení až po určitou prioritní úroveň. IRQ signals high Priority Interrupt controller masked? masked? interrupt number Processor Interrupt vector table HW errors Clock Pointers to Disk i/o interrupt handlers Keyboard low NMI, exceptions... processor enables interrupts? interrupts not SW disabled? Úvod do UNIXu p.10/15

Příjem nebo obsluhu HW přerušení lze také zakázat: na procesoru (instrukce CLI/STI na Intel/AMD), čistě programově v jádře (přerušení se přijme, ale jen se poznamená jeho příchod a dále se neobsluhuje). NMI (non-maskable interrupt): HW přerušení, které nelze zamaskovat na řadiči ani zakázat jeho příjem na procesoru (typicky při chybách HW bez možnosti zotavení: chyby paměti, sběrnice apod., někdy také pro ladění či řešení uváznutí v jádře: NMI watchdog ). Přerušení také vznikají přímo v procesoru synchronní přerušení, výjimky (exceptions): trap: po obsluze se pokračuje další instrukcí (breakpoint, přetečení apod.), fault: po obsluze se (případně) opakuje instrukce, která výjimku vyvolala (např. výpadek stránky, dělení nulou, chybný operační kód apod.), abort: nelze určit, jak pokračovat, provádění se ukončí (např. některé zanořené výjimky typu fault, chyby HW detekované procesorem tzv. machine check mechanism ). Úvod do UNIXu p.11/15

Při obsluze přerušení je zapotřebí dávat pozor na současný příchod více přerušení a možnost přerušení obsluhy přerušení: Nutnost synchronizace obsluhy přerušení tak, aby nedošlo k nekonzistencím ve stavu jádra díky interferenci částečně provedených obslužných rutin. Využívají se různé mechanismy vyloučení obsluhy přerušení (viz předchozí slajd). Při vyloučení obsluhy je zapotřebí věnovat pozornost době, po kterou je obsluha vyloučena: může dojít ke ztrátě přerušení (nezaznamenají se opakované výskyty), zvyšuje se latence (odezva systému), výpočetní systém se může dostat do nekonzistentního stavu (zpoždění času, ztráta přehledu o situaci vně jádra, neprovedení některých akcí v hardware, přetečení vyrovnávacích pamětí apod.). Vhodné využití priorit, rozdělení obsluhy do více částí (viz další slajd). Úvod do UNIXu p.12/15

Obsluha přerušení je často rozdělena na dvě úrovně: 1. úroveň: Zajišt uje minimální obsluhu HW (přesun dat z/do bufferu apod.) a plánuje běh obsluhy 2. úrovně. Během obsluhy na této úrovni může být zamaskován příjem dalších přerušení stejného typu, stejné či nižší priority, případně i všech přerušení. 2. úroveň: Postupně řeší zaznamenaná přerušení, nemusí zakazovat přerušení. Vzájemné vyloučení se dá řešit běžnými synchronizačními prostředky (semafory apod. nelze u 1. úrovně, kde by se blokoval proces, v rámci kterého přerušení vzniklo). Mohou zde být samostatné úrovně priorit. Obsluha může běžet ve speciálních procesech (interrupt threads ve FreeBSD, tasklety/softirq v Linuxu). Úvod do UNIXu p.13/15

Mohou existovat i další speciální typy přerušení, která obsluhuje procesor zcela specifickým způsobem, často mimo vliv jádra. Např. na architekturách Intel/AMD: Interprocessor interrupt (IPI): umožňuje SW běžícímu na jednom procesoru poslat určité přerušení jinému (nebo i stejnému) procesoru využití např. pro zajištění koherence některých vyrovnávacích pamětí ve víceprocesorovém systému (TLB), předávání obsluhy přerušení či v rámci plánování. System management interrupt (SMI): generováno HW i SW, způsobí přechod do tzv. system management mode (SMM) procesoru. V rámci SMM běží firmware, který může být využit k optimalizaci spotřeby energie, obsluhu různých chybových stavů (přehřátí) apod. Po dobu běhu SMM jsou prakticky vyloučena ostatní přerušení, což může způsobit zpožd ování času v jádře a případné další nekonzistence stavu jádra oproti okolí, které mohou vést k pádu jádra. HW signály jako RESET, INIT, STOPCLK, FLUSH apod. Úvod do UNIXu p.14/15

Příklad komunikace s jádrem: synchronní: proces-jádro asynchronní: hardware-jádro time Process A read() sleep return from read() Process B Kernel read() user mode kernel mode return from read() Disk interrupts Úvod do UNIXu p.15/15