Differences between revisions 14 and 82 (spanning 68 versions)
Revision 14 as of 2008-10-02 18:56:58
Size: 3809
Editor: dial-92-52-21-250-orange
Comment: page was renamed from OperacneSystemy
Revision 82 as of 2010-05-11 09:17:11
Size: 5388
Editor: jenca
Comment: potrebujem zdrojak
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from OperacneSystemy
Line 4: Line 3:
2007/08 -- ZS 2008/09 -- LS

== Downloady pre cvičenia ==

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


== Uploady ==

[[/Uploady]]
Line 8: Line 19:
## Doplň vyučujúcich  * Gejza Jenča gejza.jenca@stuba.sk
Line 10: Line 21:
 * Gejza Jenča gejza.jenca@stuba.sk
 * Jozef Martin Kollar jmkollar@penguin.sk
== Konzultačné hodiny ==

V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení.
Line 22: Line 34:
 * Textový editor vim
Line 24: Line 35:
 * Základy internetových protokolov
Line 26: Line 36:
== Témy na skúšku == == Skúška ==
Line 28: Line 38:
 1. Súborový systém, užívatelia a skupiny, prístupové práva
 2. Procesy, signály, rúry.
 3. Regulárne výrazy.
 4. Náčrt riešenia jednoduchého problému v shelli.
 5. Náčrt jednoduchého programu v Pythone.
 6. Základy internetových protokolov IP, TCP, UDP, HTTP.
<<Pozor>>
Termíny skúšky sú (vždy o 9:00 v zasadačke KMaDG)
Line 35: Line 41:
== Komentáre ku skúške ==  * 29.5.2009
 * 15.6.2009
 * 19.6.2009
Line 37: Line 45:
V prvom zadaní ste nevedeli zabezpečiť, aby nikto okrem vlastníka nevedel zmazať súbor. Treba dať súbor
do osobitného adresára a revokovať zápisové práva pre skupinu a ostatných. Nevedeli ste (až na výnimku)
význam setgid na adresár. umask malo byť 007.
Dostavte sa podľa možnosti všetci na termín 29.5.
Line 41: Line 47:
Druhé zadanie dopadlo pomerne dobre, máte o tom správnu predstavu. Ale niektorí si myslíte, že sa
forkuje ls, prípadne nepíšete čo sa forkuje. Forkuje sa shell.
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>>
Line 44: Line 51:
V treťom zadaní bol problém s tým, že väčsinou neviete spätné referencie -- to je nutné, ak chceme vybrať riadky
s rovnakým prvým aj posledným znakom. Takto:
Z Vychodila treba vedieť:
Line 47: Line 53:
{{{
'^\(.\).*\1$'
}}}
 * 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)
Line 51: Line 68:
Toto vám výrazne komplikovalo život pri robení shellovského scriptu, ale poradili ste si.
V skripte bolo najjednoduchšie použiť
Z Pythonu treba vedieť základy:
Line 54: Line 70:
{{{
sed 's/.*BODY=\([0-9]*\).*/\1/
}}}
 * zabudované dátové typy
 * základy programovania ({{{for,while,if}}})
 * funkcie a parametre ({{{def}}})
 * triedy ({{{class}}})
Line 58: Line 75:
na vystrihnutie bodov z každého riadku. 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 60: Line 82:
Python nemal dobre snáď nikto, väčšinou ste sa vôbec netrápili s tým, že ak robíte novú maticu, musíte si
ju najprv vytvoriť. Za skutočnú chybu som ale považoval, ak ste proste prebehli maticu a
urobili
{{{
A[i,j]=A[j,i]
}}}
toto predsa celú maticu zničí.
== Výsledky ==
Line 68: Line 84:
[[/Výsledky]]
Line 69: Line 86:
Pre zaujímavosť prikladám mimoriadne expertné riešenie, využívajúce Python nadoraz: == Domáce zadania, cvičenia ==
Line 71: Line 88:
{{{
[list(x) for x in zip(*A)]
}}}
[[/Zadanie1 | Domáce zadanie na prvé cvičenie]]
Line 75: Line 90:
[[attachment:python_zadania.pdf | Zadania z Pythonu]] <- Verzia 6.5.2009
Line 76: Line 92:
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.
Line 77: Line 95:
== Výsledky skúšky == == Vzorove riesenia cviceni ==
Line 79: Line 97:
|| Hrabovský || A ||
|| Hlavatý || B ||
|| Zachar || A ||
|| Mucha || A ||
|| Uherčík || B ||
|| Zacharovská || B ||
|| Pinteš || C ||
|| Macák || A ||


== Domáce zadania ==

[[/Zadanie1| prvé]]
[[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]]
Line 96: Line 102:
 * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]]
 * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]]
 * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]]
Line 97: Line 106:
=== Pythonovské programy === ##=== Pythonovské programy ===
Line 99: Line 108:
 * [[/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 110: Line 120:
 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 117: Line 128:
 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 121: Line 134:
 1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu
Line 124: Line 139:
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í.

Operačné systémy

2008/09 -- LS

Downloady pre cvičenia

gallery.tar.gz passwd.txt zadanie2.pdf zadanie_opr.pdf

Uploady

/Uploady

Vyučujúci

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

Skúška

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.

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.

Výsledky

/Výsledky

Domáce zadania, cvičenia

Domáce zadanie na prvé cvičenie

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

Riešenie prvého skúšobného cvičenia (shell)

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/

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

Podmienky na zápočet

15 bodov z 30. Body sa budú udeľovať v rámci cvičení.

Príklady a cvičenia

Výsledky

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