Otázky z OSU 2011: Porovnání verzí
Z Milan Kerslager
(Doplnění) |
m (+kat) |
||
(Není zobrazeno 6 mezilehlých verzí od stejného uživatele.) | |||
Řádka 1: | Řádka 1: | ||
− | + | '''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čet z článku na Wikipedii|zápočtu]]. | |
− | == | + | == Přednášky == |
# Úvod do Unixu | # Úvod do Unixu | ||
#* [[csw:AT&T|AT&T]], [[csw:Multics|Multics]], vznik [[csw:Unix|Unixu]], [[csw:Ken Thompson|Ken Thompson]], vývoj a hlavní větve ([[csw:BSD|BSD]], [[csw:UNIX System V|SysV]]) | #* [[csw:AT&T|AT&T]], [[csw:Multics|Multics]], vznik [[csw:Unix|Unixu]], [[csw:Ken Thompson|Ken Thompson]], vývoj a hlavní větve ([[csw:BSD|BSD]], [[csw:UNIX System V|SysV]]) | ||
Řá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 78: | Řádka 78: | ||
#* [[csw:X_Window_System#X_Server|X Server]], [[enw:X Window System protocols and architecture|X protokol]], [[csw:Správce oken|správce oken]], schéma komunikace, [[csw:X display manager|X Display Manager]] | #* [[csw:X_Window_System#X_Server|X Server]], [[enw:X Window System protocols and architecture|X protokol]], [[csw:Správce oken|správce oken]], schéma komunikace, [[csw:X display manager|X Display Manager]] | ||
#* [[enw:Xlib|Xlib]], [[enw:Widget toolkit|widget toolkit]], [[csw:GNOME|GNOME]], [[csw:KDE|KDE]], [[enw:freedesktop.org|freedesktop.org]] | #* [[enw:Xlib|Xlib]], [[enw:Widget toolkit|widget toolkit]], [[csw:GNOME|GNOME]], [[csw:KDE|KDE]], [[enw:freedesktop.org|freedesktop.org]] | ||
+ | |||
+ | == Cvičení == | ||
+ | # Textové prostředí | ||
+ | #* [http://www.pslib.cz/ke/Ovl%C3%A1d%C3%A1n%C3%AD_konzole_v_Linuxu přepínání do textové konzole], její význam, runlevel, myš v textové konzoli | ||
+ | #* [http://www.pslib.cz/ke/Dokumentace_v_Linuxu dokumentace] (manuálové stránky, info, /usr/share/doc/, [http://tldp.org/ LDP]) | ||
+ | #* vzdálené přihlašování (ssh, autorizace pomocí klíčů) | ||
+ | #* [http://www.pslib.cz/ke/Z%C3%A1kladn%C3%AD_informace_o_syst%C3%A9mu 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 | ||
+ | # [http://www.pslib.cz/ke/Ovl%C3%A1d%C3%A1n%C3%AD_p%C5%99%C3%ADkazov%C3%A9ho_%C5%99%C3%A1dku_v_Unixu 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ářů | ||
+ | #* [http://www.pslib.cz/ke/P%C5%99%C3%ADkazy_Unixu příkazy pro práci se soubory a adresáři], mc | ||
+ | #* žolíkové znaky, linky | ||
+ | # Textové editory | ||
+ | #* editor mcedit, joe, nano | ||
+ | # Textový editor [http://www.kai.tul.cz/~satrapa/docs/vim/ vim] | ||
+ | # Práce se soubory | ||
+ | #* nástroje pro práci s textovými soubory, filtry, [http://www.kai.tul.cz/~satrapa/docs/regvyr/ 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) | ||
+ | # [http://www.pslib.cz/ke/Programov%C3%A1n%C3%AD_v_shellu_BASH 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 | ||
+ | * [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-P 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 | ||
+ | * [http://www.nti.tul.cz/wiki/WikiUser:Pavel.Satrapa Satrapa, P.]: [http://www.kai.tul.cz/~satrapa/docs/regvyr/ Regulární výrazy] | ||
+ | * [http://www.nti.tul.cz/wiki/WikiUser:Pavel.Satrapa Satrapa, P.]: [http://www.kai.tul.cz/~satrapa/docs/vim/ Editor ViM] | ||
+ | * [http://www.fi.muni.cz/usr/brandejs/ Brandejs, M.]: [http://www.ics.muni.cz/zpravodaj/articles/33.html Programovatelný filtr AWK] | ||
+ | * [http://www.fi.muni.cz/usr/brandejs/ Brandejs, M.]: [http://www.fi.muni.cz/usr/brandejs/unix/ Unix] | ||
+ | * [http://www.kit.tul.cz/~kolar/unix/ Kolář, P.]: [http://www.kit.tul.cz/~kolar/unix/ Unix] | ||
+ | * [http://www.kai.tul.cz/~kmoch/ 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. | ||
+ | |||
+ | [[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.