Otázky z OSU 2011: Porovnání verzí
Z Milan Kerslager
m (→Materiály: fix) |
m (+kat) |
||
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
Řádka 16: | Řádka 16: | ||
#* znakové rozhraní, řádkový [[csw:Terminál (informatika)|terminál]], [[csw:Escape sequence|řídící znaky]], [[csw:Příkazový řádek|příkazový řádek]], [[csw:Systémová konzole|konzole]] | #* znakové rozhraní, řádkový [[csw:Terminál (informatika)|terminál]], [[csw:Escape sequence|řídící znaky]], [[csw:Příkazový řádek|příkazový řádek]], [[csw:Systémová konzole|konzole]] | ||
#* celoobrazovkový terminál, <strike>[[enw:Environment variable|proměnná prostředí]] TERM,</strike> [[csw:Textové uživatelské rozhraní|textové uživatelské rozhraní]] | #* celoobrazovkový terminál, <strike>[[enw:Environment variable|proměnná prostředí]] TERM,</strike> [[csw:Textové uživatelské rozhraní|textové uživatelské rozhraní]] | ||
− | #* [[csw:Unixový shell|unixový shell]] <strike> | + | #* [[csw:Unixový shell|unixový shell]], zpracování příkazového řádku, <strike>[[enw:Wildcard character|žolíkové znaky]], [[enw:Command substitution|vložené příkazy]],</strike> [[csw:Telnet|telnet]], [[csw:Secure Shell|SSH]] |
#* [[csw:Grafické uživatelské rozhraní|grafické rozhraní]] a jeho vývoj, [[csw:Ovládací prvek (počítač)|widget]], [[csw:X Window System|X Window System]], [[csw:X.Org|X.Org]], [[csw:Emulátor terminálu|emulace terminálu]] | #* [[csw:Grafické uživatelské rozhraní|grafické rozhraní]] a jeho vývoj, [[csw:Ovládací prvek (počítač)|widget]], [[csw:X Window System|X Window System]], [[csw:X.Org|X.Org]], [[csw:Emulátor terminálu|emulace terminálu]] | ||
#* [[enw:Internationalization and localization|lokalizace programů]] <strike>(i10n, i18n, proměnné prostředí, PO soubory), příkaz locale</strike> | #* [[enw:Internationalization and localization|lokalizace programů]] <strike>(i10n, i18n, proměnné prostředí, PO soubory), příkaz locale</strike> | ||
Řádka 126: | Řádka 126: | ||
== Materiály == | == Materiály == | ||
− | * | + | * [[Slajdy pro výuku]] |
* http://elearning.fm.tul.cz – Moodle + záznamy streamovaných přednášek | * http://elearning.fm.tul.cz – Moodle + záznamy streamovaných přednášek | ||
* [http://stag.tul.cz/apps/stag/prohlizeni/pg$_prohlizeni.sylabus?kat=NTI&predm=OSU Sylabus předmětu OSU] (STAG) | * [http://stag.tul.cz/apps/stag/prohlizeni/pg$_prohlizeni.sylabus?kat=NTI&predm=OSU Sylabus předmětu OSU] (STAG) | ||
Řádka 144: | Řádka 144: | ||
* Brandejs, M.: Unix - Linux - praktický průvodce. Praha: Grada Publishing, 1996. 341 s. ISBN 80-7169-170-4. | * Brandejs, M.: Unix - Linux - praktický průvodce. Praha: Grada Publishing, 1996. 341 s. ISBN 80-7169-170-4. | ||
* Siever, E.: Linux v kostce. 1. vyd. Praha: Computer Press, 1999. 560 s. ISBN 80-7226-227-0. | * Siever, E.: Linux v kostce. 1. vyd. Praha: Computer Press, 1999. 560 s. ISBN 80-7226-227-0. | ||
+ | |||
+ | [[Kategorie:Otázky|1]] |
Aktuální verze z 2. 10. 2012, 08:15
Otázky z OSU (Operační systém Unix, vyučovaný na Pedagogické fakultě Technické univerzity v Liberci) slouží jako osnova předmětu a jako otázky ke zkoušce. Odkazy do internetové encyklopedie Wikipedia nemusí správně nebo úplně popisovat dané téma, poskytují jen vodítko při samostatném studiu a jako témata pro vypracování zápočtu.
Přednášky
- Úvod do Unixu
- AT&T, Multics, vznik Unixu, Ken Thompson, vývoj a hlavní větve (BSD, SysV)
- standardizace (X Window System, POSIX, SUS, LSB), unixové války
- další unixové systémy, otevřený systém, charakteristika a filozofie Unixu:
- jednoduchý, víceúlohový, víceuživatelský, strom adresářů
- vše je soubor, prostý text pro konfigurační soubory, vztahy mezi programy
- Současné unixové systémy
- unixové systémy, pokračovatelé BSD, MINIX
- Linux, jádro Linuxu, Linus Torvalds, distribuce Linuxu, Live CD
- open source software, free software, vývoj podle modelů katedrála a tržiště
- projekt GNU, licence (GPL, LGPL, BSD), komerční využití open source
- Uživatelské rozhraní
- znakové rozhraní, řádkový terminál, řídící znaky, příkazový řádek, konzole
- celoobrazovkový terminál,
proměnná prostředí TERM,textové uživatelské rozhraní - unixový shell, zpracování příkazového řádku,
žolíkové znaky, vložené příkazy,telnet, SSH - grafické rozhraní a jeho vývoj, widget, X Window System, X.Org, emulace terminálu
- lokalizace programů
(i10n, i18n, proměnné prostředí, PO soubory), příkaz locale
- Uživatelé a skupiny
- důvody pro zavedení, soubory /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow
- UID, GID, uživatel root, příkaz sudo a su, adresářové služby (NIS, LDAP)
- bezpečnost (programátorská chyba, zranitelnost, exploit, elevace oprávnění)
- aktualizace, zero day exploit,
rootkit - doplňující zabezpečení (SELinux, AppArmor), chroot, sandbox
- Přístupová oprávnění
- tradiční unixová oprávnění (pro soubory a adresáře, uplatňování, zobrazování)
- oktalový zápis oprávnění, příkaz chmod, používané kombinace, umask, ACL
- speciální oprávnění (SUID, SGID, sticky bit, EUID, EGID), atributy, rozšířené atributy
- Soubory a adresáře
- soubor, konvence přípon, speciální soubory a jejich využití, adresář
- kořenový adresář, cesta k souboru, pracovní adresář,
proměnná PATH -
příkaz lsof, vlastnictví (při vytvoření, kopírování, přejmenování, přesunu) - uchovávané časy,
příkaz stat, struktura adresářů (FHS), linky (pevná, symbolická)
- Deskriptory a proudy
- deskriptor, systémové funkce pro práci se soubory (open, read, write, close, unlink)
- offset v souboru, lseek, mazání otevřených souborů (důsledky, aktualizace souborů)
- čtení adresáře (opendir, readdir, closedir, rewinddir) – viz dirent.h,
lsof - standardní proudy, přesměrování v shellu bash, kolony, program jako filtr
- Systém souborů
- data a metadata, původ FS (média, pásky, diskety, pevné disky a jejich stavba)
- MBR, GPT, diskový oddíl, blok, adresace bloků (CHS, LBA), alokační jednotka
- struktura FAT, struktura a vlastnosti ext4, superblok, obsah i-uzlu, záznam v adresáři
- správa FS: vytváření (mkfs), připojování (mount),
soubor fstab, oprava (fsck) - fragmentace, žurnálování, děravé soubory, extenty, rozsáhlé adresáře
- síťové systémy souborů (NFS, SMB, GFS, AFS)
- Jádro systému
- typy jader (monolitické, mikrojádro, hybridní), RTOS, ovladač
- vztah procesu a jádra (kernel space, user space, syscall), syslog
- unixový čas, tz databáze (časové zóny)
- start počítače IBM PC (BIOS, setup, start z diskety a pevného disku), EFI
- start unixového systému, kořenový systém souborů, proces init, runlevel, démon,
- Procesy
- algoritmus, program, proces, thread, spustitelný soubor, ELF
- knihovna (statická, dynamická, sdílená,
ldconfig), loader, dynamic loading, API, ABI - životní cyklus a stavy procesu (RSDTZ), nice, renice, priority,
load
- Správa procesů
- Komunikace mezi procesy
- meziprocesová komunikace (IPC), souběh, atomická operace,
zamykání, BKL - IPC: soubor, sdílená paměť, mapování souborů do paměti, signály, zasílání zpráv
- roura (kolona), pojmenovaná roura, IPC socket, zamykání souborů, souborové zámky
- meziprocesová komunikace (IPC), souběh, atomická operace,
-
Síťový subsystém- ARPANET, RFC, BSD socket API, Internet socket, TCP/IP stack a jeho otisk, nmap
- adresy v IPv4 a IPv6, IP datagram, ICMP, UDP, TCP, síťový port
- síťová karta a síťové rozhraní, příkaz ifconfig, DHCP
- maska sítě, subnet, směrovací tabulka, route, DNS, resolver, resolv.conf
- síťový démon (příklad, popis funkce), příkaz netstat, síťový superserver xinetd
- postup ověřování funkce sítě (ping, nslookup, dig, telnet)
- firewall nestavový a stavový, počítačový cluster
- Grafický subsystém
- vývoj zobrazování, grafické karty VGA, SVGA, VESA, ovladač grafické karty
- vytvoření obrazu, VideoRAM, framebuffer, GPU, akcelerace (2D, 3D)
- OpenGL, Mesa 3D, Direct3D, řešení GUI v jádře nebo jako aplikace
- X Server, X protokol, správce oken, schéma komunikace, X Display Manager
- Xlib, widget toolkit, GNOME, KDE, freedesktop.org
Cvičení
- Textové prostředí
- přepínání do textové konzole, její význam, runlevel, myš v textové konzoli
- dokumentace (manuálové stránky, info, /usr/share/doc/, LDP)
- vzdálené přihlašování (ssh, autorizace pomocí klíčů)
- základní informace o systému (uname, uptime, df, free, ...)
- Grafické prostředí
- popis prostředí X Window system, X.org (window manager, GNOME, KDE, Xfce, ...)
- aplikace v GUI (Firefox, OpenOffice, editor, správce souborů, domácí adresář, ...)
- prostřední tlačítko myši, cut&paste, virtuální pracovní plochy
- terminál v GUI, ssh, proměnná DISPLAY, tunelování X session, VNC
- Příkazový řádek
- ovládání příkazové řádky (TAB, šipky, historie)
- ovládání terminálu (CTRL+c, q, s, z, a, e, d, w, h, j, k, l, p, n, ...)
- formát příkazu, speciální znaky: " ' ; \ $ & ! * ? () {} [] < > ~
- Uživatelské nástroje
- komunikace (write, talk, mesg, mutt)
- zálohování (tar, gzip, bzip2)
- telnet, ssh, ftp (lftp), scp (WinSCP)
- Shell BASH
- zpracování příkazového řádku, přesměrování vstupu a výstupu, here document
- konfigurační soubory shellu, aliasy, proměnné shellu
- Správa souborů a adresářů
- příkazy pro práci se soubory a adresáři, mc
- žolíkové znaky, linky
- Textové editory
- editor mcedit, joe, nano
- Textový editor vim
- Práce se soubory
- nástroje pro práci s textovými soubory, filtry, regulární výrazy
- roury (kolony), vložené příkazy
- Oprávnění v Unixu
- výpis, nastavení, ACL
- umask, speciální oprávnění
- Procesy
- výpis procesů, signály
- procesy na popředí a na pozadí, jejich správa (&, fg, bg, jobs, nohup)
- plánování úloh (cron, at)
- Programování v shellu
- základní programové konstrukce (if, for, while, ...), funkce
- práce s proměnnými, zpracování parametrů z příkazového řádku, návratový kód
- Nástroje pro zpracování textu
- neinteraktivní stream editor sed
- programovatelný filtr AWK
- Rezerva
Materiály
- Slajdy pro výuku
- http://elearning.fm.tul.cz – Moodle + záznamy streamovaných přednášek
- Sylabus předmětu OSU (STAG)
- Sylabus předmětu OSU-P (STAG)
- Keršláger, M.: Dokumentace v Linuxu
- Keršláger, M.: Příkazy Unixu
- Keršláger, M.: Programování v shellu BASH
- Satrapa, P.: Regulární výrazy
- Satrapa, P.: Editor ViM
- Brandejs, M.: Programovatelný filtr AWK
- Brandejs, M.: Unix
- Kolář, P.: Unix
- Mgr. David Kmoch
- …a další Materiály ke studiu
Doporučená literatura
- Brandejs, M.: Unix - Linux - praktický průvodce. Praha: Grada Publishing, 1996. 341 s. ISBN 80-7169-170-4.
- Siever, E.: Linux v kostce. 1. vyd. Praha: Computer Press, 1999. 560 s. ISBN 80-7226-227-0.