UNIX 9. Jádro systému © Milan Keršláger

Slides:



Advertisements
Podobné prezentace
Obecně o operačních systémech
Advertisements

PEVNÝ DISK POČÍTAČE.
Software start počítače a operační systém.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
SOFTWARE operační systémy
ZÁKLADNÍ DESKA.
Operační systém Adam Greguš, 4.A.
Maturitní okruh č. 7. Odstínit aplikace od specifik HWSpráva procesůSpráva pamětiSpráva souborůSpráva vstupů a výstupůSpráva sítěSystém ochrany a bezpečnostiSystém.
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Operační systémy.
Operační systémy.
Zdroj Parametry – napájení všech komponent PC
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Lokální počítačové sítě Novell Netware Ing. Zdeněk Votruba Úvod do síťového operačního systému Novell Netware.
Operační systém (OS) ICT Informační a komunikační technologie.
Druhy počítačů Osobní počítače Pracovní stanice Superpočítače
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
OPERAČNÍ SYSTÉMY Správa zdrojů Historie Funkce Ovládání počítače
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Obchodní akademie, Ostrava-Poruba, příspěvková organizace
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Operační systémy Mgr. Ludmila Faltýnková EU OPVK ICT2-4/Inf12 Základní škola Olomouc, Heyrovského 33 Určeno pouze pro výuku Žádná část ani celek nesmí.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
1. ELEKTRICKÝ SIGNÁL VSTUPUJE DO uPROCESORU 2.VYMAŽE DATA KTERÁ ZŮSTALA V REGISTRECH VNITŘNÍ PAMĚTI 3. NASTAVÍ REGISTR CPU – ČÍTAČ INSTRUKCÍ NA F000 ADRESA.
Operační systémy. Operační systémy Operační systém je základním programovým vybavením nezbytně nutným pro provoz počítače. Poznámka: Operační systém.
Operační systémy Název a adresa školy
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Start Linuxu Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
Operační systém a BIOS 8. ročník.
OPERAČNÍ SYSTÉMY.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
Základy operačních systémů
Operační systémy Start OS © Milan Keršláger Obsah: start počítače.
Počítačová bezpečnost 1. Stavba a start PC © Milan Keršláger
Operační systémy cvičení 1 © Milan Keršláger Obsah: náplň předmětu,
Diskový oddíl. Diskové oddíly (partition) slouží k rozdělení fyzického disku na logické oddíly, se kterými je možné nezávisle manipulovat jeden disk se.
Počítačová bezpečnost Cvičení 1: Zabezpečení startu PC © Milan Keršláger
NÁZEV ŠKOLY:Základní škola a mateřská škola Bohdalov ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ ŠABLONA:III/2 TÉMATICKÁ OBLAST:Informační a komunikační technologie.
OPERAČNÍ SYSTÉMY učební text pro žáky SŠ.
UNIX 9. Jádro systému © Milan Keršlágerhttp:// Obsah: ● jádro monolitické, mikrojádro.
Technologie počítačů 1. Stavba počítače © Milan Keršláger
UNIX Jádro systému © Milan Keršláger
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Počítačová bezpečnost Cvičení 1: Start počítače IBM PC © Milan Keršláger
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
UNIX 4. Systém souborů a jádro © Milan Keršlágerhttp:// Obsah: ● systém souborů,
Základní desky Marek Kougl 1.L.
UNIX Systém souborů © Milan Keršláger
Číslo projektu CZ.1.07/1.5.00/ Název školy Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64 Název materiálu VY_32_INOVACE_IVT_1_KOT_07_BIOS.
Paměti PC HDD, CD/DVD, USB Flash RAM a ROM Vnější paměť Disková paměť
PC základní jednotka.
SOFTWARE Operační systémy.
Vypracoval / Roman Málek
Programování mikropočítačů Platforma Arduino
SW počítače - operační systém
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
OPERAČNÍ SYSTÉMY Číslo projektu CZ.1.07/1.5.00/ Název školy
Technologie počítačů 1. Stavba počítače
Vlastnosti souborů Jaroslava Černá.
Operační systémy - úvod
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Operační systémy 9. Spolupráce mezi procesy
UNIX 9. Jádro systému © Milan Keršláger
Spuštění OS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Operační systémy.
Souborové systémy 1 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Transkript prezentace:

UNIX 9. Jádro systému © Milan Keršláger 22.12.2017 http://www.pslib.cz/ke/slajdy http://creativecommons.org/licenses/by-nc-nd/3.0/

Jádro operačního systému základní součást operačního systému doplňují ho pomocné nástroje úkoly jádra a operačního systému umožnit uživateli ovládat počítače zajistit spuštění programu, vstupy, výstupy, správu poč... vytvořit abstraktní vrstvu pro programy spravovat prostředky počítače (přidělovat je procesům) unixová jádra programům poskytují systémová volání (syscall) Linux: modulární monolitické jádro (viz dále)

Typy jader OS monolitické jádro – monolithic kernel jeden celek řeší celý problém varianta: modulární jádro mikrojádro – microkernel idea jako u strukturovaného programování ještě menší: exokernel, nanokernel, picokernel hybridní jádro – hybrid kernel něco mezi monolitickým a mikrojádrem snaha o využití „toho lepšího“ z obou RTOS – speciální případ

Monolitické jádro jádro je jeden celek původní model (např. Unix) v souvislém úseku paměti (kernel-space) vše na stejné (absolutní) úrovni oprávnění chyba (např. v ovladači) ohrožuje celé jádro umožňuje efektivní programátorské triky do téže paměti zasahují různé subsystémy vývoj náročný na znalost funkce celého jádra dnes Linux, FreeBSD a další části jako samostatné moduly → modulární jádro

Mikrojádro jádro minimalizováno (jen nejnutnější části) hezké rozvržení, vlastní písečky, snadné pochopit vše ostatní jako běžné procesy – tzv. servery souborový subsystém, síťový subsystém a další komunikace přes API (zasílání zpráv) proces (server) lze po pádu restartovat (ale fuj) výkonnostní problémy (někdy nemusí vadit) vyvolání služby jádra může znamenat nutnost čekat na přepnutí kontextu mezi jádrem a procesem (i více procesy) samostatné procesy nemohou manipulovat se společnými daty (např. cache) GNU Hurd + mikrojádro GNU Mach – stále není finální MINIX, Symbian (je navíc RTOS)

Hybridní jádro kombinuje výhody monolitu a mikrojádra základní jádro je větší včetně částí citlivých na výkonnost blíží se z druhé strany modulárnímu monolitu Microsoft Windows NT NT 3.1, 3.5, 3.51, 2000, XP, 2003, Vista, 2008, 7, ... Microsoft Windows CE poslední verze odklon od mikrojádra k hybridnímu Windows Mobile, Pocket PC, Windows Phone

Operační systém reálného času RTOS – Real Time Operating System definovaná časová ultimáta krátká doba reakce na událost rychlé přepínání úloh úloha má garantovaný běh v jednotce času programátor ví, že za daný čas dostane alespoň garantovaný strojový čas procesoru může si rozmyslet, co je nebytně nutné spočítat a co může počkat typicky mobilní telefony nestihne-li připravit data, je výpadek přenosu (hlasu) Symbian, Windows CE, RTLinux, ...

Kernel space a user space kernel space (prostor jádra ) jádro v privilegovaném stavu, plně ovládá počítač user space (prostor procesů) procesy v neprivilegovaném stavu při snaze o ovládnutí počítače → vyvolání jádra každý proces svůj adresní prostor volání služeb jádra (syscall) proces žádá jádro o provedení nějaké služby služba je vykonána v privilegovaném režimu user space → kernel space → user space

Syscall, system call systémové volání jádra OS v unixových systémech základní kámen vytváří API, které používají procesy čtení z disku, přidělení paměti, ovládání hardware, ... zajišťuje kompatibilitu jednou zavedený syscall je podporován „do nekonečna“ velký odpor proti bezhlavému zavádění nových syscallů problémy při snaze o rozšíření staršího volání posuzuje oprávnění a provede privilegovanou činnost výjimka → proces s právy roota může všechno mikrojádra syscall nemají používají zasílání zpráv skrze API vyvolává lavinu změn kontextu mezi servery

Unixový čas slouží pro interní evidenci času počátek 1.1.1970 00:00:00 UTC též 1970-01-01T00:00:00Z ISO 8601 každý den přesně 86400 sekund zajišťuje souvislý čas snadný převod na lokální čas podle databáze problém přestupných sekund např. 31.12.1998 23:59:60 POSIX.1 v roce 2001 zamítl jejich zahrnutí → velké potíže při nasazení NTP (Network Time Protocol) → též velká komplexita interního řešení přestupné sekundy

Start počítače – PC

Start počítače dva základní kroky inicializace hardware pomocí firmware (BIOS) aktivace software typicky zavedení jádra operačního systému využívá informace od firmware (ACPI) jednotlivosti specifické pro různé typy počítačů IBM PC: vysoká variabilita startu jednoúčelová zařízení obvykle jen jednu metodu

Zapnutí PC reset (signál propojující všechny obvody) po zapnutí nebo zmáčknutí tlačítka CPU do 16bitového režimu (jako Intel 8086) interpretace kódu od adresy 0xFFFF0 zde je umístěn BIOS vlastní BIOS i doplňující karty grafická karta, řadiče pro disky (SATA, SCSI) atd. BIOS je najde a spustí jejich inicializační kód mohou rozšířit schopnosti BIOSu start systému z netradičního zařízeni (SCSI řadiče, síťová karta) BIOS plně kontroluje první fázi startu PC

BIOS Basic Input-Output systém v paměti ROM (dnes Flash) na základní desce od jejího výrobce vyrábí několik firem, modulární závislý na HW (přímo jej ovládá) poskytuje jednoduché API – služby BIOSu čti sektor z disku, vytiskni znak, pošli na port, ... plně na BIOS spoléhal pouze DOS je 16bitový z původního IBM PC XT (1983) 32bitová rozšíření BIOSu se neujala

Zavedení OS IBM PC: BIOS disketa – nejjednodušší, jako emulace u ostatních pevný disk – jako disketa, ale navíc MBR CD/DVD – emulace diskety nebo přímo BootROM – start pomocí síťové karty (bez disku) USB mass storage (flash disk, externí HDD apod.) Apple: EFI (Intel) náhrada BIOSu binární „ovladače“ HW problém možnosti tajit ovládání a nastavování HW

IBM PC: start z diskety BIOS umí disketovou mechaniku plně ovládat HW FDD mechaniky je ovládán jednotně potřebujeme načtení požadovaného sektoru nalezení a inicializace disketové mechaniky BIOS zavede boot sektor do RAM první sektor na disketě (CHS = 0,0,0) → 512 bajtů využívá služby BIOSu → HW nezávislý kód skočí se na začátek obsahuje kód zavaděče jádra OS specifický pro různé OS (DOS, Windows NT, Linux)

IBM PC: start z disku – II. BIOS načte do paměti MBR tj. prvních 512 bajtů na HDD pokud je neplatný, zahlásí BIOS chybu MBR not found skočí se na začátek MBR (zavaděč + tabulka) vybere se aktivní oddíl k němu se přistupuje dále jako k disketě MBR zavede z aktivního oddílu boot sektor není-li platný, zahlásí MBR chybu (OS not found) dále se pokračuje jako při startu z diskety

Start unixového systému jádro převezme kontrolu přepne procesor do 32bitového režimu (+ring0) aktivuje si příslušné ovladače pro hardware využije informace od BIOSu (ACPI) a PCI ID každý ovladač má inicializační část připojí kořenový systém souborů (root filesystem) určuje správce počítače (např. při instalaci) z něj spustí první proces → init může to být i jiný program (/bin/bash) používá se vyjímečně (např. po havárii při opravě systému)

Proces init v unixových OS proces číslo 1 je spuštěn jako první je (pra)rodičem všech ostatních procesů je též univerzální adopce „osiřelých“ procesů výjimkou je v Linuxu tzv. initrd spouští se procesy před init, ale init má stejně číslo 1 spouští startovací skripty vybere sadu skriptů podle runlevel řídí se podle souboru /etc/inittab spustí démony připraví prostředí pro uživatele (GUI, přihlašovací dialog...)

Runlevel různé varianty spuštění systému runlevel je stav procesu init, u Fedory např: 1 – singeuser (správa systému) 3 – multiuser (běžný provoz, bez GUI) 5 – jako 3 ale s GUI 6 – reboot (restart systému) mezi runlevely se dá přecházet příkaz (jen root): telinit 3 při startu lze jádru říct číslo runlevelu jinak podle /etc/inittab předání parametru jádru při startu lze zabránit (heslo pro zavaděč) při přechodech mezi runlevely se spouští určité skripty démoni (resp. startovací skripty) se spouští jen v určitém runlevelu

Double fork init shell httpd fork() exec(„httpd“) fork() Démon (htttpd je WWW server) provede dvojitý for, tj. vytvoří potomka, kterému rodič skončí a je adoptován procesem init. Tím zanikne vazba na shell (a terminál). fork() exec(„httpd“) fork() exit() ztráta rodiče → jádro nastaví: ppid()=1 wait() wait()

SETUP aplikace pro volitelná nastavení BIOSu při startu stiskem DEL, F2 a podobně je to součást BIOSu nebo samostatná aplikace nastavení uloženo v paměti CMOS zálohováno baterií (spolu s RTC) např. pořadí zařízení pro zavedení OS dříve pevně stanoveno → boot viry z disket dnes snaha o automatizaci, minimalizace někdy schválně mnoho voleb nastavení chipsetu (frekvence, napájení, režimy...) vhodné pro experty, pro přetaktování, ...

Činnost BIOSu při startu cílem BIOSu je aktivace operačního systému detekce a inicializace hardware uvedení HW do výchozího stavu lze (částečně) přeskočit u teplého startu ACPI (standard, vytvořil Intel 1996) běžné v počítačích PC po roce 2000 informace o konfiguraci do tabulek v paměti tabulky často chybně vytvořené tvůrce BIOSu potřebuje funkční start jen pro Windows POST testy (Power On Self Test) slouží k základnímu prověření funkčnosti hardware

IBM PC: start z disku – I. přidává další vrstvu – MBR + oddíly dnes typický postup BIOS musí umět z pevného disku číst jinak se nenačte zavaděč (taky ho potřebuje) IDE/PATA – standardní ovládání HW problémy s výkonem → několik standardů dopředně nekompatibilní (nový disk do starého PC) SCSI – rozšíření BIOSu na řadiči SATA – rozšíření BIOSu na řadiči nebo AHCI

Oddíly (partitions) oddíl je logické rozčlenění pevného disku protože pevný disk je velký nebo více FS, OS dělení bez podpory v HW → SW musí respektovat popis rozdělení uložen do tabulky uvnitř MBR Master Boot Record (CHS = 0,0,0) → 512 bajtů obsahuje zavaděč a tabulku dělení disku na oddíly zpětná kompatibilita oddíl má strukturu jako disketa MBR může být nezávislý na OS → DOS MBR

Ovladač ovladač je typicky součást jádra OS slouží k obsluze vstupně-výstupního zařízení typicky je možné ovladač vyměnit (aktualizovat) též pro podporu sítě, souborových systémů atd. jádro používá jen ovladače, které potřebuje podle aktuálního stavu (připojeného hardware) hot-plug zařízení → USB flash disk připojuje/odpojuje se za běhu v Linuxu jako moduly lze je nahrát nebo vyhodit z jádra za běhu systému jádro může být menší → v paměti jen to, co je potřeba

Kořenový systém souborů připojuje se jako první po startu jádra OS jádro samo o sobě žádný další FS nepřipojuje vzniká tak strom adresářů s jediným kořenem musí obsahovat vše pro zahájení startu počítače program init,startovací skripty, konfigurační soubory skripty připojí další FS → /etc/fstab další FS se připojuje do již existujícího adresáře vznikne stromová struktura různých FS VFS musí vždy vědět, na jakém FS se nachází

chkconfig nastavování služeb spouštěných při startu rozlišuje jednotlivé runlevely chkconfig –list chkconfig služba on|off v SYSV systémech (Fedora, RHEL, CentOS...) nastavuje symbolické linky v /etc/rcX.d/ X představuje číslo runlevelu ručně: /etc/init.d/služba start|stop|restart|status

Démon démon je proces běžící na pozadí bez kontaktu s uživatelem uzavřeny standardní proudy (stdin, stdout, stderr) používá se „double fork“ → rodičem se stane init zprávy do logu → syslog → /var/log/... správce počítače by měl sledovat (používá je i jádro) zajišťuje nějakou službu (ve Windows: services) terminálové přihlášení ze sítě: sshd sdílení souborů (NFS, Samba, …), WWW server, ... spouštění a zastavování démonů pomocí skriptů např.: /etc/init.d/httpd restart skripty používá při startu proces init