Differences between revisions 24 and 101 (spanning 77 versions)
Revision 24 as of 2008-10-22 19:05:02
Size: 5077
Editor: dial-92-52-1-78-orange
Comment:
Revision 101 as of 2011-04-29 11:57:55
Size: 4910
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>>
Druhé skúšobné cvičenie bude 6.5.2011 v B206, v dvoch rundách po 90 minút.

Domáce zadanie je [[ attachment:zadanie2.pdf| tu ]].

<<Pohov>>

Rozdelenie na termíny na skúšobné cvičenie je takéto.

|| || 12:00 || 13:30 ||
|| 1 ||Bohumel Tomáš||Mandúch Branislav||
|| 2 ||Brázdilová Veronika||Maslák Matej||
|| 3 ||Frolkovič Richard||Medľa Matej||
|| 4 ||Hulalová Lenka||Miklašová Monika||
|| 5 ||Húska Martin||Petkaničová Jana||
|| 6 ||Juhász Dávid||Rentka František||
|| 7 ||Káčer Michal||Roziak Vladimír||
|| 8 ||Kalina Jakub||Szorád Štefan||
|| 9 ||Kandová Andrea||Tješšová Mária||
|| 10 ||Kleinová Viera||Trubač Martin||
|| 11 ||Kmeťo Tibor||Tücsök Nikolett||
|| 12 ||Kollár Michal||Urík Jaroslav||
|| 13 ||Kottáš Peter||Zboranová Mária||
|| 14 ||Kurajová Jana||Žeňuchová Lucia||
|| 15 ||Lušťoň Dominik|| ||

Účelom tohto rozdelenia je výhradne to, aby v každej nebolo
viac ako 15 ľudí. Ak chcete ísť v inom termíne, nájdite si
niekoho, s kým sa vymeníte.


== Downloady pre cviko ==

[[attachment:zoznam.csv]]
Line 8: Line 50:
## Doplň vyučujúcich
Line 12: Line 52:
== Konzultačné hodiny ==

V stredu 16:00-17:00. Radšej ale konzultuje priamo na cvičení.
Line 22: Line 65:
 * Textový editor vim
Line 24: Line 66:
 * Základy internetových protokolov
 * Protokol http
 * Základy HTML
Line 28: Line 67:
== Domáce zadania == == Výsledky ==
Line 30: Line 69:
=== Cvičenia pre prípravu na prvé skúšobné cvičenie === [[/Vysledky]]
Line 32: Line 71:
<<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í.
Line 38: Line 72:
'''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>>
== Ďalšie cvičenia ==
Line 41: Line 74:
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.
[[ /CviceniaZoShellu | Cvičenia zo shellu]]
Line 44: Line 76:
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 105: Line 82:
=== 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
 * http://bitbucket.org/gjenca/python_vyuka_public repozitar s python programami
##=== Pythonovské programy ===
Line 107: Line 88:
 * [[/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 118: Line 100:
 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 125: Line 108:
 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 129: Line 115:
 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 132: Line 122:
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 136: Line 127:
http://bitbucket.org/gjenca/csv2html
Line 137: Line 130:

== Ostatné ==

http://bitbucket.org/gjenca/vimrc

Operačné systémy

2010/11 -- LS

Zadanie na prvé skúšobné cviko

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

Domáce zadanie je tu.

Rozdelenie na termíny na skúšobné cvičenie je takéto.

12:00

13:30

1

Bohumel Tomáš

Mandúch Branislav

2

Brázdilová Veronika

Maslák Matej

3

Frolkovič Richard

Medľa Matej

4

Hulalová Lenka

Miklašová Monika

5

Húska Martin

Petkaničová Jana

6

Juhász Dávid

Rentka František

7

Káčer Michal

Roziak Vladimír

8

Kalina Jakub

Szorád Štefan

9

Kandová Andrea

Tješšová Mária

10

Kleinová Viera

Trubač Martin

11

Kmeťo Tibor

Tücsök Nikolett

12

Kollár Michal

Urík Jaroslav

13

Kottáš Peter

Zboranová Mária

14

Kurajová Jana

Žeňuchová Lucia

15

Lušťoň Dominik

Účelom tohto rozdelenia je výhradne to, aby v každej nebolo viac ako 15 ľudí. Ak chcete ísť v inom termíne, nájdite si niekoho, s kým sa vymeníte.

Downloady pre cviko

zoznam.csv

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

/Vysledky

Ď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

Ostatné

http://bitbucket.org/gjenca/vimrc

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