Size: 3761
Comment:
|
Size: 2861
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
2007/08 -- ZS | 2008/09 -- LS [[attachment:gallery.tar.gz]] |
Line 7: | Line 9: |
## Doplň vyučujúcich | * Gejza Jenča gejza.jenca@stuba.sk |
Line 9: | Line 11: |
* Gejza Jenča gejza.jenca@stuba.sk * Jozef Martin Kollar jmkollar@penguin.sk |
== Konzultačné hodiny == V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení. |
Line 21: | Line 24: |
* Textový editor vim | |
Line 23: | Line 25: |
* Základy internetových protokolov | |
Line 25: | Line 27: |
== Témy na skúšku == 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)] }}} == Výsledky skúšky == || Hrabovský || A || || Hlavatý || B || || Zachar || A || || Mucha || A || || Uherčík || B || || Zacharovská || B || || Pinteš || C || || Macák || A || |
== Výsledky == |
Line 90: | Line 31: |
[:/Zadanie1: prvé] | [[/Zadanie1 | Domáce zadanie na prvé cvičenie]] [[attachment:python_zadania.pdf | Zadania z Pythonu]] ##=== Cvičenia z pythonu === ## 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 94: | Line 45: |
* [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 98: | Line 50: |
* [:/Fork:fork(), wait(), SIGCHLD] * [:/Pipe:pipe()] * [:/Socket: UNIXové sockety] === Skripty === |
* [[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]] |
Line 120: | Line 73: |
1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám |
Operačné systémy
2008/09 -- LS
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
Výsledky
Domáce zadania
Domáce zadanie na prvé cvičenie
Materiály
Pythonovské programy
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
http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám
Podmienky na zápočet
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.
Príklady a cvičenia