Differences between revisions 26 and 126 (spanning 100 versions)
Revision 26 as of 2008-11-12 08:57:11
Size: 2898
Editor: dial-92-52-1-78-orange
Comment:
Revision 126 as of 2013-05-24 08:22:41
Size: 5642
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
Line 6: Line 4:
== Vyučujúci == == Repozitáre ==
Line 8: Line 6:
## Doplň vyučujúcich https://bitbucket.org/gjenca/os2013
Line 10: Line 8:
 * Gejza Jenča gejza.jenca@stuba.sk == Skúška ==
<<Pozor>>
Termíny skúšky budú na http://is.stuba.sk.

Skúška bude prebiehať písomne. Obsah viď nižšie. Ihneď po napísaní vaše písomky opravím, potom
budem prípadne ešte konzultovať s tými ľuďmi, ktorí budú na hranici alebo nebudú spokojní s hodnotením.
<<Pohov>>

Z Vychodila treba vedieť:

 * Kapitola 3: od začiatku až po 3.6 včítane
 * Kapitola 4: od začiatku až po 4.3 včítane.
 * Treba vedieť na úrovni porozumenia princípom ako fungujú procesy a rúry v UNIXe v kontexte ich používania na príkazovom riadku.
 * Treba vedieť ako vo vzájomnej synergii fungujú funkcie `fork`,`wait`,`pipe`,`dup2`,`exec*` viď http://bitbucket.org/gjenca/c_vyuka_public/src/tip/pipe/run_bc.c
 * Kapitola 5: v tej miere ako bolo odprednášané, najmä
  * štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď
  * presmerovanie vstupu a výstupu, {{{>,<,>>,<<,|}}}
  * skripty, mechanizmus fungovania konštrukcie {{{!#}}}
  * premenné, špeciálne premenné, argumenty skriptov
  * kontrola toku programu : {{{if,while,for}}}
  * princíp fungovania {{{if}}} a {{{while}}} cez exit status
  * príkaz {{{test}}}
 * Kapitola 6:
  * základné programy pre prácu s textom {{{sort,cut,paste}}}
  * regulárne výrazy, program {{{grep}}}
  * program {{{sed}}} (iba príkaz s)

Z Pythonu treba vedieť základy:

 * zabudované dátové typy
 * základy programovania ({{{for,while,if}}})
 * funkcie a parametre ({{{def}}})
 * triedy ({{{class}}})

Na skúške sa vás:
 
 * Spýtam na pár vecí z kapitoly 3 a 4.
 * Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania.
 * Bude zadanie o regulárnych výrazoch.
 * Napíšete krátky program v Pythone. Pravdepodobne to bude nejaká trieda.



== Konzultačné hodiny ==

V pondelok 10:00-12:00. Radšej ale konzultuje priamo na cvičení.

Line 21: Line 66:
 * Textový editor vim
Line 23: Line 67:
 * Základy internetových protokolov
 * Protokol http
 * Základy HTML
Line 29: Line 70:
[[/Prve|Prvé zápočtové cvičenie]] ##[[/Vysledky]]
Line 31: Line 72:
== Domáce zadania == == Ďalšie cvičenia ==
Line 33: Line 74:
=== Cvičenia pre prípravu na druhé skúšobné cvičenie === [[ /CviceniaZoShellu | Cvičenia zo shellu]]
Line 35: Line 76:
<<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í.

'''Druhé skúšobné cvičenie bude v piatok 29.11'''
<<Pohov>>

[[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}}}
[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 58: 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 60: 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 71: 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 78: 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 82: 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/
 1. Python documentation, http://docs.python.org/
 1. A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html

Line 85: Line 124:
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 89: Line 129:
== Výsledky == http://bitbucket.org/gjenca/csv2html2012

== Ostatné ==

## http://bitbucket.org/gjenca/vimrc

Operačné systémy

Repozitáre

https://bitbucket.org/gjenca/os2013

Skúška

Termíny skúšky budú na http://is.stuba.sk.

Skúška bude prebiehať písomne. Obsah viď nižšie. Ihneď po napísaní vaše písomky opravím, potom budem prípadne ešte konzultovať s tými ľuďmi, ktorí budú na hranici alebo nebudú spokojní s hodnotením.

Z Vychodila treba vedieť:

  • Kapitola 3: od začiatku až po 3.6 včítane
  • Kapitola 4: od začiatku až po 4.3 včítane.
  • Treba vedieť na úrovni porozumenia princípom ako fungujú procesy a rúry v UNIXe v kontexte ich používania na príkazovom riadku.
  • Treba vedieť ako vo vzájomnej synergii fungujú funkcie fork,wait,pipe,dup2,exec* viď http://bitbucket.org/gjenca/c_vyuka_public/src/tip/pipe/run_bc.c

  • Kapitola 5: v tej miere ako bolo odprednášané, najmä
    • štruktúra príkazového riadku, úvodzovky, apostrofy, medzery, opačné lomítka atď
    • presmerovanie vstupu a výstupu, >,<,>>,<<,|

    • skripty, mechanizmus fungovania konštrukcie !#

    • premenné, špeciálne premenné, argumenty skriptov
    • kontrola toku programu : if,while,for

    • princíp fungovania if a while cez exit status

    • príkaz test

  • Kapitola 6:
    • základné programy pre prácu s textom sort,cut,paste

    • regulárne výrazy, program grep

    • program sed (iba príkaz s)

Z Pythonu treba vedieť základy:

  • zabudované dátové typy
  • základy programovania (for,while,if)

  • funkcie a parametre (def)

  • triedy (class)

Na skúške sa vás:

  • Spýtam na pár vecí z kapitoly 3 a 4.
  • Napíšete mi jeden-dva jednoduché príkazové riadky vykonávajúce zadanú činnosť. Nemusíte sa učiť všetky options všetkých príkazov, ak bude niečo treba vedieť, prezradím to. Ide mi o overenie znalosti princípu fungovania.
  • Bude zadanie o regulárnych výrazoch.
  • Napíšete krátky program v Pythone. Pravdepodobne to bude nejaká trieda.

Konzultačné hodiny

V pondelok 10:00-12: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/

  4. Python documentation, http://docs.python.org/

  5. A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html

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/csv2html2012

Ostatné

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