reklama - zainteresowany?

Systemy operacyjne. Wydanie III - Helion

Systemy operacyjne. Wydanie III
Autor: Andrew S. Tanenbaum
Tytuł oryginału: Modern Operating Systems (3rd Edition)
Tłumaczenie: Radosław Meryk, Mikołaj Szczepaniak
ISBN: 978-83-246-2311-2
stron: 1288, Format: 172x245, okładka: twarda
Data wydania: 2011-09-14
Księgarnia: Helion

Cena książki: 99,00 zł

Dodaj do koszyka Systemy operacyjne. Wydanie III

Tagi: Inne

Wszystko, co chcesz wiedzieć o systemach operacyjnych!

  • Jak działają algorytmy szeregowania?
  • Jakie możliwości stoją za wirtualizacją?
  • Jak systemy operacyjne zarządzają pamięcią?

Ta książka to aktualne wydanie światowego bestsellera, będącego kompletnym źródłem wiedzy na temat współczesnych systemów operacyjnych. Autor tego podręcznika - Andrew S. Tanenbaum - przez wiele lat projektował trzy systemy operacyjne lub współuczestniczył w ich projektowaniu, dzięki czemu może dzielić się swą ogromną wiedzą i doświadczeniem praktyka. W tej publikacji szczególny nacisk kładzie on na możliwie szczegółową prezentację takich aspektów systemów, jak procesy, wątki, zarządzanie pamięcią, systemy plików, operacje wejścia-wyjścia, zakleszczenia, projektowanie interfejsu, multimedia, dylematy związane z wydajnością czy najnowsze trendy w projektach systemów operacyjnych.

Wśród jej współautorów znajdziesz takich specjalistów, jak Ada Gavrilovska-Habl, Michael Jipping oraz David Robert. Dzięki nim książka została wzbogacona między innymi o rozdziały poświęcone Symbianowi i Linuksowi. W pierwszej kolejności zapoznasz się z ich rysem historycznym. W końcu ich dzisiejsze możliwości to zasługa wielu dekad badań i eksperymentów. Dowiesz się także, na czym polega wirtualizacja, jak działają systemy rozproszone oraz jak chronić je przed atakami. W trakcie lektury poznasz dokładnie systemy operacyjne Windows, Linux oraz Symbian. Pozycja ta stanowi niezastąpione kompendium wiedzy na temat systemów operacyjnych, zarówno dla studentów informatyki, jak i wszystkich pasjonatów komputera.

  • Rys historyczny systemów operacyjnych
  • Sprzęt komputerowy - przegląd komponentów
  • Rodzaje systemów operacyjnych
  • Struktura systemów operacyjnych
  • Obsługa wywołań systemowych
  • Zarządzanie procesami i wątkami oraz komunikacja między nimi
  • Szeregowanie zadań
  • Zarządzanie pamięcią
  • Obsługa systemów plików
  • Urządzenia wejścia-wyjścia
  • Metody zarządzania energią
  • Rozwiązywanie problemu zakleszczeń
  • Charakterystyka multimedialnych systemów operacyjnych
  • Obsługa systemów wieloprocesorowych
  • Wirtualizacja
  • Bezpieczeństwo danych na poziomie systemu operacyjnego
  • Zagrożenia ze strony złośliwego oprogramowania
  • System Linux - historia, budowa, działanie
  • System Windows Vista - studium przypadku
  • System Symbian - przeznaczenie, działanie, obsługa

Kompendium wiedzy o współczesnych systemach operacyjnych!

Dodaj do koszyka Systemy operacyjne. Wydanie III

 

Osoby które kupowały "Systemy operacyjne. Wydanie III ", wybierały także:

  • Windows Media Center. Domowe centrum rozrywki
  • Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku
  • Mapa Agile & Scrum. Jak si
  • Lean dla bystrzaków. Wydanie II
  • Gra bez końca

Dodaj do koszyka Systemy operacyjne. Wydanie III

Spis treści

Systemy operacyjne. Wydanie III -- spis treści

PRZEDMOWA (23)

O AUTORZE (27)

1. WPROWADZENIE (29)

  • 1.1. CZYM JEST SYSTEM OPERACYJNY? (32)
    • 1.1.1. System operacyjny jako rozszerzona maszyna (32)
    • 1.1.2. System operacyjny jako menedżer zasobów (34)
  • 1.2. HISTORIA SYSTEMÓW OPERACYJNYCH (36)
    • 1.2.1. Pierwsza generacja (1945 - 1955) - lampy elektronowe (37)
    • 1.2.2. Druga generacja (1955 - 1965) - tranzystory i systemy wsadowe (37)
    • 1.2.3. Trzecia generacja (1965 - 1980) - układy scalone i wieloprogramowość (40)
    • 1.2.4. Czwarta generacja (1980 - czasy współczesne) - komputery osobiste (45)
  • 1.3. SPRZĘT KOMPUTEROWY - PRZEGLĄD (50)
    • 1.3.1. Procesory (50)
    • 1.3.2. Pamięć (54)
    • 1.3.3. Dyski (58)
    • 1.3.4. Taśmy (59)
    • 1.3.5. Urządzenia wejścia-wyjścia (59)
    • 1.3.6. Magistrale (63)
    • 1.3.7. Uruchamianie komputera (66)
  • 1.4. PRZEGLĄD SYSTEMÓW OPERACYJNYCH (67)
    • 1.4.1. Systemy operacyjne komputerów mainframe (67)
    • 1.4.2. Systemy operacyjne serwerów (68)
    • 1.4.3. Wieloprocesorowe systemy operacyjne (68)
    • 1.4.4. Systemy operacyjne komputerów osobistych (68)
    • 1.4.5. Systemy operacyjne komputerów podręcznych (69)
    • 1.4.6. Wbudowane systemy operacyjne (69)
    • 1.4.7. Systemy operacyjne węzłów sensorowych (70)
    • 1.4.8. Systemy operacyjne czasu rzeczywistego (70)
    • 1.4.9. Systemy operacyjne kart elektronicznych (71)
  • 1.5. POJĘCIA DOTYCZĄCE SYSTEMÓW OPERACYJNYCH (72)
    • 1.5.1. Procesy (72)
    • 1.5.2. Przestrzenie adresowe (74)
    • 1.5.3. Pliki (75)
    • 1.5.4. Wejście-wyjście (79)
    • 1.5.5. Zabezpieczenia (79)
    • 1.5.6. Powłoka (80)
    • 1.5.7. Ontogeneza jest rekapitulacją filogenezy (81)
  • 1.6. WYWOŁANIA SYSTEMOWE (85)
    • 1.6.1. Wywołania systemowe do zarządzania procesami (90)
    • 1.6.2. Wywołania systemowe do zarządzania plikami (93)
    • 1.6.3. Wywołania systemowe do zarządzania katalogami (94)
    • 1.6.4. Różne wywołania systemowe (96)
    • 1.6.5. Interfejs Win32 API systemu Windows (97)
  • 1.7. STRUKTURA SYSTEMÓW OPERACYJNYCH (99)
    • 1.7.1. Systemy monolityczne (100)
    • 1.7.2. Systemy warstwowe (101)
    • 1.7.3. Mikrojądra (102)
    • 1.7.4. Model klient-serwer (105)
    • 1.7.5. Maszyny wirtualne (106)
    • 1.7.6. Egzojądra (110)
  • 1.8. ŚWIAT WEDŁUG JĘZYKA C (111)
    • 1.8.1. Język C (111)
    • 1.8.2. Pliki nagłówkowe (112)
    • 1.8.3. Duże projekty programistyczne (113)
    • 1.8.4. Model fazy działania (114)
  • 1.9. BADANIA DOTYCZĄCE SYSTEMÓW OPERACYJNYCH (115)
  • 1.10. PLAN POZOSTAŁEJ CZĘŚCI KSIĄŻKI (117)
  • 1.11. JEDNOSTKI MIAR (118)
  • 1.12. PODSUMOWANIE (119)

2. PROCESY I WĄTKI (123)

  • 2.1. PROCESY (123)
    • 2.1.1. Model procesów (124)
    • 2.1.2. Tworzenie procesów (126)
    • 2.1.3. Kończenie działania procesów (129)
    • 2.1.4. Hierarchie procesów (130)
    • 2.1.5. Stany procesów (131)
    • 2.1.6. Implementacja procesów (133)
    • 2.1.7. Modelowanie wieloprogramowości (135)
  • 2.2. WĄTKI (137)
    • 2.2.1. Wykorzystanie wątków (137)
    • 2.2.2. Klasyczny model wątków (143)
    • 2.2.3. Wątki POSIX (147)
    • 2.2.4. Implementacja wątków w przestrzeni użytkownika (150)
    • 2.2.5. Implementacja wątków w jądrze (153)
    • 2.2.6. Implementacje hybrydowe (154)
    • 2.2.7. Mechanizm aktywacji zarządcy (155)
    • 2.2.8. Wątki pop-up (157)
    • 2.2.9. Przystosowywanie kodu jednowątkowego do obsługi wielu wątków (158)
  • 2.3. KOMUNIKACJA MIĘDZY PROCESAMI (161)
    • 2.3.1. Wyścig (162)
    • 2.3.2. Regiony krytyczne (163)
    • 2.3.3. Wzajemne wykluczanie z wykorzystaniem aktywnego oczekiwania (165)
    • 2.3.4. Wywołania sleep i wakeup (171)
    • 2.3.5. Semafory (174)
    • 2.3.6. Muteksy (177)
    • 2.3.7. Monitory (182)
    • 2.3.8. Przekazywanie komunikatów (188)
    • 2.3.9. Bariery (191)
  • 2.4. SZEREGOWANIE (193)
    • 2.4.1. Wprowadzenie do szeregowania (193)
    • 2.4.2. Szeregowanie w systemach wsadowych (201)
    • 2.4.3. Szeregowanie w systemach interaktywnych (203)
    • 2.4.4. Szeregowanie w systemach czasu rzeczywistego (210)
    • 2.4.5. Oddzielenie strategii od mechanizmu (212)
    • 2.4.6. Szeregowanie wątków (212)
  • 2.5. KLASYCZNE PROBLEMY KOMUNIKACJI MIĘDZY PROCESAMI (214)
    • 2.5.1. Problem pięciu filozofów (214)
    • 2.5.2. Problem czytelników i pisarzy (218)
  • 2.6. PRACE BADAWCZE NAD PROCESAMI I WĄTKAMI (219)
  • 2.7. PODSUMOWANIE (220)

3. ZARZĄDZANIE PAMIĘCIĄ (227)

  • 3.1. BRAK ABSTRAKCJI PAMIĘCI (228)
  • 3.2. ABSTRAKCJA PAMIĘCI: PRZESTRZENIE ADRESOWE (232)
    • 3.2.1. Pojęcie przestrzeni adresowej (232)
    • 3.2.2. Wymiana pamięci (235)
    • 3.2.3. Zarządzanie wolną pamięcią (237)
  • 3.3. PAMIĘĆ WIRTUALNA (241)
    • 3.3.1. Stronicowanie (243)
    • 3.3.2. Tabele stron (247)
    • 3.3.3. Przyspieszenie stronicowania (249)
    • 3.3.4. Tabele stron dla pamięci o dużej objętości (253)
  • 3.4. ALGORYTMY ZASTĘPOWANIA STRON (257)
    • 3.4.1. Optymalny algorytm zastępowania stron (258)
    • 3.4.2. Algorytm NRU (258)
    • 3.4.3. Algorytm FIFO (260)
    • 3.4.4. Algorytm drugiej szansy (260)
    • 3.4.5. Algorytm zegarowy (261)
    • 3.4.6. Algorytm LRU (262)
    • 3.4.7. Programowa symulacja algorytmu LRU (263)
    • 3.4.8. Algorytm bazujący na zbiorze roboczym (265)
    • 3.4.9. Algorytm WSClock (269)
    • 3.4.10. Podsumowanie algorytmów zastępowania stron (271)
  • 3.5. PROBLEMY PROJEKTOWE SYSTEMÓW STRONICOWANIA (273)
    • 3.5.1. Lokalne i globalne strategie alokacji pamięci (273)
    • 3.5.2. Zarządzanie obciążeniem (276)
    • 3.5.3. Rozmiar strony (277)
    • 3.5.4. Osobne przestrzenie instrukcji i danych (278)
    • 3.5.5. Strony współdzielone (279)
    • 3.5.6. Biblioteki współdzielone (281)
    • 3.5.7. Pliki odwzorowane w pamięci (283)
    • 3.5.8. Strategia czyszczenia (284)
    • 3.5.9. Interfejs pamięci wirtualnej (284)
  • 3.6. PROBLEMY IMPLEMENTACJI (285)
    • 3.6.1. Zadania systemu operacyjnego w zakresie stronicowania (286)
    • 3.6.2. Obsługa błędów braku strony (287)
    • 3.6.3. Wznawianie instrukcji (288)
    • 3.6.4. Blokowanie stron w pamięci (289)
    • 3.6.5. Magazyn stron (290)
    • 3.6.6. Oddzielenie strategii od mechanizmu (292)
  • 3.7. SEGMENTACJA (294)
    • 3.7.1. Implementacja klasycznej segmentacji (298)
    • 3.7.2. Segmentacja ze stronicowaniem: MULTICS (298)
    • 3.7.3. Segmentacja ze stronicowaniem: Intel Pentium (302)
  • 3.8. BADANIA NAD ZARZĄDZANIEM PAMIĘCIĄ (307)
  • 3.9. PODSUMOWANIE (308)

4. SYSTEMY PLIKÓW (317)

  • 4.1. PLIKI (319)
    • 4.1.1. Nazwy plików (319)
    • 4.1.2. Struktura pliku (321)
    • 4.1.3. Typy plików (323)
    • 4.1.4. Dostęp do plików (325)
    • 4.1.5. Atrybuty plików (325)
    • 4.1.6. Operacje na plikach (327)
    • 4.1.7. Przykładowy program wykorzystujący wywołania obsługi systemu plików (328)
  • 4.2. KATALOGI (331)
    • 4.2.1. Jednopoziomowe systemy katalogów (331)
    • 4.2.2. Hierarchiczne systemy katalogów (332)
    • 4.2.3. Nazwy ścieżek (333)
    • 4.2.4. Operacje na katalogach (335)
  • 4.3. IMPLEMENTACJA SYSTEMU PLIKÓW (337)
    • 4.3.1. Układ systemu plików (337)
    • 4.3.2. Implementacja plików (338)
    • 4.3.3. Implementacja katalogów (344)
    • 4.3.4. Pliki współdzielone (347)
    • 4.3.5. Systemy plików o strukturze dziennika (349)
    • 4.3.6. Księgujące systemy plików (352)
    • 4.3.7. Wirtualne systemy plików (354)
  • 4.4. ZARZĄDZANIE SYSTEMEM PLIKÓW I OPTYMALIZACJA (357)
    • 4.4.1. Zarządzanie miejscem na dysku (357)
    • 4.4.2. Kopie zapasowe systemu plików (365)
    • 4.4.3. Spójność systemu plików (371)
    • 4.4.4. Wydajność systemu plików (375)
    • 4.4.5 Defragmentacja dysków (380)
  • 4.5. PRZYKŁADOWE SYSTEMY PLIKÓW (381)
    • 4.5.1. Systemy plików na płytach CD-ROM (381)
    • 4.5.2. System plików MS-DOS (387)
    • 4.5.3. System plików V7 systemu UNIX (391)
  • 4.6. BADANIA DOTYCZĄCE SYSTEMÓW PLIKÓW (394)
  • 4.7. PODSUMOWANIE (394)

5. WEJŚCIE-WYJŚCIE (399)

  • 5.1. WARUNKI, JAKIE POWINIEN SPEŁNIAĆ SPRZĘT WEJŚCIA-WYJŚCIA (400)
    • 5.1.1. Urządzenia wejścia-wyjścia (400)
    • 5.1.2. Kontrolery urządzeń (402)
    • 5.1.3. Urządzenia wejścia-wyjścia odwzorowane w pamięci (403)
    • 5.1.4. Bezpośredni dostęp do pamięci (DMA) 407
    • 5.1.5. O przerwaniach raz jeszcze (410)
  • 5.2. WARUNKI, JAKIE POWINNO SPEŁNIAĆ OPROGRAMOWANIE WEJŚCIA-WYJŚCIA (415)
    • 5.2.1. Cele oprogramowania wejścia-wyjścia (415)
    • 5.2.2. Programowane wejście-wyjście (417)
    • 5.2.3. Wejście-wyjście sterowane przerwaniami (419)
    • 5.2.4. Wejście-wyjście z wykorzystaniem DMA (420)
  • 5.3. WARSTWY OPROGRAMOWANIA WEJŚCIA-WYJŚCIA (420)
    • 5.3.1. Procedury obsługi przerwań (421)
    • 5.3.2. Sterowniki urządzeń (422)
    • 5.3.3. Oprogramowanie wejścia-wyjścia niezależne od urządzeń (426)
    • 5.3.4. Oprogramowanie wejścia-wyjścia w przestrzeni użytkownika (432)
  • 5.4. DYSKI (435)
    • 5.4.1. Sprzęt (435)
    • 5.4.2. Formatowanie dysków (452)
    • 5.4.3. Algorytmy szeregowania żądań dostępu do dysku (456)
    • 5.4.4. Obsługa błędów (459)
    • 5.4.5. Stabilna pamięć masowa (462)
  • 5.5. ZEGARY (466)
    • 5.5.1. Sprzęt obsługi zegara (466)
    • 5.5.2. Oprogramowanie obsługi zegara (468)
    • 5.5.3. Zegary programowe (471)
  • 5.6. INTERFEJSY UŻYTKOWNIKÓW: KLAWIATURA, MYSZ, MONITOR (473)
    • 5.6.1. Oprogramowanie do wprowadzania danych (473)
    • 5.6.2. Oprogramowanie do generowania wyjścia (479)
  • 5.7. CIENKIE KLIENTY (496)
  • 5.8. ZARZĄDZANIE ENERGIĄ (499)
    • 5.8.1. Problemy sprzętowe (500)
    • 5.8.2. Problemy po stronie systemu operacyjnego (501)
    • 5.8.3. Problemy do rozwiązania w programach aplikacyjnych (507)
  • 5.9. BADANIA DOTYCZĄCE WEJŚCIA-WYJŚCIA (509)
  • 5.10. PODSUMOWANIE (510)

6. ZAKLESZCZENIA (517)

  • 6.1. ZASOBY (518)
    • 6.1.1. Zasoby z możliwością wywłaszczania i bez niej (518)
    • 6.1.2. Zdobywanie zasobu (520)
  • 6.2. WPROWADZENIE W TEMATYKĘ ZAKLESZCZEŃ (521)
    • 6.2.1. Warunki powstawania zakleszczeń zasobów (522)
    • 6.2.2. Modelowanie zakleszczeń (523)
  • 6.3. ALGORYTM STRUSIA (526)
  • 6.4. WYKRYWANIE ZAKLESZCZEŃ I ICH USUWANIE (526)
    • 6.4.1. Wykrywanie zakleszczeń z jednym zasobem każdego typu (527)
    • 6.4.2. Wykrywanie zakleszczeń dla przypadku wielu zasobów każdego typu (529)
    • 6.4.3. Usuwanie zakleszczeń (532)
  • 6.5. UNIKANIE ZAKLESZCZEŃ (534)
    • 6.5.1. Trajektorie zasobów (534)
    • 6.5.2. Stany bezpieczne i niebezpieczne (535)
    • 6.5.3. Algorytm bankiera dla pojedynczego zasobu (537)
    • 6.5.4. Algorytm bankiera dla wielu zasobów (538)
  • 6.6. PRZECIWDZIAŁANIE ZAKLESZCZENIOM (540)
    • 6.6.1. Atak na warunek wzajemnego wykluczania (540)
    • 6.6.2. Atak na warunek wstrzymania i oczekiwania (541)
    • 6.6.3. Atak na warunek braku wywłaszczania (541)
    • 6.6.4. Atak na warunek cyklicznego oczekiwania (542)
  • 6.7. INNE PROBLEMY (543)
    • 6.7.1. Blokowanie dwufazowe (543)
    • 6.7.2. Zakleszczenia komunikacyjne (544)
    • 6.7.3. Uwięzienia (546)
    • 6.7.4. Zagłodzenia (548)
  • 6.8. BADANIA NA TEMAT ZAKLESZCZEŃ (548)
  • 6.9. PODSUMOWANIE (549)

7. MULTIMEDIALNE SYSTEMY OPERACYJNE (555)

  • 7.1. WPROWADZENIE W TEMATYKĘ MULTIMEDIÓW (556)
  • 7.2. PLIKI MULTIMEDIALNE (561)
    • 7.2.1. Kodowanie wideo (562)
    • 7.2.2. Kodowanie audio (565)
  • 7.3. KOMPRESJA WIDEO (567)
    • 7.3.1. Standard JPEG (568)
    • 7.3.2. Standard MPEG (571)
  • 7.4. KOMPRESJA AUDIO (574)
  • 7.5. SZEREGOWANIE PROCESÓW MULTIMEDIALNYCH (577)
    • 7.5.1. Szeregowanie procesów homogenicznych (577)
    • 7.5.2. Szeregowanie w czasie rzeczywistym - przypadek ogólny (578)
    • 7.5.3. Szeregowanie monotoniczne w częstotliwości (580)
    • 7.5.4. Algorytm szeregowania EDF (581)
  • 7.6. WZORCE MULTIMEDIALNYCH SYSTEMÓW PLIKÓW (584)
    • 7.6.1. Funkcje sterujące VCR (585)
    • 7.6.2. Wideo niemal na życzenie (587)
    • 7.6.3. Usługa wideo niemal na życzenie z funkcjami magnetowidu (589)
  • 7.7. ROZMIESZCZENIE PLIKÓW (591)
    • 7.7.1. Umieszczanie pliku na pojedynczym dysku (591)
    • 7.7.2. Dwie alternatywne strategie organizacji plików (592)
    • 7.7.3. Rozmieszczenie plików w usłudze wideo niemal na życzenie (596)
    • 7.7.4. Rozmieszczenie wielu plików na jednym dysku (598)
    • 7.7.5. Rozmieszczanie plików na wielu dyskach (600)
  • 7.8. BUFOROWANIE (603)
    • 7.8.1. Buforowanie bloków (603)
    • 7.8.2. Buforowanie plików (605)
  • 7.9. SZEREGOWANIE OPERACJI DYSKOWYCH W SYSTEMACH MULTIMEDIALNYCH (606)
    • 7.9.1. Statyczne szeregowanie operacji dyskowych (606)
    • 7.9.2. Dynamiczne szeregowanie operacji dyskowych (608)
  • 7.10. BADANIA NA TEMAT MULTIMEDIÓW (610)
  • 7.11. PODSUMOWANIE (610)

8. SYSTEMY WIELOPROCESOROWE (617)

  • 8.1. SYSTEMY WIELOPROCESOROWE (620)
    • 8.1.1. Sprzęt wieloprocesorowy (620)
    • 8.1.2. Typy wieloprocesorowych systemów operacyjnych (630)
    • 8.1.3. Synchronizacja w systemach wieloprocesorowych (634)
    • 8.1.4. Szeregowanie w systemach wieloprocesorowych (640)
  • 8.2. WIELOKOMPUTERY (646)
    • 8.2.1. Sprzęt wielokomputerów (647)
    • 8.2.2. Niskopoziomowe oprogramowanie komunikacyjne (651)
    • 8.2.3. Oprogramowanie komunikacyjne poziomu użytkownika (654)
    • 8.2.4. Zdalne wywołania procedur (657)
    • 8.2.5. Rozproszona współdzielona pamięć (660)
    • 8.2.6. Szeregowanie systemów wielokomputerowych (665)
    • 8.2.7. Równoważenie obciążenia (666)
  • 8.3. WIRTUALIZACJA (669)
    • 8.3.1. Wymagania dla wirtualizacji (671)
    • 8.3.2. Hipernadzorcy typu 1 (672)
    • 8.3.3. Hipernadzorcy typu 2 (673)
    • 8.3.4. Parawirtualizacja (675)
    • 8.3.5. Wirtualizacja pamięci (678)
    • 8.3.6. Wirtualizacja wejścia-wyjścia (679)
    • 8.3.7. Urządzenia wirtualne (681)
    • 8.3.8. Maszyny wirtualne na procesorach wielordzeniowych (681)
    • 8.3.9. Problemy licencji (682)
  • 8.4. SYSTEMY ROZPROSZONE (683)
    • 8.4.1. Sprzęt sieciowy (685)
    • 8.4.2. Usługi i protokoły sieciowe (689)
    • 8.4.3. Warstwa middleware bazująca na dokumentach (693)
    • 8.4.4. Warstwa middleware bazująca na systemie plików (694)
    • 8.4.5. Warstwa middleware bazująca na obiektach (700)
    • 8.4.6. Warstwa middleware bazująca na koordynacji (701)
    • 8.4.7. Siatki (707)
  • 8.5. BADANIA DOTYCZĄCE SYSTEMÓW WIELOPROCESOROWYCH (708)
  • 8.6. PODSUMOWANIE (710)

9. BEZPIECZEŃSTWO (717)

  • 9.1. ŚRODOWISKO BEZPIECZEŃSTWA (719)
    • 9.1.1. Zagrożenia (720)
    • 9.1.2. Intruzi (721)
    • 9.1.3. Przypadkowa utrata danych (723)
  • 9.2. PODSTAWY KRYPTOGRAFII (723)
    • 9.2.1. Kryptografia z kluczem tajnym (725)
    • 9.2.2. Kryptografia z kluczem publicznym (726)
    • 9.2.3. Funkcje jednokierunkowe (727)
    • 9.2.4. Podpisy cyfrowe (727)
    • 9.2.5. Moduł TPM (729)
  • 9.3. MECHANIZMY OCHRONY (730)
    • 9.3.1. Domeny ochrony (730)
    • 9.3.2. Listy kontroli dostępu (733)
    • 9.3.3. Uprawnienia (736)
    • 9.3.4. Systemy zaufane (740)
    • 9.3.5. Zaufana baza obliczeniowa (742)
    • 9.3.6. Modele formalne bezpiecznych systemów (743)
    • 9.3.7. Bezpieczeństwo wielopoziomowe (745)
    • 9.3.8. Ukryte kanały (748)
  • 9.4. UWIERZYTELNIANIE (753)
    • 9.4.1. Uwierzytelnianie z wykorzystaniem haseł (755)
    • 9.4.2. Uwierzytelnianie z wykorzystaniem obiektu fizycznego (765)
    • 9.4.3. Uwierzytelnianie z wykorzystaniem technik biometrycznych (769)
  • 9.5. ATAKI Z WEWNĄTRZ (772)
    • 9.5.1. Bomby logiczne (773)
    • 9.5.2. Tylne drzwi (773)
    • 9.5.3. Podszywanie się pod ekran logowania (774)
  • 9.6. WYKORZYSTYWANIE BŁĘDÓW W KODZIE (776)
    • 9.6.1. Ataki z wykorzystaniem przepełnienia bufora (777)
    • 9.6.2. Ataki z wykorzystaniem łańcuchów formatujących (780)
    • 9.6.3. Ataki powrotu do biblioteki libc (782)
    • 9.6.4. Ataki z wykorzystaniem przepełnień liczb całkowitych (783)
    • 9.6.5. Ataki polegające na wstrzykiwaniu kodu (784)
    • 9.6.6. Ataki polegające na rozszerzaniu uprawnień (786)
  • 9.7. ZŁOŚLIWE OPROGRAMOWANIE (786)
    • 9.7.1. Konie trojańskie (790)
    • 9.7.2. Wirusy (793)
    • 9.7.3. Robaki (805)
    • 9.7.4. Oprogramowanie szpiegujące (808)
    • 9.7.5. Rootkity (813)
  • 9.8. ŚRODKI OBRONY (819)
    • 9.8.1. Firewalle (820)
    • 9.8.2. Techniki antywirusowe i antyantywirusowe (822)
    • 9.8.3. Podpisywanie kodu (830)
    • 9.8.4. Wtrącanie do więzienia (832)
    • 9.8.5. Wykrywanie włamań z użyciem modeli (833)
    • 9.8.6. Izolowanie kodu mobilnego (835)
    • 9.8.7. Bezpieczeństwo Javy (840)
  • 9.9. BADANIA DOTYCZĄCE BEZPIECZEŃSTWA (843)
  • 9.10. PODSUMOWANIE (844)

10. PIERWSZE STUDIUM PRZYPADKU: LINUX (851)

  • 10.1. HISTORIA SYSTEMÓW UNIX I LINUX (852)
    • 10.1.1. UNICS (852)
    • 10.1.2. PDP-11 UNIX (853)
    • 10.1.3. Przenośny UNIX (855)
    • 10.1.4. Berkeley UNIX (856)
    • 10.1.5 Standard UNIX (857)
    • 10.1.6. MINIX (858)
    • 10.1.7. Linux (860)
  • 10.2. PRZEGLĄD SYSTEMU LINUX (863)
    • 10.2.1. Cele Linuksa (863)
    • 10.2.2. Interfejsy systemu Linux (865)
    • 10.2.3. Powłoka (867)
    • 10.2.4. Programy użytkowe systemu Linux (870)
    • 10.2.5. Struktura jądra (872)
  • 10.3. PROCESY W SYSTEMIE LINUX (876)
    • 10.3.1. Podstawowe pojęcia (876)
    • 10.3.2. Wywołania systemowe Linuksa związane z zarządzaniem procesami (879)
    • 10.3.3. Implementacja procesów i wątków w systemie Linux (884)
    • 10.3.4. Szeregowanie w systemie Linux (892)
    • 10.3.5. Uruchamianie systemu Linux (896)
  • 10.4. ZARZĄDZANIE PAMIĘCIĄ W SYSTEMIE LINUX (899)
    • 10.4.1. Podstawowe pojęcia (899)
    • 10.4.2. Wywołania systemowe Linuksa odpowiedzialne za zarządzanie pamięcią (903)
    • 10.4.3. Implementacja zarządzania pamięcią w systemie Linux (904)
    • 10.4.4. Stronicowanie w systemie Linux (911)
  • 10.5. OPERACJE WEJŚCIA-WYJŚCIA W SYSTEMIE LINUX (916)
    • 10.5.1. Podstawowe pojęcia (916)
    • 10.5.2. Obsługa sieci (917)
    • 10.5.3. Wywołania systemowe wejścia-wyjścia w systemie Linux (919)
    • 10.5.4. Implementacja wejścia-wyjścia w systemie Linux (921)
    • 10.5.5. Moduły w systemie Linux (925)
  • 10.6. SYSTEM PLIKÓW LINUKSA (925)
    • 10.6.1. Podstawowe pojęcia (926)
    • 10.6.2. Wywołania systemu plików w Linuksie (931)
    • 10.6.3. Implementacja systemu plików Linuksa (936)
    • 10.6.4. NFS - sieciowy system plików (945)
  • 10.7. BEZPIECZEŃSTWO W SYSTEMIE LINUX (953)
    • 10.7.1. Podstawowe pojęcia (953)
    • 10.7.2. Wywołania systemowe Linuksa związane z bezpieczeństwem (956)
    • 10.7.3. Implementacja bezpieczeństwa w systemie Linux (957)
  • 10.8. PODSUMOWANIE (958)

11. DRUGIE STUDIUM PRZYPADKU: WINDOWS VISTA (965)

  • 11.1. HISTORIA SYSTEMU WINDOWS VISTA (965)
    • 11.1.1. Lata osiemdziesiąte: MS-DOS (966)
    • 11.1.2. Lata dziewięćdziesiąte: Windows na bazie MS-DOS-a (967)
    • 11.1.3. Lata dwutysięczne: Windows na bazie NT (967)
    • 11.1.4. Windows Vista (971)
  • 11.2. PROGRAMOWANIE SYSTEMU WINDOWS VISTA (972)
    • 11.2.1. Rdzenny interfejs programowania aplikacji (API) systemu NT (975)
    • 11.2.2. Interfejs programowania aplikacji Win32 (980)
    • 11.2.3. Rejestr systemu Windows (984)
  • 11.3. STRUKTURA SYSTEMU (987)
    • 11.3.1. Struktura systemu operacyjnego (988)
    • 11.3.2. Uruchamianie systemu Windows Vista (1006)
    • 11.3.3. Implementacja menedżera obiektów (1007)
    • 11.3.4. Podsystemy, biblioteki DLL i usługi trybu użytkownika (1019)
  • 11.4. PROCESY I WĄTKI SYSTEMU WINDOWS VISTA (1023)
    • 11.4.1. Podstawowe pojęcia (1023)
    • 11.4.2. Wywołania API związane z zarządzaniem zadaniami, procesami, wątkami i włóknami (1029)
    • 11.4.3. Implementacja procesów i wątków (1036)
  • 11.5. ZARZĄDZANIE PAMIĘCIĄ (1045)
    • 11.5.1. Podstawowe pojęcia (1045)
    • 11.5.2. Wywołania systemowe związane z zarządzaniem pamięcią (1051)
    • 11.5.3. Implementacja zarządzania pamięcią (1052)
  • 11.6. PAMIĘĆ PODRĘCZNA SYSTEMU WINDOWS VISTA (1063)
  • 11.7. OPERACJE WEJŚCIA-WYJŚCIA W SYSTEMIE WINDOWS VISTA (1066)
    • 11.7.1. Podstawowe pojęcia (1067)
    • 11.7.2. Wywołania API związane z operacjami wejścia-wyjścia (1069)
    • 11.7.3. Implementacja systemu wejścia-wyjścia (1072)
  • 11.8. SYSTEM PLIKÓW NT SYSTEMU WINDOWS (1079)
    • 11.8.1. Podstawowe pojęcia (1079)
    • 11.8.2. Implementacja systemu plików NTFS (1081)
  • 11.9. BEZPIECZEŃSTWO W SYSTEMIE WINDOWS VISTA (1093)
    • 11.9.1. Podstawowe pojęcia (1095)
    • 11.9.2. Wywołania API związane z bezpieczeństwem (1097)
    • 11.9.3. Implementacja bezpieczeństwa (1098)
  • 11.10. PODSUMOWANIE (1102)

12. TRZECIE STUDIUM PRZYPADKU: SYMBIAN OS (1107)

  • 12.1. HISTORIA SYSTEMU SYMBIAN OS (1108)
    • 12.1.1. Korzenie systemu operacyjnego Symbian OS: Psion i EPOC (1108)
    • 12.1.2. Symbian OS 6 (1110)
    • 12.1.3. Symbian OS 7 (1111)
    • 12.1.4. Współczesna wersja systemu operacyjnego Symbian OS (1111)
  • 12.2. PRZEGLĄD SYSTEMU SYMBIAN OS (1111)
    • 12.2.1. Obiektowość (1112)
    • 12.2.2. Projekt mikrojądra (1113)
    • 12.2.3. Nanojądro systemu Symbian OS (1114)
    • 12.2.4. Dostęp do zasobów w trybie klient-serwer (1115)
    • 12.2.5. Funkcje znane z większych systemów operacyjnych (1116)
    • 12.2.6. Komunikacja i multimedia (1117)
  • 12.3. PROCESY I WĄTKI W SYSTEMIE SYMBIAN OS (1117)
    • 12.3.1. Wątki i nanowątki (1118)
    • 12.3.2. Procesy (1119)
    • 12.3.3. Obiekty aktywne (1120)
    • 12.3.4. Komunikacja międzyprocesowa (1121)
  • 12.4. ZARZĄDZANIE PAMIĘCIĄ (1121)
    • 12.4.1. Systemy pozbawione pamięci wirtualnej (1122)
    • 12.4.2. Adresowanie pamięci w systemie Symbian OS (1124)
  • 12.5. WEJŚCIE I WYJŚCIE (1127)
    • 12.5.1. Sterowniki urządzeń (1127)
    • 12.5.2. Rozszerzenia jądra (1128)
    • 12.5.3. Bezpośredni dostęp do pamięci (DMA) 1128
    • 12.5.4. Przypadek specjalny: nośniki pamięci (1129)
    • 12.5.5. Blokujące operacje wejścia-wyjścia (1129)
    • 12.5.6. Nośniki wymienne (1130)
  • 12.6. SYSTEMY PRZECHOWYWANIA DANYCH (1130)
    • 12.6.1. Systemy plików dla urządzeń mobilnych (1131)
    • 12.6.2. Systemy plików systemu operacyjnego Symbian OS (1132)
    • 12.6.3. Bezpieczeństwo i ochrona systemu plików (1132)
  • 12.7. BEZPIECZEŃSTWO W SYSTEMIE SYMBIAN OS (1133)
  • 12.8. KOMUNIKACJA W SYSTEMIE SYMBIAN OS (1136)
    • 12.8.1. Podstawowa infrastruktura (1136)
    • 12.8.2. Bardziej szczegółowa analiza infrastruktury komunikacji (1137)
  • 12.9. PODSUMOWANIE (1141)

13. PROJEKT SYSTEMU OPERACYJNEGO (1143)

  • 13.1. ISTOTA PROBLEMÓW ZWIĄZANYCH Z PROJEKTOWANIEM SYSTEMÓW (1144)
    • 13.1.1. Cele (1144)
    • 13.1.2. Dlaczego projektowanie systemów operacyjnych jest takie trudne? 1146
  • 13.2. PROJEKT INTERFEJSU (1148)
    • 13.2.1. Zalecenia projektowe (1148)
    • 13.2.2. Paradygmaty (1150)
    • 13.2.3. Interfejs wywołań systemowych (1155)
  • 13.3. IMPLEMENTACJA (1158)
    • 13.3.1. Struktura systemu (1158)
    • 13.3.2. Mechanizm kontra strategia (1163)
    • 13.3.3. Ortogonalność (1164)
    • 13.3.4. Nazewnictwo (1165)
    • 13.3.5. Czas kojarzenia nazw (1167)
    • 13.3.6. Struktury statyczne kontra struktury dynamiczne (1168)
    • 13.3.7. Implementacja z góry na dół kontra implementacja z dołu do góry (1170)
    • 13.3.8. Przydatne techniki (1171)
  • 13.4. WYDAJNOŚĆ (1177)
    • 13.4.1. Dlaczego systemy operacyjne są powolne? 1177
    • 13.4.2. Co należy optymalizować? 1179
    • 13.4.3. Dylemat przestrzeń - czas (1180)
    • 13.4.4. Buforowanie (1183)
    • 13.4.5. Wskazówki (1185)
    • 13.4.6. Wykorzystywanie efektu lokalności (1185)
    • 13.4.7. Optymalizacja z myślą o typowych przypadkach (1186)
  • 13.5. ZARZĄDZANIE PROJEKTEM (1186)
    • 13.5.1. Mityczny osobomiesiąc (1187)
    • 13.5.2. Struktura zespołu (1189)
    • 13.5.3. Znaczenie doświadczenia (1191)
    • 13.5.4. Nie istnieje jedno cudowne rozwiązanie (1192)
  • 13.6. TRENDY W ŚWIECIE PROJEKTÓW SYSTEMÓW OPERACYJNYCH (1192)
    • 13.6.1. Wirtualizacja (1193)
    • 13.6.2. Układy wielordzeniowe (1193)
    • 13.6.3. Systemy operacyjne z wielkimi przestrzeniami adresowymi (1194)
    • 13.6.4. Komunikacja sieciowa (1195)
    • 13.6.5. Systemy równoległe i rozproszone (1196)
    • 13.6.6. Multimedia (1196)
    • 13.6.7. Komputery zasilane bateriami (1197)
    • 13.6.8. Systemy wbudowane (1197)
    • 13.6.9. Węzły czujników (1198)
  • 13.7. PODSUMOWANIE (1198)

14. LISTA PUBLIKACJI I BIBLIOGRAFIA (1203)

  • 14.1. SUGEROWANE PUBLIKACJE DODATKOWE (1203)
    • 14.1.1. Publikacje wprowadzające i ogólne (1204)
    • 14.1.2. Procesy i wątki (1204)
    • 14.1.3. Zarządzanie pamięcią (1205)
    • 14.1.4. Wejście-wyjście (1205)
    • 14.1.5. Systemy plików (1206)
    • 14.1.6. Zakleszczenia (1206)
    • 14.1.7. Multimedialne systemy operacyjne (1207)
    • 14.1.8. Systemy wieloprocesorowe (1208)
    • 14.1.9. Bezpieczeństwo (1209)
    • 14.1.10. System Linux (1211)
    • 14.1.11. System Windows Vista (1212)
    • 14.1.12. System Symbian OS (1213)
    • 14.1.13. Zasady projektowe (1213)
  • 14.2. BIBLIOGRAFIA W PORZĄDKU ALFABETYCZNYM (1214)

SKOROWIDZ (1247)

Dodaj do koszyka Systemy operacyjne. Wydanie III

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.