Differences between revisions 12 and 31 (spanning 19 versions)
Revision 12 as of 2008-01-21 08:32:39
Size: 3761
Editor: 147
Comment:
Revision 31 as of 2008-12-07 17:52:16
Size: 3221
Editor: dial-92-52-1-78-orange
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 2008/09 -- ZS
Line 10: Line 11:
 * Jozef Martin Kollar jmkollar@penguin.sk
Line 24: Line 24:
 * Protokol http
 * Základy HTML
Line 25: Line 27:
== Témy na skúšku == == Výsledky ==
Line 27: Line 29:
 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 ||
[[attachment:zap_ps_2008.pdf|Prvé a druhé zápočtové cvičenie]]
Line 90: Line 33:
[:/Zadanie1: prvé] === Cvičenia pre prípravu na druhé skúšobné cvičenie ===

<<Pozor>>
Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení
problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám
dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete
za to, čo urobíte priamo na cvičení.

'''Druhé skúšobné cvičenie bude v piatok 29.11'''
<<Pohov>>

[[attachment:python_zadania.pdf| Zadania z Pythonu]]


##=== Cvičenia z pythonu ===

## 1. Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100
## 1. Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel.
## 1. Napíšte funkciu {{{permutuj(zoz)}}}, ktorá vráti všetky permutácie zoznamu {{{zoz}}}
Line 94: Line 56:
 * [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]]
Line 98: Line 60:
 * [:/Fork:fork(), wait(), SIGCHLD]
 * [:/Pipe:pipe()]
 * [:/Socket: UNIXové sockety]
 * [[/Fork|fork(), wait(), SIGCHLD]]
 * [[/Pipe|pipe()]]
 * [[/Socket| UNIXové sockety]]
 * [[/TCPSocket | Klient a server TCP]]
 * [[/Sumator | TCP server pre scitanie cisel]]
 * [[/ChatServer | Chatovací server - multithreading]]
 * [[/Webserver | "Webovsky server" implementovaný na úrovni socketov]]
 * [[attachment:cgi-server.tar.gz | CGI server a skripty]]
 

Počítačové siete

2008/09 -- 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
  • Protokol http
  • Základy HTML

Výsledky

Prvé a druhé zápočtové cvičenie

Domáce zadania

Cvičenia pre prípravu na druhé skúšobné cvičenie

Tieto zadania si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení.

Druhé skúšobné cvičenie bude v piatok 29.11

Zadania z Pythonu

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 2024-09-17 13:58:44 by jenca)