Differences between revisions 12 and 13
Revision 12 as of 2008-01-21 08:32:39
Size: 3761
Editor: 147
Comment:
Revision 13 as of 2008-04-25 09:05:25
Size: 3767
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 90: Line 90:
[:/Zadanie1: prvé] [[/Zadanie1| prvé]]
Line 94: Line 94:
 * [attachment:prva.pdf pdf k prvej prednáške]  * [[attachment:prva.pdf|pdf k prvej prednáške]]
Line 98: Line 98:
 * [:/Fork:fork(), wait(), SIGCHLD]
 * [:/Pipe:pipe()]
 * [:/Socket: UNIXové sockety]
 * [[/Fork|fork(), wait(), SIGCHLD]]
 * [[/Pipe|pipe()]]
 * [[/Socket| UNIXové sockety]]

Operačné systémy

2007/08 -- ZS

Vyučujúci

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

Hrabovský

A

Hlavatý

B

Zachar

A

Mucha

A

Uherčík

B

Zacharovská

B

Pinteš

C

Macák

A

Domáce zadania

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

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