Differences between revisions 11 and 92 (spanning 81 versions)
Revision 11 as of 2008-01-21 08:30:21
Size: 3594
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 3: Line 3:
2007/08 -- 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 7: Line 27:
## Doplň vyučujúcich  * Gejza Jenča gejza.jenca@stuba.sk
Line 9: Line 29:
 * Gejza Jenča gejza.jenca@stuba.sk
 * Jozef Martin Kollar jmkollar@penguin.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
Line 25: Line 44:
== Témy na skúšku == == Výsledky ==
Line 27: Line 46:
 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.

== Komentáre ku skúške ==

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.

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.

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:

{{{
'^\(.\).*\1$'
}}}

Toto vám výrazne komplikovalo život pri robení shellovského scriptu, ale poradili ste si.
V skripte bolo najjednoduchšie použiť

{{{
sed 's/.*BODY=\([0-9]*\).*/\1/
}}}

na vystrihnutie bodov z každého riadku.

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 49:
Pre zaujímavosť prikladám mimoriadne expertné riešenie, využívajúce Python nadoraz: == Ďalšie cvičenia ==
Line 70: Line 51:
{{{
[list(x) for x in zip(*A)]
}}}
[[ /CviceniaZoShellu | Cvičenia zo shellu]]
Line 74: Line 53:


== Výsledky skúšky ==



== Domáce zadania ==

[:/Zadanie1: prvé]
[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 86: Line 57:
 * [attachment:prva.pdf pdf k prvej prednáške]  * [[attachment:prva.pdf|pdf k prvej prednáške]]
 * [[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ší)]]
 * http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami
Line 88: Line 63:
=== Pythonovské programy === ##=== Pythonovské programy ===
Line 90: Line 65:
 * [:/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 101: 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 108: 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 112: 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 115: 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 119: 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)