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

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

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

Přednáška 6. Procesy a vlákna (vznik, stavy, atributy). Signály. Nástroje pro práci s procesy a vlákny. Úvod do Operačních Systémů Přednáška 6

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

Roury a zprávy Mgr. Josef Horálek

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.

Systém souborů (file system, FS)

Tomáš Borland Valenta

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

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

Procesy a vlákna (Processes and Threads)

Změnit čas poslední modifikace souboru je možno službou jádra getrusage() stat() link() time() *truncate()

Základní příkazy pro práci se soubory

Souborové systémy Mgr. Josef Horálek

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í

a co je operační systém?

Management procesu I Mgr. Josef Horálek

Operační systémy. Cvičení 5: Volání jádra, procesy, vlákna.

OS Procesy a vlákna. Tomáš Hudec. Tomas.Hudec@upce.cz.

PB002 Základy informačních technologií

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

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

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

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)

Procesy a vlákna - synchronizace

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Téma 2 Architektury OS a jejich služby

Základní příkazy OS UNIX

ČÁST 1. Základy 32bitového programování ve Windows

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

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu

Unix je víceuživatelský a víceúlohový OS

Linux-příkazový řádek

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

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

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

Operační systém GNU/Linux

Matematika v programovacích

RAID, LVM a souborové systémy

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)

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

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Operační systémy. Přednáška 1: Úvod

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

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

Implementace systémů HIPS: historie a současnost. Martin Dráb

Soubory. SŠSI Tábor 1

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

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

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

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

PSK3-3. Základní příkazy. Zápis cesty

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

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

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

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

Příkaz find, práce s procesy a úlohami, plánování úloh

Windows a real-time. Windows Embedded

Procesy a vlákna Mgr. Josef Horálek

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

Úvod do Operačních Systémů

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

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

Základní datové struktury

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Operační systém (Operating System)

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Historie UNIXu a LINUXu - 1

Operační systém UNIX

Nastroje na zpracovani textu:

Struktura programu v době běhu

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Profilová část maturitní zkoušky 2017/2018

Úvod do UNIXu. Jirka Boháč Gymnázium Jaroslava Seiferta 2003/2004

Přidělování paměti II Mgr. Josef Horálek

C2110 Operační systém UNIX a základy programování

Administrace Unixu a sítí

Profilová část maturitní zkoušky 2013/2014

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

Systém adresace paměti

Systém souborů (File System)

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

POČÍTAČE A PROGRAMOVÁNÍ

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

Instalace OS, nastavení systému

Architektura systému GNU/Linux. Bohdan Milar

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

IT ESS II. 1. Operating Systém Fundamentals

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Západočeská univerzita v Plzni. Správce virtuálních strojů

Identita uživatelů, přístupová práva. Linux

Operační systémy 1. Přednáška číslo Souborové systémy

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

Architektura systému. Tomáš Borland Valenta

Základní příkazy UNIXu (Linuxu)

Principy operačních systémů

Úvod do Linuxu SŠSI Tábor 1

Transkript:

ÚVOD DO OPERAČNÍCH SYSTÉMŮ Linux Teorie operačních systémů a realita České vysoké učení technické Fakulta elektrotechnická Ver.1.00 2010

Historie Unixu a Linuxu MULTICS 50. - 60. léta minulého století, osobní počítače ve smyslu užití. Rozměrově však potřebovaly několik místností MULTiplexed Inforamtion and Computing Service UNICS -> UNIX zjednodušená verze MULTICSu pro PDP-7 PDP-11 UNIX 70. léta B -> C Berkeley UNIX 1BSD Standard UNIX System V, POSIX konec 80. let MINIX 1987

Historie Unixu a Linuxu Linux verze 0.01-1991 velké množství distribucí: www.distrowatch.com FreeBSD

Přehled Linuxu Určení Linuxu víceuživatelsklý a víceprocesorový systém zaměřený na znalé uživatele Rozhraní v Linuxu: Uživatelské rozhraní Uživatelé Knihovní funkce Systémová volání Standardní uživatelské programy (shell, editor, kompilátor,...) Standardní knihovna (open, close, read,...) Operační systém - Linux (správa procesů, správa paměti, souborový systém, vstup/výstup,...) Hardware (Procesor, paměť, disky, terminály,...)

Přehled Linuxu Shell + Utility - nenáročný na zdroje (monitor + klávesnice) - velmi výkonný a flexibilní - seskupováním jednotlivých jednoúčelových nástrojů lze dosáhnout požadované výsledky - skriptování - utility: cat, chmod, cp, cut, grep, head, ls, make, mkdir, paste, ps, rm, rmdir, sort, tail, tr,...

Přehled Linuxu - Struktura jádra

Procesy v Linuxu Koncept procesů v Linuxu proces (úloha) aktivní entita proces provádí jeden program a na počátku má jen jedno vlákno víceúlohový systém proces má vlastníka (nemusí se jednat o fyzicky existujícího uživatele - démoni) vztahy mezi procesy: rodič - potomek (PID, fork) komunikace mezi procesy: roury (pipe) a signály POSIX: SIGABRT, SIGALRM, SIGFPE, SIGHUP, SIGILL, SIGQUIT, SIGKILL, SIGPIPE, SIGSEGV, SIGTERM, SIGUSR1, SIGUSR2

Procesy v Linuxu main () {... pid = fork(); switch (pid) { case -1: /* doslo k chybe */ perror ("chyba ve funkci fork()"); exit(1); case 0: /* program provadeny v potomkovi */ printf ("PID procesu potomka: %d\n", (int) getpid ()); execlp("sleep", "sleep", "30", (char *) NULL); perror ("chyba ve funkci execlp()"); exit (1); default: /* program provadeny v rodici */ printf ("PID procesu rodice : %d\n", (int) getpid ()); wait(&status); };... }

Systémová volání správy procesů Procesy v Linuxu pid = fork() Systémové volání Popis vytvoří potomka identického s rodičem pid = waitpid(pid, &statloc, opts) s = execve(name, argv, envp) exit(status) s = sigaction(sig, &act, &oldact) s = sigreturn(&context) s = sigprocmask(how, &set, &old) s = sigpending(set) s = sigsuspend(sigmask) s = kill(pid, sig) residual = alarm(seconds) s = pause() čeká na ukončení činnosti potomka nahradí kód volajícího procesu jiným ukončení provádění s návratovou hodnotou definice akce při přijmu signálu návrat z obsluhy signálu manipulace s mskováním signálů vrací množinu blokovaných signálů změna masky signálu a suspendování procesu zaslání signálu procesu nastavení alarmu suspendování procesu až do příchodu signálu

Procesy v Linuxu Implementace procesů a vláken. Proces nebo vlákno, všechno je úloha: datová struktura task_struct Parametry pro plánování Ukazatele do paměti, případně na disk s odloženými stránkami paměti Signály Registry Stav systémových volání Tabulka deskriptorů souborů Účetnictví Zásobník pro běh v režimu jádra Různé

Plánování: 1) Real-time FIFO 2) Real-time round robin 3) Timesharing -statické priority (nice) -20 - +19 Procesy v Linuxu Zavádění systému - Boot - kde se vzal první proces? - GRUB vs. LILO

Správa paměti v Linuxu Koncept: tři segmenty na proces (text, data, stack) - sdílené segmenty kódu, soubory mapované do paměti

Správa paměti v Linuxu Systémová volání správy paměti - nejsou standardizována normou POSIX - u přenositelných programů je třeba se spoléhat na knihovní funkce (malloc) Implementace správy paměti - maximum paměti pro proces obvykle 3GB + 1GB navíc v módu jádra Fyzická paměť: - DMA - Normal - Highmem Stránkování - čtyř úrovňová tabulka stránek

Vstup a výstup v Linuxu Koncept - speciální soubory v adresáři /dev - blokově a znakově orientovaná zařízení - major, minor number Sítě - socket - TCP, UDP Systémová volání Implementace - ovladače (drivery) - přímo v jádře nebo moduly

Souborové systémy v Linuxu Koncept - původně souborový systém MINIX 1 (jména 14 znaků, soubor max. 64 MB) - soubor: libovolná sekvence bytů (třeba i nulové délky) - nerozlišují se binární a ASCII soubory - absolutní a relativní cesty - odkazy (link) - zámky Systémová volání: create, open, close, read, write, stat, fcntl Implementace VFS Ext2, Ext3, Ext4 NFS

Koncept - UID, GID - u souborů i procesů - práva: číst, psát, spouštět - ACL Bezpečnost v Linuxu Systémová volání: chmod, access, getuid, geteuid, getgid, getegid, chown, setuid, setgid Implementace: - autentifikace - login - login zajistí běh uživatelových procesů se správným uid a gid

Bezpečnost v Linuxu