Systemy operacyjne 2009

Transkrypt

Systemy operacyjne 2009
Systemy operacyjne 2009
Plan ćwiczeń i pracowni grupy MSq
Marcin Skórzewski
Web: http://www.ii.uni.wroc.pl/~msq/so09/: HTML, PDF (bez odnośników) i TEXMACS
13 styczeń 2010
1. Wprowadzenie (7.10.2009)
1.1. Prezentacje
•
Tryb seminaryjny. Dwie krótkie (dwudziestominutowe) prezentacje.
•
Obecność obowiązkowa! Punkty ujemne za więcej niż dwie nieobecności.
•
Omawiane będą konkretne rozwiązania i wstęp potrzebny do samodzielnej pracy.
•
Linux — jest sporo materiałów w Sieci na temat Linuksa (po angielsku!).
•
Prezentacja musi być zatwierdzona na konsultacjach (pre-prezentacja).
•
Wybór tematów co najmniej dwa tygodnie wcześniej (wyjątek — Linux).
dwie prezentacje
wkład nr
zadanie
10%
1
pre-prezentacja
15%
1
prezentacja
10%
2
pre-prezentacja
15%
2
prezentacja
50% 1 + 2
wszystko
1.2. Pracownie
•
Trzeba znać lub się właśnie uczyć C. Trzeba znać lub mieć chęć nauczenia się języka wysokiego poziomu wspieranego przez FUSE (wspierane języki).
cztery pracownie
wkład
zadanie
5%
UML
20%
moduły
5%
FUSE
20% systemy plików (2)
50%
wszystko
2. Linux i emulacja (14.10.2009)
Temat najprostszy, ale tylko tydzień czasu. [Mini dystrybucje Linuksa]
2.1. Praca w konsoli (KrzyCzy)
Logowanie (minimum!); struktura katalogów i podstawowe komendy do poruszania się po niej;
cat, grep, tar, gzip i dd.
1
2
Systemy operacyjne 2009
2.2. Skrypty (ToRyl)
Bash: potoki („|”, „>”, „&”, itp.); zmiennych środowiskowych — przypisanie i podstawienie w
${...}; instrucja warunkowa if i pętla while; przekazywanie parametrów do skryptów.
2.3. Uruchamianie „obcych” programów (MiJęd)
Przedstawienie: Emulacja, User Mode Linux, coLinux, WINE, NDIS-Wrapper, Linux Unified
Kernel.
2.4. Wirtualizacja (MaBrzó)
Prezentacja: Wirtualizacja (M.B.) na podstawie: Virtual Linux: An overview of virtualization
methods, architectures, and implementations (M. Tim Jones / IBM).
3. Rozruch (21.10.2009)
3.1. Rozruch 1 (MaSie)
Prezentacja: Rozruch komputera (M.S.) na podstawie: How Computers Boot Up (Gustavo Duarte).
3.2. Rozruch 2 (GrzeŚpi)
[Inside the Linux boot process (IBM)][The Kernel Boot Process]
3.3. Pętla główna (Null)
3.4. Wykonywanie programów (AdGud)
Prezentacja: Wykonywanie programów (Adam Gudynowski) na podstawie: Anatomy of a Program
in Memory (Gustavo Duarte).
4. Sterowniki (28.10.2009)
4.1. Zarządzanie pamięcią (ToDą; anulowane)
[How The Kernel Manages Your Memory]
4.2. Procesy (RaKot; anulowane)
[Anatomy of Linux process management]
4.3. Wstęp do modułów (MarMil)
Prezentacja: Wstęp do modułów (Marcin Milewski) wraz z przykładami i wykorzystywanym
podręcznikiem: tar-gzip na podstawie: The Linux Kernel Module Programming Guide (Peter Jay
Salzman).
4.4. Wywołania systemowe (MaSzcze)
[Kernel command using Linux system calls (IBM)], uzupełnić (być może tym: [Sysenter Based
System Call Mechanism in Linux 2.6] lub tym: [4. System Calls @ The Linux Kernel]).
Marcin Skórzewski
3
5. Komunikacja jądro ↔ przestrzeń użytkownika (4.11.2009)
5.1. API jądra do obsługi przestrzeni użytkownika, sysctl, /proc/ (PiBzó)
Prezentacja: API jądra do obsługi przestrzeni użytkownika (P.B.) na podstawie: User Space
Memory Access, dla The Linux Kernel Module Programming Guide, Chapter 5 The /proc File
System (Peter Jay Salzman).
Przykład 1. Moduł jądra komunikujący się z użytkownikiem przez /proc/.
5.2. Komunikacja przez urządenia w /dev/, ioctl, gniazda (MarMil)
Przykład 2. Moduł jądra komunikujący się z użytkownikiem przez /dev/.
5.3. Connector i Netlink (Null)
[Why and How to Use Netlink Socket][Generic Netlink HOWTO]
5.4. Problem C10K (ŁuZap)
Prezentacja: The C10K Problem (Łukasz Zapart) na podstawie: The C10K problem (Dan Kegel).
6. Pracownia 1: UML (18.11.2009)
Lista zadań na 1. pracownię: User-Mode Linux. (Niewypał! Zadanie przeniesione na 2.
pracownię (2.12.2009)!)
7. Systemy plików (25.11.2009)
Tylko dwa z {6.3, 6.4, 6.5}.
7.1. FUSE (KrzyKu)
7.2. Linux (ŚwiGrze)
[Anatomy of the Linux file system: A layered structure-based review (IBM)]
7.3. VFS (Null)
[Anatomy of the Linux virtual file system switch: Abstractions and high-level concepts (IBM)]
7.4. ZFS vs. BTRFS (AdDu)
Prezentacja: BTRFS vs ZFS (Adrian Duraj) na podstawie: A short history of btrfs (Valerie
Aurora). Także: Krótki wstęp do B-drzew – PDF/TEXMACS (MSq).
7.5. CacheFS (Null)
[A
general
caching
filesystem
(LWN)][General
Documentation)][CacheFS documentation (LWN)]
Filesystem
Caching
(Linux
4
Systemy operacyjne 2009
7.6. NetFilter (BaĆwi)
8. Pracownia 2: moduły (2.12.2009)
Lista zadań na 2. pracownię: moduły jądra Linux (zawiera podpowiedź na temat synchronizacji
w jądrze Linux – 1.12.2009).
9. Pracownia 3: FUSE (9.12.2009)
Lista zadań na 3. pracownię: FUSE.
10. Pracownia 4a: Systemy plików (16.12.2009)
Lista zadań na 4. pracownię: Systemy plików — część 1. (obowiązkowa).
11. Pracownia 4b: Systemy plików (23.12.2009)
Lista zadań na 5. pracownię: Systemy plików — część 2. (zamiast drugiej prezentacji).
Dzień rektorski ⇒ pracownia anulowana! ⇒ dodatkowe ćwiczenia 27.01.2010.
12. Współbieżność (6.01.2010)
Źródło: Internet. Łatwo dostępne prezentacje i podstawowe, szybkie kursy technologii 12.1, 12.2 i
12.3.
12.1. MPI (Null)
12.2. OpenMP (ToRyl)
12.3. Przetwarzanie strumieniowe (MiJęd)
Temat przeglądowy — poszperać w sieci i pozbierać trochę. Zakres: przetwarzanie SIMD; problemy, które da się tak efektywnie rozwiązać; sprzęt: x86 (m.in. MMX, SSE, itp.), GPGPU (Tesla,
FireStream), CELL, itp.; oprogramowanie.
12.4. OpenCL (MaBrzó)
13. Odrobaczanie Linuksa (13.01.2010)
13.1. Podstawowe techniki (MaSie)
printk(): Documentation/printk-formats.txt, SysRq: Documentation/sysrq.txt, DebugFS: Documentation/filesystems/debugfs.txt
13.2. UML (GrzeŚpi)
Rozdział 11. i 12. Documentation/uml/UserModeLinux-HOWTO.txt
13.3. Kernel debugger (MaSzcze; anulowane)
Bardzo krótko o historii (co to KGDB, KGDB Light) i dalej: Inside the Linux kernel debugger
(Hariprasad Nellitheertha, IBM)
Marcin Skórzewski
5
14. Śledzenie (20.01.2010)
14.1. LatencyTop i BlkTrace (AdGud)
14.2. Wycieki (Null)
Detecting kernel memory leaks (LWN), Documentation/kmemleak.txt, Documentation/kmemcheck.txt.
14.3. FunctionTracer (Null)
14.4. Tracepoints & Events (Null)
15. Pracownia: sprawdzanie rozwiązań (26.01.2010)
Obecność obowiązkowa tylko dla osób oddających zadania.
16. Rezerwa (27.01.2010)
Wpisy.