= Operačné systémy = 2008/09 -- LS == Downloady pre cvičenia == [[attachment:gallery.tar.gz]] [[attachment:passwd.txt]] [[attachment:zadanie2.pdf]] [[attachment:zadanie_opr.pdf]] == Uploady == [[/Uploady]] == Vyučujúci == * Gejza Jenča gejza.jenca@stuba.sk == Konzultačné hodiny == V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení. == Stručná osnova predmetu == * Princípy OS Unix/Linux * Základy práce so systémom * Súborový systém * Užívatelia a skupiny * Procesy, rúry * Prehľad základných utilít * Programovanie v shelli, skripty * Programovací jazyk Python == Skúška == <> Termíny skúšky sú (vždy o 9:00 v zasadačke KMaDG) * 29.5.2009 * 15.6.2009 * 19.6.2009 Dostavte sa podľa možnosti všetci na termín 29.5. Skúška bude prebiehať písomne. Obsah viď nižšie. Ihneď po napísaní vaše písomky opravím, potom budem prípadne ešte konzultovať s tými ľuďmi, ktorí budú na hranici alebo nebudú spokojní s hodnotením. <> Z Vychodila treba vedieť: * Kapitola 3: od začiatku až po 3.6 včítane * Kapitola 4: od začiatku až po 4.3 včítane * Kapitola 5: v tej miere ako bolo odprednášané, najmä * štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď * presmerovanie vstupu a výstupu, {{{>,<,>>,<<,|}}} * skripty, mechanizmus fungovania konštrukcie {{{!#}}} * premenné, špeciálne premenné, argumenty skriptov * kontrola toku programu : {{{if,while,for}}} * princíp fungovania {{{if}}} a {{{while}}} cez exit status * príkaz {{{test}}} * Kapitola 6: * základné programy pre prácu s textom {{{sort,cut,paste}}} * regulárne výrazy, program {{{grep}}} * program {{{sed}}} (iba príkaz) Z Pythonu treba vedieť základy: * zabudované dátové typy * základy programovania ({{{for,while,if}}}) * funkcie a parametre ({{{def}}}) * triedy ({{{class}}}) Na skúške sa vás: * Spýtam na pár vecí z kapitoly 3 a 4. * Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania. * Bude zadanie o regulárnych výrazoch. * Napíšete krátky program v Pythone. Pravdepodobne to bude nejaká trieda. == Výsledky == [[/Výsledky]] == Domáce zadania, cvičenia == [[/Zadanie1 | Domáce zadanie na prvé cvičenie]] [[attachment:python_zadania.pdf | Zadania z Pythonu]] <- Verzia 6.5.2009 Domáce zadanie na testovacie cvičenie z Pythonu: vyriešte zo zadaní časť o reláciách. Domáce zadanie na opravné/náhradné cvičenie z shell scriptov: rovnaké ako na normálne cvičenie. == Vzorove riesenia cviceni == [[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]] == Materiály == * [[attachment:prva.pdf|pdf k prvej prednáške]] * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]] * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]] * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]] ##=== Pythonovské programy === ## * [[PocitacoveSiete/Fork|fork(), wait(), SIGCHLD]] ## * [[PocitacoveSiete/Pipe|pipe()]] ## * [[PocitacoveSiete/Socket| UNIXové sockety]] ## * [[PocitacoveSiete/TCPSocket | Klient a server TCP]] ## * [[PocitacoveSiete/Sumator | TCP server pre scitanie cisel]] ## * [[PocitacoveSiete/ChatServer | Chatovací server - multithreading]] ## * [[PocitacoveSiete/Webserver | "Webovsky server" implementovaný na úrovni socketov]] ## * [[attachment:cgi-server.tar.gz | CGI server a skripty]] == Literatúra == 1. ''Linux: Příručka českého uživatele'', Vilém Vychodil; Computer Press 2003, Brno (je žiadúce, aby každý mal svoju kópiu) 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 1. ''Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar 1. ''The Art of Unix Programming'', Eric S. Raymond, http://www.faqs.org/docs/artu/ 1. ''Umění programování v Unixu'', Eric S. Raymond, (český preklad horeuvedeného) 1. ''How To Ask Questions The Smart Way'', Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html 1. ''Dive into Python'', Mark Pilgrim, http://www.diveintopython.org/ 1. ''Advanced Bash-Scripting Guide'', Mendel Cooper, http://tldp.org/guides.html 1. ''GNU/Linux Command-Line Tools Summary'', Gareth Anderson, http://tldp.org/guides.html 1. ''A Byte of Python'', Swaroop C H, http://www.swaroopch.com/notes/Python 1. ''How to Think Like a Computer Scientist'', Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/ == Webové stránky == 1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu 1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu == Podmienky na zápočet == 15 bodov z 30. Body sa budú udeľovať v rámci cvičení. == Príklady a cvičenia == == Výsledky ==