in last 10 minutes
SIKSOP - Temat E - wybrane zagadnienia
Język skryptowy Tcl - daleki potomek bash-a
część 1, część 2 - opisy języka skryptowego Tcl z zadaniami
"filozoficzne" uwagi o j. Tcl (slajdy), materiały o j. Tcl (tutoriale, docs, interpretery, ...)
1. powyższe linki zawierają wiele informacji o j. Tcl;
mamy tu do czynienia z programowaniem pod XWindows (Tk, widgety),
oraz z programowaniem sieciowym (komenda socket + podejście zdarzeniowe)
2. jako interp-a j. Tcl można używać programów:
wish (powinien być zainst. w linuxie ?!)
tclkit (ściągnąć z materiałów, pamiętać o "chmod u+x tclkit")
do eksperymentów interaktywnych warto używać "konsola2c.tcl" z materiałów:
./tclkit konsola2c.tcl &
3. proszę wykonać następujące zadania:
70 (1.5pkt), 71 (1.5pkt), 73 (2pkt), 74 (2pkt), 75 (2.5pkt), 77 (1pkt) z części 1,
zadanie T.0 (1.5pkt) z tej strony,
oraz 79 (2pkt) z części 2;
do sprawozdania dołączyć skrypt i ew. wydruki diagnostyczne z konsoli
Zadania dodatkowe:
Zadanie E.1 "TclX, blokady fragmentów pliku" (4pkt)
Zbadaj jak działają blokady fragmentów pliku dla:
a) plików dyskowych,
b) plików sieciowego systemu plików sshfs,
c) plików sieciowego systemu plików cifs/smb;
w przypadku sieciowego sys. pl. zbadać czy blokady działają "przez sieć" !!
Tclx to roz.bin. j. Tcl pozwalające na wywoływanie wielu fun.sys.;
np. komenda "flock" służy do zakładania blokad na pliki...
instalacja Tclx: rozpakowac plik tclx_bin.zip do katalogu tclx;
ładowanie pakietu Tclx: set env(TCLX_LIBRARY) /???/tclx; lappend auto_path /???/tclx; package re Tclx
pod ??? podstaw realną ścieżkę
Zadanie E.2 "zewn. proces usługowy" (2pkt)
Napisz skrypt Tcl-owy, który uruchamia w zewn. procesie kalkulator "bc"
i posiada procedurę "bc_expr {wyrażenie}" obliczającą wartość wyrażenia;
proc bc_expr powinna się komunikować z programem bc za pomocą łączy nienazwanych,
w Tcl-u pod linuxem można takie łącza(łącze?) stworzyć komendą: set lacze [open "|bc" r+];
proc bc_expr nie powinna blokować pętli zdarzeń, dlatego wszystko musi być zrobione zdarzeniowo,
tj przy użyciu fileevent oraz vwait (jak w przykładzie z komendą socket);
warto wprowadzić kanał w tryb nieblokujący: fconfigure $lacze -blocking 0;
proc "bc_expr" powinna działać b. podobnie do komendy "expr";
porównaj czas działania bc_expr i expr: time {cmd}.
Zadanie E.2a "zewn. proces usługowy, C.D." (1.5pkt)
Wprowadź zmiany, aby "bc_expr 2^1600" działało prawidłowo...
Zadanie E.2b "zewn. proces usługowy, C.D." (1pkt)
Zbadaj ile łączy nienazwanych tworzy komenda "open |cmd r+",
przy pomocy plików z katalogu /proc/[pid]/fd/
patrz manual "man 5 proc"
Kryptografia i polecenie openssl
zadania kryptograficzne
wykonaj jedynie zadania dotyczące polecenia openssl !
Wskazówki: krótkie wprowadzenie do tematyki SSL znajdziesz tutaj/ patrz początek...
Punktacja: jedno zadania = 1pkt
...............................................................
!!! reszty nie robimy !!!
Problemy współbieżności + sieci Petriego
modelowanie systemów współbieżnych
Uwaga: wykonaj jedynie zadania dotyczące sieci Petriego
Wskazówki: materiały wprowadzające do tej tematyki: slajdy wykładowe + powyższy link
Punktacja (inna niż w opisie zadań!):
E.10 - 3pkt (2pkt bez zabezpieczenia przed zakleszczeniem)
E.11 - 2pkt
E.12 - 3pkt
E.13 - 2pkt
E.14 - 2pkt
E.15 - 3pkt
Windows/DOS - polecenia i skrypty (???)
polecenia i skrypty DOS/Windows 1 (ale bardziej DOS...)
polecenia i skrypty DOS/Windows 2 (specyficzne dla Windows...)
Win32 API spod j. Tcl i pakietu TWAPI...
Elementy sieci komputerowych (???)
Zadanie E.?? "VBox, wirtualne sieci, duży router" (2pkt)
W tym zadaniu chcemy stworzyć kilka 2-węzłowych sieci fizycznych
połączonych jednym routerem...
Sieci fiz. tworzone są przez emulator dosu o nazwie dosemu, który
należy zainstalować wg opisu instalacja maszyn wirtualnych (2 rozdz).
Uruchamiamy 4 kopie programu dosemu (dosemu &).
Polecenie "ifconfig -a" pokazuje nam nowe interfejsy sieciowy puppy linux-a
o nazwach tap0, ... tap3.
Musimy jeszcze uruchomić te interfejsy sieciowe przy pomocy:
ifconfig tap0 192.168.1.1 up
ifconfig tap1 192.168.2.1 up
ifconfig tap2 192.168.3.1 up
ifconfig tap3 192.168.4.1 up
Teraz możemy obejrzeć tablicę routingową poleceniem "route", która
powinna teraz zawierać wpisy dotyczące interf. tapX ...
Zadanie E.?? "VBox, obsługa sieci pod dos-em" (2pkt)
Proszę zainstalować programy z obsługą sieci w maszynach dosowych (dosemu),
wg opisu instalacja maszyn wirtualnych (2 rozdz).
Proszę zademonstrować możliwość ping-owania miedzy: puppy a dos-em.
Wskazówka: dos staje się węzłem sieci z obsługa ping (prot ICMP),
tylko wtedy gdy uruchomimy w nim program sieciowy ktory sie nie kończy natychmiast;
można w tym celu użyc programu "nc.exe" w trybie "-listen".
Skąd wziąć program nc.exe i jak skonfigurować sieć pod dos-em? patrz powyższy link!
Polecenia do przetwarzania "multimediów" (???)
omawiamy tu polecenia obsługi kontenerów multimedialnych (np. mp4, avi):
ffmpeg, mkv*, ...
zadania ???