Size: 4087
Comment:
|
Size: 3217
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from OperacneSystemy = Počítačové siete = |
= Operačné systémy = |
Line 4: | Line 3: |
2008/09 -- ZS | 2008/09 -- LS == Downloady pre cvičenia == [[attachment:gallery.tar.gz]] [[attachment:passwd.txt]] |
Line 8: | Line 12: |
## Doplň vyučujúcich |
|
Line 12: | Line 14: |
== Konzultačné hodiny == V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení. |
|
Line 22: | Line 27: |
* Textový editor vim | |
Line 24: | Line 28: |
* Základy internetových protokolov * Protokol http * Základy HTML |
== Výsledky == [[/Výsledky]] |
Line 30: | Line 37: |
=== Cvičenia pre prípravu na prvé skúšobné cvičenie === | [[/Zadanie1 | Domáce zadanie na prvé cvičenie]] |
Line 32: | Line 39: |
A) premenovanie obrázkov | [[attachment:python_zadania.pdf | Zadania z Pythonu]] |
Line 34: | Line 41: |
Vytvorte v bashi skript {{{rename_pics}}}, ktorý premenuje všetky súbory v aktuálnom adresári, ktoré majú koncovku {{{JPG}}} na súbory s koncovkou {{{jpg}}}, napr. {{{obrazok1.JPG}}} premenuje na {{{obrazok1.jpg}}}. |
== Vzorove riesenia cviceni == |
Line 38: | Line 43: |
Pomôcka: pre transformáciu mena môžete použiť takéto niečo: {{{ NOVE_MENO=`echo $STARE_MENO | sed '...'`}}} Dávajte si pozor na to, aby ste premenovali iba koncovky, reťazec {{{JPG}}} sa môže vyskytovať aj uprostred mena súboru. Môžete prepokladať, že mená súborov neobsahujú žiadne biele znaky, napr. medzery. |
[[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]] |
Line 42: | Line 45: |
B) upravte skript z A) tak, aby premenoval aj súbory ako {{{obrazok1.jPG}}} a podobne. | ##=== Cvičenia z pythonu === |
Line 44: | Line 47: |
C) Vytvorte v bashi skript {{{showsize}}}, ktorý sčíta dĺžky súborov v aktuálnom adresári a výsledok vypíše. | ## 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 46: | Line 51: |
Pomôcka: je niekoľko ciest ako to spraviť. Vyskúšajte prvú cestu a potom druhú: V prvom rade musíte nejako vyprodukovať stĺpec s dľžkami súborov. Buďto na to choďte cez {{{ ls | cut -c ... }}} alebo {{{ for FILE in *; do stat ... $FILE }}} (viď manuálová stránka {{{stat}}}) Teraz je viac ciest. 1. Naprogramujete to sčítanie v bashi sami, klasicky cez premenné s použitím bashovskej aritmetiky cez príkaz let. 2. Pomocou postupnosti príkazov prepojených do rúry vyrobíte z tých čísel výraz ako {{{12+1024+254}}} a ten potom pošlete na vstup príkazu bc cez rúru. Budete zrejme musieť nahradiť nové riadky plusom, to sa robí pomocou {{{ tr '\n' '+' }}} Kostra prvého spôsobu: {{{ SUM=0 for NUMBER in `... kód produkujúci zoznam dĺžok ...`; do ... sem prirátavanie NUMBER k SUM cez let ... done echo $SUM }}} Kostra druhého spôsobu: {{{ ... kód produkujúci zoznam dĺžok ... | tr '\n' '+' | bc }}} Poznamenávam, že tomu ešte niečo chýba, pretože ten {{{tr}}} vyrobí z posledného newline tiež plus, takže {{{bc}}} bude frfľať, že má nekorektný príkaz. Stačí však ešte jeden {{{sed 's...'}}} a je to; poraďte si sami. |
|
Line 85: | Line 56: |
Line 87: | Line 59: |
* [[/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 98: | Line 71: |
1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme) | 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 |
Line 105: | Line 78: |
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/ |
|
Line 109: | Line 84: |
1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu |
Operačné systémy
2008/09 -- LS
Downloady pre cvičenia
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
Vzorove riesenia cviceni
Riešenie prvého skúšobného cvičenia (shell)
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
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
A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python
How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/
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 Pythonu
Podmienky na zápočet
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.
Príklady a cvičenia