Differences between revisions 82 and 201 (spanning 119 versions)
Revision 82 as of 2010-05-11 09:17:11
Size: 5388
Editor: jenca
Comment: potrebujem zdrojak
Revision 201 as of 2023-09-18 07:57:19
Size: 5356
Editor: jenca
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
2008/09 -- LS == Repozitár programov písaných na prednáškach ==
Line 5: Line 5:
== Downloady pre cvičenia == https://github.com/gjenca/os2023
Line 7: Line 7:
[[attachment:gallery.tar.gz]]
[[attachment:passwd.txt]]
[[attachment:zadanie2.pdf]]
[[attachment:zadanie_opr.pdf]]
== Záznamy prednášok ==
Line 12: Line 9:
 * [[https://drive.google.com/file/d/1gHvLco4zgIO-fxyj3_3X42f6fRl9xB81/view?usp=sharing | 29.9.2020 8:00 procesy, správa pamäti,fork]]
 * [[https://drive.google.com/file/d/1Qfel2bPsgBCeht-RFTPds_bbZYnjBdvD/view?usp=sharing | 29.9.2020 12:00 wait, execl, súborové popisovače, presmerovanie cez dup2]]
 * [[https://drive.google.com/file/d/1wrRLgwmWvYPI8Ngrd4XqIm5FExAre9LR/view?usp=sharing | 6.10.2020 8:00 komunikácia cez rúry]]
 * [[https://drive.google.com/file/d/1qmBbeLvis5RXdszfZW8OQCYiMj54Uapr/view?usp=sharing | 6.10.2020 12:00 bc ako príklad podriadeného procesu]]
 * [[https://drive.google.com/file/d/1R0BDf8gKI10lZF5ydPydvX0x-lQ_BQcH/view?usp=sharing | 13.10.2020 8:00 súbory, adresáre, symbolické linky]]
 * [[https://drive.google.com/file/d/1R6fwrTD2MuCEj2ndl__MFpc3YK0GBiy8/view?usp=sharing | 13.10.2020 12:00 elementy príkazového riadku]]
 * [[https://drive.google.com/file/d/1-ctZ4YU2-gZYClCJEwKgX8DnUHjlBr9Q/view?usp=sharing | 20.10.2020 8:00 užívatelia, skupiny, prístupové práva]]
 * [[https://drive.google.com/file/d/1q1K5odDHygaCy88tI9iGXHYXFPVuJxxE/view?usp=sharing | 20.10.2020 12:00 setgid na adresár, programy pre prácu so súbormi, head, tail]]
 * [[https://drive.google.com/file/d/1aT8yMqump_Z_rbpcMgsyF-rN9YxiKwxg/view?usp=sharing | 27.10.2020 8:00 cut, paste, sort, uniq, seq, stat, ...]]
 * [[https://drive.google.com/file/d/1xuYGuk5oLkzpJHqFc5cGQb9w2WvSDjy1/view?usp=sharing | 27.10.2020 12:00 skripty, základy programovania v shelli ]]
 * [[https://drive.google.com/file/d/1UzbPdjt7loiHIMuTutDvwtsnZeKGDQZF/view?usp=sharing | 3.11.2020 8:00 regulárne výrazy, grep, sed ]]
 * [[https://drive.google.com/file/d/1ZWMUAdBfHedVlHQiPYOMfIcK85UIeyJl/view?usp=sharing | 3.11.2020 12:00 argumenty príkazového riadku v skriptoch ]]
 * [[https://drive.google.com/file/d/1YBx2nDam2HtM4_KtWzyomXzsGkztmozP/view?usp=sharing | 10.11.2020 8:00 príklad dvoch skriptov od začiatku do konca ]]
 * [[https://drive.google.com/file/d/1GV6F-JD2seVMs3Q0_WZ6ms440O08svR4/view?usp=sharing | 10.11.2020 12:00 Python -- úvod, čísla, reťazce, zoznamy]]
 * [[https://drive.google.com/file/d/1XjwBsLjhXBWuFYdZwBrI38Zi5XIGPPeX/view?usp=sharing | 24.11.2020 8:00 Python -- ďalšie typy, podmienky, cykly, funkcie]]
 * [[https://drive.google.com/file/d/1i3BJ5vAGzfVYLk6YQUmHu0veSNtJR5_Q/view?usp=sharing | 24.11.2020 12:00 Python -- techniky iterácie, skripty]]
 * [[https://drive.google.com/file/d/1rNyhUWeUN6ilyslskeKGJ9KgkB4K-CXH/view?usp=sharing | 1.12.2020 8:00 Python -- funkcie, argumenty]]
 * [[https://drive.google.com/file/d/1qy1eLJVx8x9vgsQyljlYSSXR7_qgVQjT/view?usp=sharing | 8.12.2020 8:00 Python -- moduly, triedy]]
 * [[https://drive.google.com/file/d/1hqDBtV7NXA_4S83eBUHlBj7CQ1yc1u38/view?usp=sharing | 8.12.2020 12:00 Python -- retazce, vydelenia zoznamov a iných objektov]]
 * [[https://drive.google.com/file/d/1L34yCI4F4LZt-bznC-UOgHjn8CeclJ6M/view?usp=sharing | 15.12.2020 8:00 Python -- špeciálne metódy, uzávery, dekorátory ]]
Line 13: Line 30:
== Uploady ==

[[/Uploady]]

== 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í.
Line 36: Line 42:
== Skúška ==

<<Pozor>>
Termíny skúšky sú (vždy o 9:00 v zasadačke KMaDG)

 * 29.5.2009
 * 15.6.2009
 * 19.6.2009

Dostavte sa podľa možnosti všetci na termín 29.5.

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
 * 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)

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.
Line 84: Line 44:
[[/Výsledky]] ##[[/Vysledky]]
Line 86: Line 46:
== Domáce zadania, cvičenia == == Ďalšie cvičenia ==
Line 88: Line 48:
[[/Zadanie1 | Domáce zadanie na prvé cvičenie]] [[ /CviceniaZoShellu | Cvičenia zo shellu]]
Line 90: Line 50:
[[attachment:python_zadania.pdf | Zadania z Pythonu]] <- Verzia 6.5.2009

Domáce zadanie na testovacie cvičenie z Pythonu: vyriešte zo zadaní časť o reláciách.
Domáce zadanie na opravné/náhradné cvičenie z shell scriptov: rovnaké ako na normálne cvičenie.

== Vzorove riesenia cviceni ==

[[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]]
[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 101: Line 54:
 * [[attachment:prva.pdf|pdf k prvej prednáške]]
Line 103: Line 55:
 * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]]
 * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]]
Line 106: Line 56:
##=== Pythonovské programy ===

## * [[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 59:
 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
 1. ''The Art of Unix Programming'', Eric S. Raymond, http://www.faqs.org/docs/artu/
 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003
Line 131: Line 68:
Line 135: Line 73:
 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 139: Line 80:
15 bodov z 30. 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 143: Line 85:
== Výsledky == ## http://bitbucket.org/gjenca/csv2html2012

== Ostatné ==

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

Operačné systémy

Repozitár programov písaných na prednáškach

https://github.com/gjenca/os2023

Záznamy prednášok

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. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

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

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

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

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

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

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

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

Ostatné

KMaDGWiki: OperacneSystemy (last edited 2023-09-18 07:57:19 by jenca)