Kurz Operační systémy (IOSYS) 1.

Slides:



Advertisements
Podobné prezentace
© 2000 VEMA počítače a projektování spol. s r. o..
Advertisements

Obecně o operačních systémech
PEVNÝ DISK POČÍTAČE.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
Přednáška č. 5 Proces návrhu databáze
INFORMATIKA - PC 6. Ročník Zpracoval: Mgr. Tomáš Rajnoha vyučující informatiky a komunikační technologie 1.
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
Vzdělávací materiál / DUMVY_32_INOVACE_02B17 Příkazový řádek: procesy AutorIng. Petr Haman Období vytvořeníÚnor 2013 Ročník / věková kategorie3. ročník.
Co je Linux? Základní pojmy
Adresářová služba Active directory
Příkazový řádek CMD.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Shell Team Jan Kupka Petr Kykal Tomáš Paríšek si Vám dovoluje představit
Operační systémy.
Ing. Libor Měsíček, Ph.D. CN460
Kurz Operační systémy (IOSYS) 1.
Serverové systémy Windows
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
UNIX — doplňky Informatika pro ekonomy II přednáška 9.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
2 Fučíková Sylvie HR/Win – moderní technologie pro osvědčené aplikace.
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.
Základy informatiky část 6
Virtualizace Monika Broukalová Pavel Kolář. Co je to virtualizace? Jako virtualizace se v prostředí PC označují postupy a techniky, které umožňují k dostupným.
Operační systémy Název a adresa školy
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
Seminář 12 Obsah cvičení Transportní služby Utilita nestat
Operační systém GNU Linux
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.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
OPERAČNÍ SYSTÉMY.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
doc. RNDr. Zdeněk Botek, CSc.
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
Operační systém GNU Linux Příkazy pro práci se soubory.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
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.
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.
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.
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.
Předmět: INFORMATIKA Ročník: VII. Tématický celek: SOFTWARE A HARDAWARE Autor prezentace : Mgr.Jana Hložková EU do škol – šablona III/2 Inovace.
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
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.
Paměti PC HDD, CD/DVD, USB Flash RAM a ROM Vnější paměť Disková paměť
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: 
Systémové oblasti disku
OPERAČNÍ SYSTÉMY Číslo projektu CZ.1.07/1.5.00/ Název školy
Vlastnosti souborů Jaroslava Černá.
Operační systémy - úvod
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Připravil: Ing. Jan Kolomazník, Ph.D.
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Operační systémy 9. Spolupráce mezi procesy
Linux-příkazový řádek
Správa disků
Základní příkazy OS UNIX (1)
Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
TELNET, FTP.
Informační a komunikační technologie 5. ročník
Přepínání procesů 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: 
Systém souborů 1.
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:

kurz Operační systémy (IOSYS) 1

Vyučující Ing. Jiří Kysela Vyučující cvičení: E-mail: Jiri.Kysela@upce.cz Tel: 466 037 095 Kabinet: 03013 (3. patro budova FEI) Konzultační hodiny: St 10:00-11:00, Čt 11:00-12:00, jiný termín po předchozí domluvě 2

Informace ke kurzu Název kurzu: Operační systémy Ident: IOSYS Kreditů: 5 Podmínky splnění kurzu: Povinná aktivní účast na cvičeních Odevzdání praktických příkladů zadaných na cvičení Prezentace zvoleného téma Absolvování závěrečné zkoušky 3

Harmonogram kurzu Základní pojmy, dělení disků, swap, MBR, boot-manager, role administrátora. OS Linux, soubory, adresáře, shell, ssh, GUI. Procesy, ps, /proc, pstree, PID, PPID, terminál, signály, kill, top, nice, renice, jobs, fg, bg. Plánování úloh, pojem démon, atd, at, cron, crontab. Kompilace programů v Unixu, gcc, make, Makefile, GNU (./configure, make, make install). Vznik procesu, komunikace mezi procesy, fork(), nepojmenované roury, |, pipe(), pojmenované roury, mknod file p. Signály a jejich zpracování, kill(), signal(), sigprocmask(), alarm(). Vlákna, mutex, libpthread, kritická sekce. Condition, libpthread, synchronizace vláken. Sockety, klient/server na TCP/IP. 4

Literatura Základní: Doporučená: Tanenbaum, Andrew Stuart. Modern Operating Systems. 3rd Edition. U.S.A.: Prentice Hall, 2008. Stones, Richard – Matthew, Neil. Linux: Začínáme programovat. 4. vydání. Brno: Computer Press, 2008. Doporučená: Shah, Steve – Soyinka, Wale. Administrace systému Linux. Překlad 4. vydání. Praha: Grada, 2007. Graham, Steven – Shah, Steve. Administrace systému Linux: podrobný průvodce začínajícího administrátora. Překlad 3. vydání. Praha: Grada, 2003. Kol. autorů. LINUX: Dokumentační projekt. 4. aktualizované vydání. Brno: Computer Press, 2008. Spoustová, Drahomíra. Pohádky z příkazové řádky: Učební text pro předmět Úvod do Unixu. [online]. 2007. Tanenbaum, Andrew Stuart. Structured Computer Organization. 5th Edition. U.S.A.: Prentice Hall, 2005. Kol. autorů. The Linux Documentation Project. [online]. Brandejs, Michal. UNIX: materiály k výuce. [online]. 2008 5

Elektronické zdroje ke kurzu http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/#cviceni (dostupné na intranetu UPCE, z vnější sítě přes VPN)

Dělení disků Fyzický disk lze rozdělit více diskových oddílů (tzv. partition), jeho rozdělení uvedeno v tabulce rozdělení disku (tzv. partition table), nachází se v MBR a zabírá pouze 64 bytů (master partition table). - Oddíly mohou být (celkem max. 4): Primární x Rozšířený (kontejner pro logické disky). - Software pro práci s oddíly je např. Partition Magic či GParted. Používá se z různých důvodů: instalace více O.S. na jeden disk obcházení omezení souborového systému použití více souborových systémů Ochrana izolace souborů lepší organizace dat 7

MBR MBR (Master Boot Record) – první sektor na začátku disku (pevný disk: 0. hlava, 0. cylindr, 1. sektor) - Zabírá 512 bytů. - Obsahuje především: Partition table Zavadeč systému pro dual/multi boot (neboli boot loader či boot manager) (v Linuxu např. GRUB či LILO, Windows – NT Loader) 8

SWAP - Označuje virtuální paměť, do které si systém odkládá data z paměti RAM. - V Linuxu je ve výchozím stavu jako zvláštní oddíl (partition), na rozdíl např. od Windows (lze však taktéž využít swap v souboru) - Oddíl má standardně velikost paměti RAM. 9

Virtualizace PC - Lze virtualizovat části (např. mechaniku) ale i celé PC - tzv. Virtual Machine řeší současný běh několika OS na jednom PC (virtuální PC se tváří jako samostatné PC). - Virtual Machine SW např.: VM Ware (zdarma VM Player), VirtualBox, ... 10

Emulátory - Software simulující OS či platformu a umožňující spouštění a běh programů pro ně určených - Při vytváření emulátorů často chybí informace o původní architektuře, používají se proto metody reverzního inženýrství (tzv. Reverse Engineering) (disassemblery pro kód v Assembleru, dekompilátory pro kód ve vyšších programovacích jazycích, ...) - Např. DosBox – emulátor MS-DOS, WINE – emulátor Windows pro Linux, Cygwin – emulátor Linux pro Windows 11

Role administrátora Systémový administrátor – neomezená práva v operačním systému: Instalace a konfigurování aplikačního software, serverů Vytváření nových uživatelských účtů a jejich údržba Zálohování a obnova systému Monitorování a ladění systému … 12

SSH = Secure Shell, zabezpečený komunikační protokol v poč. sítích (zajišťuje připojení, autentizaci a šifrovaný přenos), standardně na portu 22 (TCP) - Náhrada za nešifrovanou vzdálenou správu jako TelNet apod. - Přenášená data mohou být i bezztrátově komprimována. - Služby SSH: Spouštění příkazů, Přenos souborů (SFTP), X-forwarding (práce v grafickém režimu na vzdáleném počítači) - SSH klienti: Putty, WinSCP (či např. řádkový program „SSH“ v Cygwin/Linuxu) 13

CLI, shell, terminál CLI (Command Line Interface) - nejstarší způsob ovládání počítače, vychází z konceptu TTY (teletypewriter) užívaného již v polovině min. století, tedy vstupního zařízení kterým je klávesnice s alfanumerickými znaky, díky níž uživatel ovládá systém pomocí zadávaných příkazů. Unix shell je programem (např. Bash z angl. Bourne Again SHell) který umožňuje zadávat uživateli z klávesnice příkazy a vykonávat skripty. Je přístupný jako tzv. terminál, tzn. prostřednictvím CLI. Unixové O.S. silně zaměřeny na CLI, oproti MS Windows kde je prioritní GUI (Graphical User Interface). CLI podporují jak Linux Ubuntu, tak MS Windows. 14

GUI GUI (Graphical User Interface) - interaktivně využíváno vstupního zařízení klávesnice a myši k ovládání systému pomocí grafických objektů, s nimiž uživatel manipuluje. X Window systém - implementace GUI v Linuxu, není součástí jádra O.S. jako v MS Windows Trend GUI - možnost funkce HUD (Head-Up Display), v Linux Ubuntu od ver 12.04 v novém prostředí Unity. (ukázka: http://www.youtube.com/watch?v=w_WW-DHqR3c) Srovnání GUI a CLI z pohledů výhodnosti ovládání:   GUI CLI Skriptování, roury ne ano Úspora zdrojů (paměť, CPU) Vzdálený přístup velký datový přenos Využití multitaskingu a dalších ploch pomaleji Ovladatelnost multimédií a WWW Schopnosti pro ovládání nízké vysoké 15

Soubory a adresáře I-uzel (I-node) - záznam v souborovém systému uchovávající metadata o souboru Metadata - přístupová práva/datum a čas/vlastníka/délku souboru, disk. adresu uložení dat… Každý soubor je popsán I-uzlem, jejich množství určuje max. počet adresářů a souborů, jež lze v soubor. systému vytvořit. 16

Příkazy pro práci se soubory a adresáři Příkazy Linuxu jsou case-sensitive (rozlišují se velká/malá písmena)! Nápověda: parametr „--help“ (např. „cp --help“). pwd – vypíše absolutní cestu k aktuálnímu adresáři cd – změní aktuální pracovní adresář mkdir – vytvoří adresář rmdir – zruší adresář rm – zruší soubor cp – kopíruje soubor mv – přesouvá soubor file – poskytuje informace o souboru tree – stromový výpis adresářů wc – stat. údaje o text. souboru ls – výpis adresáře 17

Procesy = všechny spuštěné (běžící) programy (proces je instancí programu) - jeden program může běžet jako více procesů - každý proces má systémem přiřazeno jednoznačné identifikační číslo, tzv. PID (Process ID) - každý proces má svého rodiče, tzv. PPID (Parent PID) (spustíme-li program ve Shellu, je on tímto rodičem) - řízení úloh (tzv. job control) umožňuje procesy sledovat, ukončit, přesouvat do popředí, pozadí,... (příkazy pro tuto práci integrovány v shellu – např. v Bash) 18

Procesy Každý proces má přidělen tzv. PCB (Process Control Block) - datovou struktura obsahující data pro správu a běh procesů operačním systémem. PCB obsahuje: identifikátor procesu (PID/PPID) informace o stavu procesu registry mikroprocesoru čítač programu (indikuje adresu následující instrukce procesu, která má být vykonána) plánovací informace mikroprocesoru (priorita procesu, ukazatele na fronty ve kterých proces čeká, atd.) informace o prostředcích I/O (alokovaná I/O zařízení, otevřené soubory atd.) a další. 19

Procfs Pseudo-souborové systémy - virtuální souborové systémy, které nemají účel použití pro záznamová datová média, ale plní určité specifické úlohy v systému. Nejčastěji se s nimi setkáváme v prostředí OS Linux, kde ve formě virtuálních souborů a adresářů, poskytují přístup k informacím o systému, které tak lze prohlížet či měnit. Jsou to například: procfs (zastoupený v adresáři „/proc“) – poskytuje informace o procesech a jádru systému, např. v adresáři „/proc/version„ nalezneme informace o verzi Linuxu. Více informací např. na http://www.root.cz/serialy/co-pred-nami-taji-proc/ sysfs (zastoupený v adresáři „/sys“) – poskytuje informace o systému. devfs (zastoupený v adresáři „/dev“) – poskytuje informace o zařízeních. Úkol: Nalezněte v procfs informace o typu mikroprocesoru počítače. 20

Příkazy pro práci s procesy Pro nápovědu zadejte parametr „--help“ (např. „ps --help“) či využijte manuál příkazem „man <příkaz>“ (např. „man ps“). Pro zobrazení historie slouží příkaz „history“. ps – vypisuje informace o stavu spuštěných procesů pstree – stromový výpis spuštěných procesů kill – ukončení procesu dle zadaného PID killall – ukončení procesů dle zadaného jména top – sledování stavu procesů v reálném čase nice – změna priority procesu renice – změna priority již běžícího procesu Hodnoty priority: -20..+20, kde -20 = max. priorita (záporné pouze root) 21

Příkazy pro práci s procesy Pro nápovědu zadejte parametr „--help“ (např. „ps --help“) či využijte manuál příkazem „man <příkaz>“ (např. „man ps“). Pro zobrazení historie slouží příkaz „history“. jobs – výpis procesů v daném terminálu fg – aktivování procesu do popředí bg – přesunutí běhu procesu do pozadí (stejný význam má zadání: „<příkaz> &“) Běh na pozadí je stav kdy úloha je spuštěna, ale nepřijímá žádný vstup z terminálu a nebrání v další činnosti na tomto terminálu. Běh na popředí je pravý opak - přijímá vstup z terminálu a blokuje jej pro sebe. Pozastavená úloha je taková, která momentálně neběží, ale ještě neukončila svou činnost. Klávesové zkratky: Ctrl + C – přerušení běhu procesu na popředí Ctrl + Z – pozastavení běhu procesu na popředí 22

Plánování úloh Démon - program běžící na pozadí, čeká na události které nastanou, reaguje na ně a poskytuje služby. Např. webový server čekající na požadavek uživatele na stránky, SSH server na vzdálené přihlášení, databázový server atd. Podobným způsobem funguje i démon atd, který se stará o spouštění naplánovaných úloh v příslušný čas. Pro plánování jednorázových úloh slouží příkaz „at“, kde parametr času zadáváme jako HH:MM, HH:MM DD.MM.YYYY či výrazy jako midnight, noon, teatime, now, today, tomorrow a jejich přírůstky. Pro výpis naplánovaných úloh slouží příkaz „atq“ (či „at –l“), pro odstranění úlohy pak příkaz „atrm“ (či „at –d“). Příklady: at 20:00, at 20:00 6.11.2012 at now + 1 min (at now + 1 hour, at now + 1 day, at now + 1 week) 23

Plánování úloh 1. minuta 2. hodina 3. den v měsíci 4. měsíc Pro naplánování úloh s periodickým spouštěním se využívá nástroje Cron. Démon crond se stará o periodické spouštění naplánovaných úloh v příslušný čas. Ten lze nastavit v tzv. cron tabulce, tu lze otevřít příkazem „crontab –e“ (předtím doporučeno: export EDITOR=nano) a upravovat dle následujících pravidel: 1. minuta 2. hodina 3. den v měsíci 4. měsíc 5. den v týdnu (0 - neděle, 1 - pondělí... 6 - sobota) 6. cesta k programu, který má cron spustit 24

Kompilace programů Kompilace - překlad zdrojového kódu do binárního strojového kódu (v multiplatformních případech jako Java navíc s tzv. mezikódem, angl. bytecode), ten se liší dle použité platformy a operačního systému. Současné počítače však fungují na různých platformách a často navzájem nekompatibilních operačních systémech (Windows, Linux, atd.). Vývoj nativních aplikací – vytvářené pouze pro určitou platformu a operační systém (např. Linux), jinde nefungují. Aplikace nejčastěji vytvořeny v C/C++, jehož zdrojové kódy jsou poté přeloženy do nativního kódu pro každou platformu zvlášť. Vývoj multiplatformních aplikací – aplikace nejčastěji spouštěné pomocí různých interpreterů (např. Adobe Flex, Adobe Flash, Microsoft Silverlight, Java, JavaScript, atd.) – ty jsou obvykle volně k dispozici pro většinu platforem. 25

gcc GNU GCC (z angl. GNU Compiler Collection) – sada software pro kompilaci programů (překladače jazyka C/C++, linker, knihovny, debugger, atd.) vytvořených v projektu GNU pod licencí GPL. Knihovny - obsahují datové typy a podprogramy, jež lze využívat v našich programech. Linker - spojuje (tzv. linkuje) překladačem vytvořené soubory se strojovým kódem do jednoho komplexního souboru. Debugger - program pro ladění a hledání chyb v programu. GNU = projekt podporující volně šiřitelný software a jeho modifikaci. GPL (General public licence GPL) = licence stanovující podmínky pro software k volnému použití i modifikaci, základní předpoklad je bezplatné šíření software i zdrojových kódů. 26

gcc Překlad: gcc –o <název spustitelného souboru> <název zdrojového souboru> [-Wall] Např: gcc -o hello_world hello_world.c -Wall Spuštění: ./<název spustitelného souboru> Např: ./hello_world Parametr -Wall slouží k výpisu všech chybových zpráv překladačem. Linux spustitelné soubory hledá ve výchozích složkách (/bin,/usr/bin a /usr/local/bin, atd.), jinak třeba zadat cestu k souboru absolutně či relativně ("./" = aktuální adresář). 27

make make – pro účely kompilace rozsáhlých programů, v textovém souboru „Makefile“ definuje jak se překládá který soubor (umožňuje stanovit závislosti souborů, nastavovat proměnné, příkazy pro kompilaci, komentáře…). Parametr make –f umožňuje změnit název souboru „Makefile“. Proměnná CFLAGS určuje parametry (tzv. přepínače) pro překladač, CC název překladače, # značí komentář. Příkazy (musí být odsazeny tabelátorem!) jsou umístěny za tzv. cíli v blocích. První cíl je implicitní cíl příkazu make. # Vlastní Makefile verze 0,5 CFLAGS=-Wall CC=gcc help: echo " parametr compile - prelozi program, clean - smaze program" compile: ahoj.c $(CC) $(CFLAGS) -o ahoj ahoj.c clean: rm -f ahoj Pravidla v Makefile: cíl:závislost1 závislost2 ... [enter] [tabelátor]akce1 [tabelátor]akce2 .. 28