Operační systémy

Transkript

Operační systémy
Operační systémy
Přednáška 1: Úvod
1
Organizace předmětu
• Přednášky
– každé úterý 18:00-19:30 v K1
• Přednášející
– Jan Trdlička
– email: [email protected]
– kancelář: K324
• Cvičení
– pondělí, úterý, středa
• Informace o předmětu (přednášky, cvičení, zkouška,…)
http://service.felk.cvut.cz/courses
2
Podmínky pro získání zápočtu/zkoušky
• Semestrální úloha – vlákna
• Semestrální úloha – procesy
• Zkouškový test
(max. 30 bodů)
(max. 30 bodů)
(max. 40 bodů)
• Nutnou podmínkou pro zápočet
– aspoň 10 bodů z každé úlohy
– pozdní odevzdání úlohy = 0 bodů
• Nutnou podmínkou pro zkoušku
– zápočet + aspoň 10 bodů ze zkouškového testu
• Klasifikace
55 < dobře ≤ 70 < velmi dobře ≤ 85 < výborně
3
O předmětu
• Cíl předmětu
– pochopit základní principy používané v operačních
systémech (OS)
• Obsah předmětu
– definice, úkoly, typy, struktura, historie OS
– procesy a vlákna, výměna informací, synchronizace
– přidělování prostředků, uváznutí
– virtuální paměť, stránkování, segmentace, náhrada stránek
– uložení dat, RAID, systémy souborů
– principy V/V, přerušení, DMA
– sítové rozhraní, TCP/IP
– bezpečnost
4
Literatura
– Tanenbaum, A.: Modern Operating Systems, 2nd Ed.,
Prentice Hall, ISBN 0-13-031358-0, 2001.
– Stallings, W.: Operating Systems, 5th Ed.,
Prentice Hall, ISBN 0-13-147954-7, 2005.
– Silberschatz, A.: Operating System Concepts, 7th Ed.,
John Wiley, ISBN 0-471-69466-5, 2005.
– Plášil, F., Staudek, J.: Operační systémy,
Praha, SNTL, 1992.
5
Operační systém (OS)
• Definice
– základní SW, který funguje jako prostředník mezi HW a
aplikacemi/uživateli
• Úkoly
– správa výpočetních prostředků
• fyzických (procesor, paměť, disky, …)
• logických (uživatelská konta, procesy, soubory, přístup.
práva,…)
– abstrakce složitosti HW
– poskytuje rozhraní
• aplikacím (Win32 API, Win64 API, systémová volání Unixu,…)
• uživatelům (CLI a GUI)
•
Soustředíme na principy univerzálních OS
– MS Windows, Unix OS, VMS, Mac OS, …
6
Výpočetní systém
7
Požadavky na HW
• podpora OS při správě HW
– CPU s dvěma módy
– kernel mód: CPU může provádět všechny instrukce ze
své instrukční množiny (program běžící v tomto módu má
přístup k celému hardwaru)
– user mód: pouze podmnožina instrukcí je povolena
(např. všechny instrukce V/V a ochrany paměti jsou
zakázány)
• podpora OS při správě paměti
– ochrana paměti
– podpora virtuální paměti (fyzický x logický prostor)
– překlad LA na FA
8
Požadavky na HW (2)
• podpora přepínání kontextu
– mechanismus přerušení (reakce na asynchronní události)
– programovatelný interní časovač (generuje přerušení po
uplynutí čas. kvanta)
• podpora efektivních operací V/V
– přerušení, DMA, …
9
Flynova klasifikace HW
•
Single Instruction Single Data stream (SISD)
– 1 procesor provádí 1 instrukční proud nad daty uloženými v 1 paměti
•
Single Instruction Multiple Data stream (SIMD)
– 1 instrukce je prováděna nad množinou dat množinou procesorů
– vektorové a maticové počítače
•
Multiple Instruction Single Data stream (MISD)
– posloupnost dat je přenášena k množině procesorů provádějících
různé instrukce
– nebylo implementováno
•
Multiple Instruction Multiple Data stream (MIMD)
– množina procesorů současně provádí různé instrukce nad různými
daty
– multiprocesory, multipočítače, distribuované systémy
10
Architektura paralelních systémů
11
Jednoprocesorové systémy (SISD)
• CPU načítá instrukce a data z paměti, zpracovává je a
výsledky zapisuje zpět do paměti
• Paměť obsahuje jádro OS + další procesy
12
Multiprocesory se sdílenou pamětí
• Komunikace mezi CPU přes sdílenou paměť (10-50ns)
• UMA (Uniform Memory Access) multiprocesory
– přístup do sdílené paměti je stejně rychlý pro všechny CPU
– sběrnice je slabé místo
• použití vyrovnávacích pamětí a lokální paměti
• místo paměťové sběrnice speciální přepínač (crossbar switch)
13
Multiprocesory se sdílenou pamětí (2)
• NUMA (Nonuniform Memory Access) multiprocesory
– lokální paměť je viditelná pro ostatní CPU
– přístup do vzdálené paměti pomocí LOAD a STORE instrukcí
– přístup do vzdálené paměti je pomalejší než do lokální paměti
14
Multiprocesorové OS
• Každé CPU se svým vlastním OS (nepožívá se)
• Master-slave model (asymetrický)
• SMP (Symmetric MultiProcessors) – podpora v moderních OS
15
Multipočítače se zasíláním zpráv (cluster)
•
Základní uzel
– CPU, lokální paměť, síťové rozhraní, disk,…
– ostatní periferie můžou chybět
• Vysokorychlostní propojovací síť
• Všechny uzly
– používají stejný OS
– sdílí společný systém souborů
– jsou společně administrovány
• Komunikace mezi CPU pomocí zasílání zpráv (10-50 µs)
16
Distribuované systémy
•
Základní uzel
– CPU, paměť, disk, síťové rozhraní
– ostatní periferie (obrazovka, klávesnice, ….)
• Běžná propojovací síť (LAN, WAN)
• Jednotlivé uzly
– požívají různé OS
– mají různé systémy souborů
– jsou administrovány individuálně
• Komunikace mezi CPU pomocí zasílání zpráv (10-50 ms)
17
Klasifikace OS
• multiprogramming (multitasking)
– OS umožňuje správu více procesů na jednoprocesorovém
systému
• multiprocessing
– OS umožňuje správu více procesů na víceprocesorovém
systému
• multithreading
– OS podporuje práci s vlákna
• multi-user (time sharing)
– OS podporuje současnou práci více uživatelů
18
Struktura OS
• Monolitický systém
– implementováno jako jeden proces
– program je rozčleněn pouze na funkce/procedury
– většinou vše běží v kernel modu
• Vrstevný (layered) systém
– je rozdělen do hierarchických vrstev
– každá vrstva řeší specifický úkol
– přesně definované rozhraní mezi vrstvami
– vnitřní vrstvy mohou být privilegovanější
19
Struktura OS (2)
• Virtuální stroj
– emuluje HW (přesná SW kopie HW)
20
Struktura OS (3)
• Mikrokernel
– v jádru je implementováno minimum služeb
– poskytuje: přepínání kontextu, posílání správ,…
– technologie klient/server
– problém se systémovými servery používajících
privilegované instrukce
21
Základní komponenty OS
22
MS Windows
•
1981 MS-DOS (16 bitový Intel)
•
nadstavby nad MS-DOS
– Windows 3.1, 3.11
– Windows 95, Windows 98
– Windows ME
•
1993 jádro Windows NT (IA32, IA64, EM64T, AMD64, Motorola
PowerPC, AlphaAXP)
– Windows NT 3.1, 3.5, 3.51, 4.0
– Windows 2000
– Windows XP
– Windows Server 2003
– Windows Vista
23
Unix
•
•
•
•
1969 Multics
1970 Unix (PDP11)
1973 Unix implementován v jazyce C
1977 Unix (32 bitový Vax)
• Různé větve
– AT&T Unix Systém V
– BSD/OS, FreeBSD, OpenBSD
– AIX, HP-UNIX, Solaris
• 1991 Linux (32/64 bitový Intel, MIPS, SPARC, PowerPC,
IBM ySeries,…)
24

Podobné dokumenty

Procesy a vlákna – IPC Komunikace mezi procesy (IPC = Inter

Procesy a vlákna – IPC Komunikace mezi procesy (IPC = Inter [1] Stallings, W.: Operating Systems. Internals and Design Principles. 4th Edition. Prentice Hall, New Jersey, 2001. [2] Silberschatz, A. – Galvin, P. B. - Gagne, G. : Operating System Concepts. 6t...

Více

1.0 OS Unix Historie. Architektura. Zpracování

1.0 OS Unix Historie. Architektura. Zpracování identifikace a vzájemná ochrana uživatelů Podpora multiprocesorových systémů(SMP) použití vláken v jádře a jejich plánování na různých CPU Unifikované prostředí přenositelnost mezi platformami (90%...

Více

16.6.2010 1 Diagnostika sítí PROFIBUS Motivace

16.6.2010 1 Diagnostika sítí PROFIBUS Motivace Ö Signál pouze s jedním terminátorem

Více

InfoSphere Optim Performance Manager for DB2 for Linux

InfoSphere Optim Performance Manager for DB2 for Linux Tato nabídka produktu obsahuje níže uvedené komponenty: v Software serveru InfoSphere Optim Performance Manager. v Aktivační sadu licence k produktu InfoSphere Optim Performance Manager. v Kopii pr...

Více

InfoSphere Optim Performance Manager for DB2 for Linux

InfoSphere Optim Performance Manager for DB2 for Linux Národní jazyková verze: Chcete-li získat stručnou úvodní příručku v jiném jazyce, vytiskněte si soubor PDF pro příslušný jazyk z instalačního média.

Více

2383048_Projektování databázových systémů_CZ+EN

2383048_Projektování databázových systémů_CZ+EN 3. Transformace entitně-relačního diagramu na schéma relační databáze. 4. Relační model dat, struktura dat, integrita dat 5. Formalizace návrhu databáze 6. Jazyk SQL 7. Tvorba databázové aplikace v...

Více

zde - Fosfor.cz

zde - Fosfor.cz – Silberschatz, A.: Operating System Concepts, 7th Ed., John Wiley, ISBN 0-471-69466-5, 2005. – Plášil, F., Staudek, J.: Operační systémy, Praha, SNTL, 1992.

Více

ovládat moderní teorii QPI série

ovládat moderní teorii QPI série Operační systémy Linux Linux (anglicky běžně vyslovováno /ˈlɪnəks/ IPA, avšak existují různé varianty) je v informatice označení pro unixový operační systém (původně pouze jeho jádro). Linux je šíř...

Více