Differences between revisions 10 and 11
Revision 10 as of 2007-12-20 13:43:34
Size: 2390
Editor: 147
Comment:
Revision 11 as of 2008-01-21 08:30:21
Size: 3594
Editor: 147
Comment:
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
[[Pozor]]
Skúška je 18.1.2008 o 10:00. Dostavte sa na KM na FEI STU, na 4. poschodie.

Konzultovať môžete 17.1.2007 o 10:00, u mňa v kancelárii.
[[Pohov]]

Line 40: Line 33:

== 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 ==

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

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)

  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)