Differences between revisions 25 and 92 (spanning 67 versions)
Revision 25 as of 2008-11-05 11:42:36
Size: 5136
Editor: 147
Comment:
Revision 92 as of 2011-04-01 10:50:34
Size: 3868
Editor: jenca
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 2010/11 -- LS

##[[attachment:zadanie.pdf]]
## [[attachment:gallery.tar.gz]]
##[[attachment:passwd.txt]]
## [[attachment:zadanie2.pdf]]
##[[attachment:zadanie_opr.pdf]]

== Zadanie na prvé skúšobné cviko ==
<<Pozor>>
Prvé skúšobné cvičenie bude 15.4.2011 v B206, v dvoch rundách po 90 minút.

Domáce zadanie je [[ /Zadanie1 | tu ]].

Na skúšobnom cvičení dostanete za úlohu doplniť/rozšíriť domáce zadanie.
<<Pohov>>


##== Uploady ==

##[[/Uploady]]
Line 8: Line 27:
## Doplň vyučujúcich  * Gejza Jenča gejza.jenca@stuba.sk
Line 10: Line 29:
 * Gejza Jenča gejza.jenca@stuba.sk == Konzultačné hodiny ==

V stredu 16:00-17:00. Radšej ale konzultuje priamo na cvičení.
Line 21: Line 42:
 * Textový editor vim
Line 23: Line 43:
 * Základy internetových protokolov
 * Protokol http
 * Základy HTML
Line 29: Line 46:
[[/Prve|Prvé zápočtové cvičenie]] ##[[/Výsledky]]
Line 31: Line 48:
== Domáce zadania ==
Line 33: Line 49:
=== Cvičenia pre prípravu na prvé skúšobné cvičenie === == Ďalšie cvičenia ==
Line 35: Line 51:
<<Pozor>>
Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení
problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám
dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete
za to, čo urobíte priamo na cvičení.
[[ /CviceniaZoShellu | Cvičenia zo shellu]]
Line 41: Line 53:
'''Skúšobné cvičenie bude vo štvrtok 30.10 -- nie v piatok, aby nás nezaskočilo prípadné voľno pred 1.11'''
<<Pohov>>

Pripomínam, že príkaz {{{man}}} je vaším priateľom. Pre komplexnejšie informácie odporúčam nahliadnuť
do Advanced Bash Scripting Guide, link je nižšie.

a) premenovanie obrázkov

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}}}.

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.

b) upravte skript z A) tak, aby premenoval aj súbory ako {{{obrazok1.jPG}}} a podobne.

c) Vytvorte v bashi skript {{{showsize}}}, ktorý sčíta dĺžky súborov v aktuálnom adresári a výsledok vypíše.

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 -l | tail -n +2 | cut -c ...
}}}
alebo
{{{
for FILE in *; do
stat ... $FILE
done
}}}
(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.

=== 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}}}
[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 108: Line 59:
=== Pythonovské programy ===  * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]]
 * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]]
 * http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami
Line 110: Line 63:
 * [[/Fork|fork(), wait(), SIGCHLD]]
 * [[/Pipe|pipe()]]
 * [[/Socket| UNIXové sockety]]
##=== Pythonovské programy ===
Line 114: Line 65:
=== 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 121: Line 77:
 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
 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
Line 128: Line 85:
 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/
 1. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/
Line 132: Line 92:
 1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu
 1. Mercurial SCM, http://mercurial.selenic.com/

Line 135: Line 99:
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení. 15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell
scriptov a jedno z Pythonu.
Line 139: Line 104:
http://bitbucket.org/gjenca/csv2html

Operačné systémy

2010/11 -- LS

Zadanie na prvé skúšobné cviko

Prvé skúšobné cvičenie bude 15.4.2011 v B206, v dvoch rundách po 90 minút.

Domáce zadanie je tu.

Na skúšobnom cvičení dostanete za úlohu doplniť/rozšíriť domáce zadanie.

Vyučujúci

Konzultačné hodiny

V stredu 16:00-17:00. 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

Ďalšie cvičenia

Cvičenia zo shellu

Cvičenia z Pythonu

Materiály

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)

  2. Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003

  3. 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

  4. The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/

  5. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

  6. How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html

  7. Dive into Python, Mark Pilgrim, http://www.diveintopython.org/

  8. Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html

  9. GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html

  10. A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python

  11. How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/

  12. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/

Webové stránky

  1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu

  2. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu

  3. Mercurial SCM, http://mercurial.selenic.com/

Podmienky na zápočet

15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell scriptov a jedno z Pythonu.

Príklady a cvičenia

http://bitbucket.org/gjenca/csv2html

Výsledky

KMaDGWiki: OperacneSystemy (last edited 2024-09-17 13:58:44 by jenca)