| Size: 3594 Comment:  | Size: 2546 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 1: | Line 1: | 
| ## page was renamed from OperacneSystemy | |
| Line 3: | Line 4: | 
| 2007/08 -- ZS | 2008/09 -- LS | 
| Line 10: | Line 11: | 
| * Jozef Martin Kollar jmkollar@penguin.sk | |
| Line 21: | Line 21: | 
| * Textový editor vim | |
| Line 23: | Line 22: | 
| * Základy internetových protokolov | |
| Line 25: | Line 24: | 
| == Témy na skúšku == | == Výsledky == | 
| Line 27: | Line 26: | 
| 1. Súborový systém, užívatelia a skupiny, prístupové práva 2. Procesy, signály, rúry. 3. Regulárne výrazy. 4. Náčrt riešenia jednoduchého problému v shelli. 5. Náčrt jednoduchého programu v Pythone. 6. Základy internetových protokolov IP, TCP, UDP, HTTP. == Komentáre ku skúške == V prvom zadaní ste nevedeli zabezpečiť, aby nikto okrem vlastníka nevedel zmazať súbor. Treba dať súbor do osobitného adresára a revokovať zápisové práva pre skupinu a ostatných. Nevedeli ste (až na výnimku) význam setgid na adresár. umask malo byť 007. Druhé zadanie dopadlo pomerne dobre, máte o tom správnu predstavu. Ale niektorí si myslíte, že sa forkuje ls, prípadne nepíšete čo sa forkuje. Forkuje sa shell. V treťom zadaní bol problém s tým, že väčsinou neviete spätné referencie -- to je nutné, ak chceme vybrať riadky s rovnakým prvým aj posledným znakom. Takto: {{{ '^\(.\).*\1$' }}} Toto vám výrazne komplikovalo život pri robení shellovského scriptu, ale poradili ste si. V skripte bolo najjednoduchšie použiť {{{ sed 's/.*BODY=\([0-9]*\).*/\1/ }}} na vystrihnutie bodov z každého riadku. Python nemal dobre snáď nikto, väčšinou ste sa vôbec netrápili s tým, že ak robíte novú maticu, musíte si ju najprv vytvoriť. Za skutočnú chybu som ale považoval, ak ste proste prebehli maticu a urobili {{{ A[i,j]=A[j,i] }}} toto predsa celú maticu zničí. Pre zaujímavosť prikladám mimoriadne expertné riešenie, využívajúce Python nadoraz: {{{ [list(x) for x in zip(*A)] }}} | == Domáce zadania == | 
| Line 76: | Line 30: | 
| == Výsledky skúšky == | ##=== Cvičenia z pythonu === | 
| Line 78: | Line 32: | 
| ## 1. Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100 ## 1. Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel. ## 1. Napíšte funkciu {{{permutuj(zoz)}}}, ktorá vráti všetky permutácie zoznamu {{{zoz}}} | |
| Line 79: | Line 36: | 
| == Domáce zadania == [:/Zadanie1: prvé] | |
| Line 86: | Line 39: | 
| * [attachment:prva.pdf pdf k prvej prednáške] | * [[attachment:prva.pdf|pdf k prvej prednáške]] * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]] | 
| Line 90: | Line 43: | 
| * [:/Fork:fork(), wait(), SIGCHLD] * [:/Pipe:pipe()] * [:/Socket: UNIXové sockety] | * [[PocitacoveSiete/Fork|fork(), wait(), SIGCHLD]] * [[PocitacoveSiete/Pipe|pipe()]] * [[PocitacoveSiete/Socket| UNIXové sockety]] * [[/TCPSocket | Klient a server TCP]] * [[/Sumator | TCP server pre scitanie cisel]] * [[/ChatServer | Chatovací server - multithreading]] * [[/Webserver | "Webovsky server" implementovaný na úrovni socketov]] * [[attachment:cgi-server.tar.gz | CGI server a skripty]] | 
Operačné systémy
2008/09 -- LS
Vyučujúci
- Gejza Jenča gejza.jenca@stuba.sk 
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
Výsledky
Domáce zadania
Materiály
Pythonovské programy
Skripty
Literatúra
- 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) 
- Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme) 
- The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/ 
- Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného) 
- How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html 
- Dive into Python, Mark Pilgrim, http://www.diveintopython.org/ 
- Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html 
- GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html 
Webové stránky
- http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu 
Podmienky na zápočet
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.
Príklady a cvičenia

