W książce przedstawiono powszechnie dziś stosowany system operacyjny Unix. Omówiono zagadnienia istotne z punktu widzenia projektanta systemów, takie jak algorytmy szeregowania procesów, strategie zarządzania pamięcią operacyjną i dyskową. Dokładnie opisano jądro systemu Unix oraz wszystkie stosowane w tym systemie algorytmy zarządzania zasobami. Podano także wartości parametrów systemowych, których nie może zmienić nawet administrator, a które w istotny sposób wpływają na działanie systemu.
Książka ta pomaga zrozumieć, jak działa jądro systemu, a także jak współdziałają i współzawodniczą programy pisane przez użytkowników. Zamieszczono w niej wiele przykładów, a każdy rozdział kończy się zestawem
ćwiczeń.
SPIS TREŚCI:
Przedmowa
l Wiadomości ogólne
1.1 Historia
1.2 Struktura systemu
1.3 Perspektywa użytkownika
1.4 Usługi systemu operacyjnego
1.5 Założenia dotyczące sprzętu
1.6 Podsumowanie
2 Jądro - wprowadzenie
2.1 Ajrchitektura systemu operacyjnego Unix
2.2 Pojęcia systemowe — wprowadzenie
2.3 Struktury danych jądra
2.4 Administrowanie systemem
2.5 Podsumowanie i przegląd
2.6 Ćwiczenia
3 Podręczna pamięć buforowa
3 J Nagłówki buforów
3.2 Struktura puli buforów
3.3 Możliwe scenariusze dostępu do bufora
3.4 Czytanie i pisanie bloków dyskowych
3.5 Wady i zalety podręcznej pamięci buforowej
3.6 Podsumowanie
3.7 Ćwiczenia
4 Wewnętrzna reprezentacja plików
4.1 I-wezły
4.2 Struktura zwykłego pliku
4.3 Katalogi
4.4 Przekształcanie nazwy ścieżkowej w i-węzeł
4.5 Blok identyfikacyjny
4.6 Przypisanie i-węzła nowemu plikowi
4.7 Przydział bloków dyskowych
4.8 Inne typy plików
4.9 Podsumowanie
4.10 Ćwiczenia
5 Funkcje systemowe systemu plików
5.1 Otwieranie
5.2 Czytanie
5.3 Pisanie
5.4 Zakładanie blokady na plik i rekord
5.5 Zmiana bieżącej pozycji pliku
5.6 Zamykanie
5.7 Tworzenie pliku
5.8 Tworzenie plików specjalnych
5.9 Zmiana katalogu i zmiana korzenia systemu plików
5.10 Zmiana właściciela i zmiana uprawnień
5.11 Funkcje stat i fstat
5.12 Łącza
5.13 Funkcja systemowa dup
5.14 Montowanie i demontowanie systemu plików
5.15 Tworzenie dowiązania
5.16 Usuwanie dowiązania
5.17 Abstrakcje systemu plików
5.18 Pielęgnacja systemu plików
5.19 Podsumowanie
5.20 Ćwiczenia
6 Struktura procesów
6.1 Stany procesu i przejścia miedzy stanami
6.2 Układ pamięci systemowej
6.3 Kontekst procesu
6.4 Zachowywanie kontekstu procesu
6.5 Operacje na przestrzeni adresowej procesu
6.6 Stan uśpienia
6.7 Podsumowanie
6.8 Ćwiczenia
Zarządzanie procesami
7.1 Tworzenie procesu
7.2 Sygnały
7.3 Kończenie wykonania procesu
7.4 Oczekiwanie na zakończenie wykonania procesu
7.5 Wywoływanie innych programów
7.6 Identyfikator użytkownika procesu
7.7 Zmiana wielkości procesu
7.8 Interpretalor poleceń..
7.9 Lądowanie systemu operacyjnego i proces init
7.10 Podsumowanie
7.11 Ćwiczenia
8 Szeregowanie procesów i czas
8.1 Szeregowanie procesów
8.2 Funkcje systemowe dotyczące czasu
8.3 Zegar
8.4 Podsumowanie
8.5 Ćwiczenia
9 Strategie zarządzania pamięcią
9.1 Strategia wymiany
9.2 Stronicowanie na żądanie
9.3 System hybrydowy z wymianą i stronicowaniem na żądanie
9.4 Podsumowanie
9.5 Ćwiczenia
10 Podsystem wejścia-wyjścia
10.1 Interfejs podprogramu obsługi urządzenia
10.2 Podprogramy obsługi dysków
10.3 Podprogramy obsługi terminali
10.4 Strumienie
10.5 Podsumowanie
10.6 Ćwiczenia
11 Komunikacja między procesami
11.1 Siedzenie procesów
11.2 Pakiet TPC Systemu V
11.3 Komunikacja sieciowa
11.4 Gniazda
11.5 Podsumowanie
11.6 Ćwiczenia
12 Systemy wieloprocesorowe
12.1 Problemy systemów wieloprocesorowych
12.2 Rozwiązanie z wyróżnieniem procesora głównego i pomocniczego
12.3 Rozwiązanie z użyciem semaforów
12.4 System Tunis
12.5 Ograniczenia przepustowości systemu
12.6 Ćwiczenia
13 Systemy rozproszone
13.1 Procesory satelitarne
13.2 Systemy typu „Newcastle"
13.3 Przezroczyste rozproszone systemy plików
13.4 Przezroczyste systemy rozproszone bez procesów rdzennych
13.5. Podsumowanie
13.6. Ćwiczenia
A. Funkcje systemowe
Literatura
Skorowidz