Revision 11 as of 2008-01-21 08:30:21

Clear message

Operačné systémy

2007/08 -- ZS

Vyučujúci

Stručná osnova predmetu

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

Pythonovské programy

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)

  2. Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme)

  3. The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/

  4. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

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

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

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

  8. 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