SpisTreści SysOperacyjne (2)


Część pierwsza. Podstawy

I. Zarys systemu komputerowego
1.1 Elementy podstawowe
1.2 Rejestry procesora
Rejestry widoczne dla użytkownika
Rejestry sterowania i stanu
1.3 Wykonywanie rozkazów
Pobieranie i wykonywanie rozkazów
Funkcje wejścia-wyjścia
1.4 Przerwania
Przerwania a cykl rozkazu
Przetwarzanie przerwania
Przerwania wielokrotne
Równoległe przetwarzanie kilku programów
1.5 Hierarchia pamięci
1.6 Pamięć podręczna
Uzasadnienie
Podstawowe wiadomości o pamięci podręcznej
Konstrukcja pamęci podręcznej
1.7 Mechanizmy komunikacji przez urządzenia wejścia-wyjścia
Sterowanie programowe
Sterowanie przerwaniami
Bezpośredni dostęp do pamięci - DMA
1.8 Zalecana lektura
1.9 Zadania
Dodatek 1A. Charakterystyka wydajności pamięci dwupoziomowych
Bliskość
Działanie pamięci dwupoziomowej
Opłacalność
Dodatek 1B. Sterowanie procedurami
Implementacja stosu
Wywołania procedur i rozkazy powrotu
Procedury wykonywane wielobieżnie

2. Zarys systemów operacyjnych
2.1 Zadania i funkcje systemów operacyjnych
System operacyjny jako interfejs między użytkownikiem a komputerem
System operacyjny jako administrator zasobów
Okoliczności sprzyjające rozwojowi systemu operacyjnego
2.2 Ewolucja systemów operacyjnych
Przetwarzanie szeregowe
Proste systemy wsadowe
Systemy wsadowe wielozadaniowe
Systemy podziału czasu (ang. Time-Sharing Systems)
2.3 Najważniejsze osiagnięcia
Procesy
Zarządzanie pamięcią
Ochrona informacji i bezpieczeństwo
Szeregowanie i zarzÄ…dzanie zasobami
Struktura systemu
2.4 Cechy współczesnych systemów operacyjnych
2.5 PrzeglÄ…d systemu Windows 2000
Historia
Wielozadaniowość systemu jednoużytkownikowego
Model klient-serwer
WÄ…tki i symetryczne przetwarzanie wieloprocesorowe
Obiekty Windows 2000
2.6 Tradycyjne systemy uniksowe
Historia
Opis
2.7 Współczesne systemy uniksowe
System V w wersji 4 (SVR4)
Solaris 2.x
4.4 BSD
Linux
2.8 Zalecana lektura
2.9 Zadania

Część druga. Procesy
3. Procesy - opis i zarzÄ…dzanie
3.1 Stany procesów
Dwustanowy model procesu
Tworzenie i kończenie procesów
Model pięciostanowy
Procesy zawieszone
3.2 Opis procesu
Struktury sterujÄ…ce systemu operacyjnego
Struktury danych do sterowania procesami
3.3 Sterowanie procesem
Tryby przetwarzania procesów
Tworzenie procesu
Przełączanie procesów
Przetwarzanie systemu operacyjnego
3.4 ZarzÄ…dzanie procesami w systemie Unix SVR4
Stany procesu
Opis procesu
Sterowanie procesem
3.5 Podsumowanie, podstawowe terminy i przegląd problemów
Kluczowe poęcia
Pytania i zadania powtórzeniowe
3.6 Zalecana lektura
3.7 Zadania

4. WÄ…tki, symetryczne przetwarzanie wieloprocesorowe i mikrojÄ…dra
4.1 Procesy i wÄ…tki
Wielowątkowość
Przetwarzanie wątków
Przykład z Adobe Pagemaker
Wątki poziomu użytkownika a wątki poziomu jądra
Inne rozwiÄ…zania
4.2 Symetryczne przetwarzanie wieloprocesorowe
Architektura SMP
Organizacja SMP
Problemy konstrukcyjne systemów operacyjnych do symetrycznego przetwarzania
wieloprocesorowego
4.3 MikrojÄ…dra
Architektura mikrojÄ…dra
Zalety technologii wykorzystujÄ…cej mikrojÄ…dro
Wydajność mikrojądra
Konstrukcja mikrojÄ…dra
4.4 WÄ…tki i zarzÄ…dzanie symetrycznym przetwarzaniem wieloprocesorowym w systemie
operacyjnym Windows 2000
Obiekty procesów i wątków
Wielowątkowość
Stany wÄ…tku
Obsługa podsystemów operacyjnych
Obsługa symetrycznego przetwarzania wieloprocesorowego
4.5 WÄ…tki i zarzÄ…dzanie symetrycznym przetwarzaniem wieloprocesorowym w systemie
operacyjnym Solaris
Architektura wielowÄ…tkowa
Motywacja
Struktura procesu
Przetwarzanie wątków
Przerwania jako wÄ…tki
4.6 Procesy i zarzÄ…dzanie wÄ…tkami i procesami w systemie operacyjnym Linux
Procesy w systemie operacyjnym Linux
WÄ…tki w Linuksie
4.7 Podsumowanie
Kluczowe pojęcia
Pytania i zadania powtórzeniowe
4.8 Zalecana lektura
4.9 Zadania

5. Współbieżność - wykluczanie wzajemne i synchronizacja
5.1 Podstawowe pojęcia współbieżności
Prosty przykład
Zagadnienia zwiÄ…zane z systemem operacyjnym
Oddziaływania między procesami
Wymagania stawiane wzajemnym wykluczeniom
5.2 Wykluczenia wzajemne a podejście programowe
Algorytm Dekkera
Algorytm Petersona
5.3 Wykluczanie wzajemne wspomagane sprzętowo
Wyłączanie przerwań
Specjalne rozkazy maszynowe
5.4 Semafory
Wykluczenia wzajemne
Implementacja semaforów
Problem zakładu fryzjerskiego
5.5 Monitory
Monitory z sygnalizacjÄ…
Monitor z powiadamianiem i rozgłaszaniem
5.6 Przekazywanie komunikatów
Synchronizacja
Adresowanie
Format komunikatu
Zasady ustalania kolejności
Wykluczenia wzajemne
5.7 Problem czytelników i pisarzy
Uprzywilejowani czytelnicy
Uprzywilejowani pisarze
5.8 Podsumowanie, podstawowe terminy i pytania powtórzeniowe
Kluczowe pojęcia
Pytania i zadania powtórzeniowe
5.9 Zalecana lektura
5.10 Zadania

6. Współbieżność: blokada (zakleszczenie) i zagłodzenie
6.1 Blokada - uwagi ogólne
Zasoby trwałe
Zasoby zużywalne
Warunki powstania blokady
6.2 Zapobieganie blokadzie
Wzajemne wykluczanie
Zatrzymaj i czekaj
Brak wywłaszczania
Oczekiwanie cykliczne
6.3 Unikanie blokady
Odmowa inicjalizacji procesu
Odmowa alokacji zasobów
6.4 Wykrywanie blokady
Algorytm wykrywania blokady
Odtwarzanie
6.5 Zintegrowana strategia antyblokadowa
6.6 Problem pięciu filozofów
6.7 Mechanizmy współbieżności w systemie UNIX
Potoki
Komunikaty
Pamięć współdzielona
Semafory
Sygnały
6.8 Elementy bazowe synchronizacji wątków w systemie Solaris
Blokada typu wzajemne wykluczanie Semafory
Blokada typu współdzielony odczyt/wyłączny zapis
Zmienne warunkowe
6.9 Mechanizmy współbieżności w systemie Windows 2000
6.10 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
6.11 Zalecane lektury
6.12 Problemy

Część trzecia. Pamięć
7. Zarządzanie pamięcią
7.1 Zarządzanie pamięcią - wymagania ogólne
Relokacja
Ochrona pamięci
Wspólny dostęp (ang. sharing)
Organizacja logiczna
Organizacja fizyczna
7.2 Partycjonowanie
Partycjonowanie statyczne
Partycjonowanie dynamiczne
System blizniaczy (ang. buddy system)
Relokacja
7.3 Stronicowanie
7.4 Segmentacja
7.5 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
7.6 Zalecane lektury
7.7 Problemy
Aneks 7A Aadowanie i konsolidacja
Aadowanie
Konsolidacja (ang. Linking)

8. Pamięć wirtualna
8.1 Sprzęt i struktury sterujące
Lokalność i pamięć wirtualna
Stronicowanie
Struktura tablicy stron
Segmentacja
Złożone stronicowanie i segmentacja
Ochrona pamęci i współdzielenie
8.2 Oprogramowanie systemu operacyjnego
Strategia pobierania do pamięci
Strategia rozmieszczania
Strategia wymiany
ZarzÄ…dzanie zestawem rezydentnym
Strategia czyszczenia
Sterowanie ładowaniem
8.3 Zarządzanie pamięci w systemach UNIX i Solaris
System stronicowania
Wymiana stron
Alokator pamięci jądra
8.4 Zarządzanie pamięcią w Linuksie
Pamięć wirtualna w Linuksie
Alokacja pamięci jądra
8.5 Zarządzanie pamięcią w Windows 2000
Mapa adresów wirtualnych W2K
Stronicowanie W2K
8.6 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
8.7 Zalecane lektury
8.8 Problemy
Aneks 8A. Tablice mieszajÄ…ce

Część czwarta. Szeregowanie
9. Szeregowanie jednoprocesorowe
9.1 Typy szeregowania
Szeregowanie długoterminowe
Szeregowanie średnioterminowe
Szeregowanie krótkoterminowe
9.2 Algorytmy szeregowania
Użycie priorytetów
Alternatywne strategie szeregowania
Porównanie wydajności
Szeregowanie ze sprawiedliwym udziałem
9.3 Tradycyjne szeregowanie w Uniksie
9.4 Podsumowanie, kluczowe terminy i pytania kontrolne
Kluczowe terminy
Pytania kontrolne
9.5 Zalecane lektury
9.6 Zadania
Dodatek 9A Czas reakcji
Dodatek 9B Systemy kolejkowania
Kolejka jednoserwerowa
Kolejka wieloserwerowa

10. Szeregowanie wieloprocesorowe i w czasie rzeczywistym
10.1 Szeregowanie wieloprocesorowe
Ziarnistość (ang. Granularity)
Problemy projektowe
Szeregowanie procesów
Szeregowanie wątków
Współdzielenie obciążenia
10.2 Szeregowanie w czasie rzeczywistym
Informacje wstępne
Cechy systemÛw operacyjnych czasu rzeczywistego
Szeregowanie w czasie rzeczywistym
Szeregowanie terminowe
Szeregowanie częstotliwościowe monotoniczne
10.3 Szeregowanie w Linuksie
10.4 Szeregowanie w systemie Unix SVR4
10.5 Szeregowanie w Windows 2000
Priorytety procesów i wątków
Szeregowanie wieloprocesorowe
10.6 Podsumowanie, kluczowe terminy i pytania kontrolne
Kluczowe terminy
Pytania kontrolne
10.7 Zalecane lektury
10.8 Zadania

Część piąta. Wejście-wyjście i pliki
11. Zarządzanie wejściem-wyjściem i szeregowanie dysku
11.1 Urządzenia wejścia-wyjścia
11.2 Organizacja funkcji wejścia-wyjścia
Ewolucja funkcji wejścia-wyjścia
Bezpośredni dostęp do pamięci
11.3 Problemy projektowe
Cele projektowe
Struktura logiczna funkcji we-wy
11.4 Buforowanie we-wy
Buforowanie pojedyncze
Buforowanie podwójne
Bufor cykliczny
Użyteczność buforowania
11.5 Szeregowanie dysku
Parametry wydajności dysku
Strategie szeregowania dysku
11.6 RAID
RAID - poziom 0
RAID 0 jako sposób na szybką transmisję danych
RAID 0 jako sposób na duże tempo żądań we-wy
RAID - poziom 1
RAID - poziom 2
RAID - poziom 3
RAID - poziom 4
RAID - poziom 5
RAID - poziom 6
11.7 Dyskowa pamięć podręczna (ang. Disk cache)
Rozważania projektowe
Kwestie wydajnościowe
11.8 We-wy w systemie Unix SVR4
Pamięć podręczna buforów
Kolejka znakowa (ang. Character queue)
Niebuforowane we-wy (ang. Unbuffered I/O)
UrzÄ…dzenia uniksowe
11.9 We-wy w systemie Windows 2000
Podstawowe moduły we-wy
Asynchroniczne i synchroniczne we-wy
Programowa macierz RAID
11.10 Podsumowanie, kluczowe terminy i pytania kontrolne
Kluczowe terminy
Pytania kontrolne
11.11 Zalecane lektury
11.12 Zadania
Dodatek 11A Dyskowe urządzenia pamięciowe
Dysk magnetyczny
Pamięć optyczna

12. ZarzÄ…dzanie plikami
12.1 Uwagi ogólne
Pliki
Systemy zarzÄ…dzania plikami
12.2 Organizacja plików i dostęp do nich
Sterta (ang. Pile)
Plik sekwencyjny
Plik indeksowo-sekwencyjny 94
Plik indeksowany
Plik haszowany (o dostępie swobodnym)
12.3 Katalogi plików
Zawartość
Struktura
Konwencje nazewnicze
12.4 Współużytkowanie plików (ang. File sharing)
Prawa dostępu
Dostęp jednoczesny
12.5 Grupowanie rekordów w bloki
12.6 Zarządzanie pamięcią pomocniczą
Alokacja plików
Zarządzanie dostępną pamięcią pomocniczą
Niezawodność
12.7 ZarzÄ…dzanie plikami w systemie Unix
I-węzły
Alokacja plików 13
12.8 System plików Windows 2000
Kluczowe własciwości systemu NTFS
Odtwarzalność (ang. Recoverability)
12.9 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
12.10 Zalecane lektury
12.11 Problemy

Część szósta

13. Przetwarzanie rozproszone, technologia klient/serwer i klastry
13.1 Model klient/serwer
Czym jest model klient/serwer?
Aplikacje klient/serwer
Oprogramowanie pośredniczące (ang. Middleware)
13.2 Rozproszone przekazywanie komunikatów (ang. Distributed message passing)
Zawodność kontra niezawodność
Blokowanie kontra nieblokowanie
13.3 Zdalne wywoływanie procedur
Przekazywanie parametrów
Reprezentacja parametrów
PowiÄ…zanie klienta i serwera (ang. Client/server binding)
Wywoływanie synchroniczne i asynchroniczne
Mechanizmy obiektowe
13.4 Klastry
Konfiguracje klastrów
Zagadnienia projektowania systemów operacyjnych
Architektura klastra
Klastry w porównaniu z wieloprzetwarzaniem symetrycznym (SMP)
13.5 Windows 2000 Cluster Server
13.6 Sun Cluster
Obsługa obiektów i komunikacji
ZarzÄ…dzanie procesami (ang. Process management)
Praca w sieci
Globalny system plików (ang. Global file system)
13.7 Beowulf i klastry linuksowe
Cechy klastra Beowulf
Oprogramowanie Beowulf
13.8 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
13.9 Zalecane lektury
13.10 Problemy

14. ZarzÄ…dzanie procesami rozproszonymi
14.1 Migracja procesów
Motywacje
Mechanizmy migracji procesów
Negocjacje migracji
Eksmisja
Transfery z wywłaszczaniem i bez wywłaszczania
14.2 Rozproszone stany globalne
Stany globalne i rozproszone zapisy migawkowe
Algorytm rozproszonych zapisów migawkowych
14.3 Rozproszone wykluczanie wzajemne
Koncepcje rozproszonego wykluczania wzajemnego
Kolejność zdarzeń w systemie rozproszonym
Kolejki rozproszone
Metoda przekazywania żetonu
14.4 Blokada rozproszona (ang. Distributed deadlock)
Blokada przy alokacji zasobów
Blokada przy wymianie komunikatów
14.5 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
14.6 Zalecane lektury 14.7 Problemy

Część siódma. Bezpieczeństwo

15. System bezpieczeństwa
15.1 Zagrołenia bezpieczeństwa
Rodzaje zagrożeń
Aktywa systemów komputerowych
15.2 Ochrona
Ochrona pamięci
Kontrola dostępu zorientowana na użytkownika
Kontrola dostępu zorientowana na dane
15.3 Włamywacze
Techniki włamań
Ochrona haseł
Strategie wyboru haseł
Wykrywanie włamań
15.4 Oprogramowanie agresywne
Agresywne programy
Natura wirusów
Typy wirusów
Makrowirusy
Techniki antywirusowe
Wirusy poczty elektronicznej
15.5 Systemy zaufane (ang. Trusted systems)
Obrona przed programami typu koń trojański
Monitor odwołań
15.6 System bezpieczeństwa Windows 2000
Schemat sterowania dostępem
Znacznik dostępu
Deskryptory bezpieczeństwa
15.7 Podsumowanie, kluczowe terminy, pytania sprawdzajÄ…ce
Kluczowe terminy
Pytania sprawdzajÄ…ce
15.8 Zalecane lektury
15.9 Problemy
Aneks 15A Szyfrowanie
Szyfrowanie z kluczem publicznym

Aneks A: TCP/IP
A1. Potrzeba wprowadzania architektury protokołów
A2. Architektura protokołu TCP/IP
Funkcjonowanie TCP i IP
TCP i UDP
IP i IPv6
Aplikacje TCP/IP

Aneks B: Projektowanie zorientowane obiektowo
B1. Motywacje
B2. Idee obiektowości
B3. Zalety projektowania zorientowane obiektowo
B4. CORBA

Aneks C: Projekty systemów operacyjnych
C1. Projekty do przedmiotu "Systemy operacyjne"
C2. NACHOS
C3. Projekty badawcze
C4. Projekty programistyczne
C5. Projekty studialne

Aneks D: OSP - środowisko do projektowania systemów operacyjnych
D1. uwagi wstepne
D2. OSP
D3. Projekty badawcze
D4. OSP - dystrybucja oprogramowania
D5. OSP - lista adresowa
D6. Plany na przeszłość

Aneks E: BACI - Systemy programowania równoległego Ben-Ari
E1. Wstęp
E2. BACI
E3. Przykłady programów BACI
E4. Projekty BACI
E5. Udoskonalenia systemu BACI



Wyszukiwarka