Differences between revisions 11 and 32 (spanning 21 versions)
Revision 11 as of 2008-01-21 08:30:21
Size: 3594
Editor: 147
Comment:
Revision 32 as of 2009-02-18 12:56:52
Size: 85
Editor: 147
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Operačné systémy = ## page was renamed from OperacneSystemy
= Počítačové siete =
Line 3: Line 4:
2007/08 -- ZS

== Vyučujúci ==

## Doplň vyučujúcich

 * Gejza Jenča gejza.jenca@stuba.sk
 * Jozef Martin Kollar jmkollar@penguin.sk

== 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
 * Textový editor vim
 * Programovací jazyk Python
 * Základy internetových protokolov

== Témy na skúšku ==

 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čí.


Pre zaujímavosť prikladám mimoriadne expertné riešenie, využívajúce Python nadoraz:

{{{
[list(x) for x in zip(*A)]
}}}



== Výsledky skúšky ==



== Domáce zadania ==

[:/Zadanie1: prvé]

== Materiály ==

 * [attachment:prva.pdf pdf k prvej prednáške]

=== Pythonovské programy ===

 * [:/Fork:fork(), wait(), SIGCHLD]
 * [:/Pipe:pipe()]
 * [:/Socket: UNIXové sockety]

=== Skripty ===



== 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)
 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. ''The Art of Unix Programming'', Eric S. Raymond, http://www.faqs.org/docs/artu/
 1. ''Umění programování v Unixu'', Eric S. Raymond, (český preklad horeuvedeného)
 1. ''How To Ask Questions The Smart Way'', Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html
 1. ''Dive into Python'', Mark Pilgrim, http://www.diveintopython.org/
 1. ''Advanced Bash-Scripting Guide'', Mendel Cooper, http://tldp.org/guides.html
 1. ''GNU/Linux Command-Line Tools Summary'', Gareth Anderson, http://tldp.org/guides.html

== Webové stránky ==

 1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu

== Podmienky na zápočet ==

20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.

== Príklady a cvičenia ==

== Výsledky ==
2008/09 -- ZS

Počítačové siete

2008/09 -- ZS

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