Facebook - konwersja
Pobierz fragment

  • nowość

Systemy operacyjne - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
9 kwietnia 2024
Format ebooka:
PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Pobierz fragment
179,00

Systemy operacyjne - ebook

Większość aplikacji i usług jest zależna od interakcji z systemem operacyjnym, dlatego profesjonaliści IT potrzebują głębokiej, a przede wszystkim aktualnej wiedzy w tej dziedzinie. To właśnie zrozumienie systemów operacyjnych pozwala inżynierowi IT na skuteczne diagnozowanie problemów, optymalizowanie wydajności i tworzenie solidnych rozwiązań, które oprą się próbie czasu i podniosą poziom bezpieczeństwa.

To piąte, gruntownie zaktualizowane wydanie podręcznika, który doceni każdy student informatyki i inżynier oprogramowania. Książka obejmuje szeroki zakres zagadnień, od podstawowych pojęć po zaawansowaną problematykę związaną z najnowszymi trendami w systemach operacyjnych. Wyczerpująco omawia procesy, wątki, zarządzanie pamięcią, systemy plików, operacje wejścia-wyjścia, zakleszczenia, interfejsy użytkownika, multimedia czy kompromisy wydajnościowe. Szczegółowo, jako studia przypadków, zostały tu opisane systemy: Windows 11, Unix, Linux i Android. Jasny i przystępny styl, a także liczne przykłady i ćwiczenia ułatwiają zrozumienie nawet bardzo skomplikowanych zagadnień.

W książce między innymi:

  • podstawowe pojęcia i struktura systemów operacyjnych
  • sprzęt a funkcjonowanie systemu operacyjnego
  • przegląd systemów operacyjnych, w tym internetu rzeczy i systemów wbudowanych
  • systemy: Unix, Linux, Android ... procesy, zarządzanie pamięcią, bezpieczeństwo
  • Windows 11 ... struktura, procesy i wątki, wirtualizacja, zabezpieczenia
  • projektowanie systemów operacyjnych

Mistrz oprogramowania zaczyna od systemu operacyjnego!

 

Spis treści

Przedmowa

O autorach

1. WPROWADZENIE

  • 1.1. CZYM JEST SYSTEM OPERACYJNY?
    • 1.1.1. System operacyjny jako rozszerzona maszyna
    • 1.1.2. System operacyjny jako menedżer zasobów
  • 1.2. HISTORIA SYSTEMÓW OPERACYJNYCH
    • 1.2.1. Pierwsza generacja (1945 - 1955) - lampy elektronowe
    • 1.2.2. Druga generacja (1955 - 1965) - tranzystory i systemy wsadowe
    • 1.2.3. Trzecia generacja (1965 - 1980) - układy scalone i wieloprogramowość
    • 1.2.4. Czwarta generacja (1980 - czasy współczesne)
    • 1.2.5. Piąta generacja (1990 - czasy współczesne)
  • 1.3. SPRZĘT KOMPUTEROWY - PRZEGLĄD
    • 1.3.1. Procesory
    • 1.3.2. Pamięć
    • 1.3.3. Pamięć nieulotna
    • 1.3.4. Urządzenia wejścia-wyjścia
    • 1.3.5. Magistrale
    • 1.3.6. Uruchamianie komputera
  • 1.4. PRZEGLĄD SYSTEMÓW OPERACYJNYCH
    • 1.4.1. Systemy operacyjne komputerów mainframe
    • 1.4.2. Systemy operacyjne serwerów
    • 1.4.3. Systemy operacyjne komputerów osobistych
    • 1.4.4. Systemy operacyjne smartfonów i komputerów podręcznych
    • 1.4.5. Internet rzeczy i wbudowane systemy operacyjne
    • 1.4.6. Systemy operacyjne czasu rzeczywistego
    • 1.4.7. Systemy operacyjne kart elektronicznych
  • 1.5. POJĘCIA DOTYCZĄCE SYSTEMÓW OPERACYJNYCH
    • 1.5.1. Procesy
    • 1.5.2. Przestrzenie adresowe
    • 1.5.3. Pliki
    • 1.5.4. Wejście-wyjście
    • 1.5.5. Zabezpieczenia
    • 1.5.6. Powłoka
    • 1.5.7. Ontogeneza jest rekapitulacją filogenezy
  • 1.6. WYWOŁANIA SYSTEMOWE
    • 1.6.1. Wywołania systemowe do zarządzania procesami
    • 1.6.2. Wywołania systemowe do zarządzania plikami
    • 1.6.3. Wywołania systemowe do zarządzania katalogami
    • 1.6.4. Różne wywołania systemowe
    • 1.6.5. Interfejs Windows API
  • 1.7. STRUKTURA SYSTEMÓW OPERACYJNYCH
    • 1.7.1. Systemy monolityczne
    • 1.7.2. Systemy warstwowe
    • 1.7.3. Mikrojądra
    • 1.7.4. Model klient-serwer
    • 1.7.5. Maszyny wirtualne
    • 1.7.6. Egzojądra i unijądra
  • 1.8. ŚWIAT WEDŁUG JĘZYKA C
    • 1.8.1. Język C
    • 1.8.2. Pliki nagłówkowe
    • 1.8.3. Duże projekty programistyczne
    • 1.8.4. Model fazy działania
  • 1.9. BADANIA DOTYCZĄCE SYSTEMÓW OPERACYJNYCH
  • 1.10. PLAN POZOSTAŁEJ CZĘŚCI KSIĄŻKI
  • 1.11. JEDNOSTKI MIAR
  • 1.12. PODSUMOWANIE

2. PROCESY I WĄTKI

  • 2.1. PROCESY
    • 2.1.1. Model procesów
    • 2.1.2. Tworzenie procesów
    • 2.1.3. Kończenie działania procesów
    • 2.1.4. Hierarchie procesów
    • 2.1.5. Stany procesów
    • 2.1.6. Implementacja procesów
    • 2.1.7. Modelowanie wieloprogramowości
  • 2.2. WĄTKI
    • 2.2.1. Wykorzystanie wątków
    • 2.2.2. Klasyczny model wątków
    • 2.2.3. Wątki POSIX
    • 2.2.4. Implementacja wątków w przestrzeni użytkownika
    • 2.2.5. Implementacja wątków w jądrze
    • 2.2.6. Implementacje hybrydowe
    • 2.2.7. Przystosowywanie kodu jednowątkowego do obsługi wielu wątków
  • 2.3. SERWERY STEROWANE ZDARZENIAMI
  • 2.4. SYNCHRONIZACJA I KOMUNIKACJA MIĘDZYPROCESOWA
    • 2.4.1. Wyścig
    • 2.4.2. Regiony krytyczne
    • 2.4.3. Wzajemne wykluczanie z wykorzystaniem aktywnego oczekiwania
    • 2.4.4. Wywołania sleep i wakeup
    • 2.4.5. Semafory
    • 2.4.6. Muteksy
    • 2.4.7. Monitory
    • 2.4.8. Przekazywanie komunikatów
    • 2.4.9. Bariery
    • 2.4.10. Inwersja priorytetów
    • 2.4.11. Unikanie blokad: odczyt-kopiowanie-aktualizacja
  • 2.5. SZEREGOWANIE
    • 2.5.1. Wprowadzenie do szeregowania
    • 2.5.2. Szeregowanie w systemach wsadowych
    • 2.5.3. Szeregowanie w systemach interaktywnych
    • 2.5.4. Szeregowanie w systemach czasu rzeczywistego
    • 2.5.5. Oddzielenie strategii od mechanizmu
    • 2.5.6. Szeregowanie wątków
  • 2.6. PRACE BADAWCZE NAD PROCESAMI I WĄTKAMI
  • 2.7. PODSUMOWANIE

3. ZARZĄDZANIE PAMIĘCIĄ

  • 3.1. BRAK ABSTRAKCJI PAMIĘCI
    • 3.1.1. Uruchamianie wielu programów w systemach bez abstrakcji pamięci
  • 3.2. ABSTRAKCJA PAMIĘCI: PRZESTRZENIE ADRESOWE
    • 3.2.1. Pojęcie przestrzeni adresowej
    • 3.2.2. Wymiana pamięci
    • 3.2.3. Zarządzanie wolną pamięcią
  • 3.3. PAMIĘĆ WIRTUALNA
    • 3.3.1. Stronicowanie
    • 3.3.2. Tabele stron
    • 3.3.3. Przyspieszenie stronicowania
    • 3.3.4. Tabele stron dla pamięci o dużej objętości
  • 3.4. ALGORYTMY ZASTĘPOWANIA STRON
    • 3.4.1. Optymalny algorytm zastępowania stron
    • 3.4.2. Algorytm NRU
    • 3.4.3. Algorytm FIFO
    • 3.4.4. Algorytm drugiej szansy
    • 3.4.5. Algorytm zegarowy
    • 3.4.6. Algorytm LRU
    • 3.4.7. Programowa symulacja algorytmu LRU
    • 3.4.8. Algorytm bazujący na zbiorze roboczym
    • 3.4.9. Algorytm WSClock
    • 3.4.10. Podsumowanie algorytmów zastępowania stron
  • 3.5. PROBLEMY PROJEKTOWE SYSTEMÓW STRONICOWANIA
    • 3.5.1. Lokalne i globalne strategie alokacji pamięci
    • 3.5.2. Zarządzanie obciążeniem
    • 3.5.3. Strategia czyszczenia
    • 3.5.4. Rozmiar strony
    • 3.5.5. Osobne przestrzenie instrukcji i danych
    • 3.5.6. Strony współdzielone
    • 3.5.7. Biblioteki współdzielone
    • 3.5.8. Pliki odwzorowane w pamięci
  • 3.6. PROBLEMY IMPLEMENTACJI
    • 3.6.1. Zadania systemu operacyjnego w zakresie stronicowania
    • 3.6.2. Obsługa błędów braku strony
    • 3.6.3. Archiwizowanie instrukcji
    • 3.6.4. Blokowanie stron w pamięci
    • 3.6.5. Magazyn stron
    • 3.6.6. Oddzielenie strategii od mechanizmu
  • 3.7. SEGMENTACJA
    • 3.7.1. Implementacja klasycznej segmentacji
    • 3.7.2. Segmentacja ze stronicowaniem: MULTICS
    • 3.7.3. Segmentacja ze stronicowaniem: Intel x86
  • 3.8. BADANIA DOTYCZĄCE ZARZĄDZANIA PAMIĘCIĄ
  • 3.9. PODSUMOWANIE

4. SYSTEMY PLIKÓW

  • 4.1. PLIKI
    • 4.1.1. Nazwy plików
    • 4.1.2. Struktura plików
    • 4.1.3. Typy plików
    • 4.1.4. Dostęp do plików
    • 4.1.5. Atrybuty plików
    • 4.1.6. Operacje na plikach
    • 4.1.7. Przykładowy program wykorzystujący wywołania obsługi systemu plików
  • 4.2. KATALOGI
    • 4.2.1. Jednopoziomowe systemy katalogów
    • 4.2.2. Hierarchiczne systemy katalogów
    • 4.2.3. Nazwy ścieżek
    • 4.2.4. Operacje na katalogach
  • 4.3. IMPLEMENTACJA SYSTEMU PLIKÓW
    • 4.3.1. Układ systemu plików
    • 4.3.2. Implementacja plików
    • 4.3.3. Implementacja katalogów
    • 4.3.4. Pliki współdzielone
    • 4.3.5. Systemy plików o strukturze dziennika
    • 4.3.6. Księgujące systemy plików
    • 4.3.7. Systemy plików na nośnikach typu flash
    • 4.3.8. Wirtualne systemy plików
  • 4.4. ZARZĄDZANIE SYSTEMEM PLIKÓW I OPTYMALIZACJA
    • 4.4.1. Zarządzanie miejscem na dysku
    • 4.4.2. Kopie zapasowe systemu plików
    • 4.4.3. Spójność systemu plików
    • 4.4.4. Wydajność systemu plików
    • 4.4.5. Defragmentacja dysków
    • 4.4.6. Kompresja i deduplikacja
    • 4.4.7. Bezpieczne usuwanie plików i szyfrowanie dysków
  • 4.5. PRZYKŁADOWY SYSTEM PLIKÓW
    • 4.5.1. System plików MS-DOS
    • 4.5.2. System plików V7 systemu UNIX
  • 4.6. BADANIA DOTYCZĄCE SYSTEMÓW PLIKÓW
  • 4.7. PODSUMOWANIE

5. WEJŚCIE-WYJŚCIE

  • 5.1. WARUNKI, JAKIE POWINIEN SPEŁNIAĆ SPRZĘT WEJŚCIA-WYJŚCIA
    • 5.1.1. Urządzenia wejścia-wyjścia
    • 5.1.2. Kontrolery urządzeń
    • 5.1.3. Urządzenia wejścia-wyjścia odwzorowane w pamięci
    • 5.1.4. Bezpośredni dostęp do pamięci (DMA)
    • 5.1.5. O przerwaniach raz jeszcze
  • 5.2. WARUNKI, JAKIE POWINNO SPEŁNIAĆ OPROGRAMOWANIE WEJŚCIA-WYJŚCIA
    • 5.2.1. Cele oprogramowania wejścia-wyjścia
    • 5.2.2. Programowane wejście-wyjście
    • 5.2.3. Wejście-wyjście sterowane przerwaniami
    • 5.2.4. Wejście-wyjście z wykorzystaniem DMA
  • 5.3. WARSTWY OPROGRAMOWANIA WEJŚCIA-WYJŚCIA
    • 5.3.1. Procedury obsługi przerwań
    • 5.3.2. Sterowniki urządzeń
    • 5.3.3. Oprogramowanie wejścia-wyjścia niezależne od urządzeń
    • 5.3.4. Oprogramowanie wejścia-wyjścia w przestrzeni użytkownika
  • 5.4. PAMIĘĆ MASOWA: DYSKI MAGNETYCZNE I SSD
    • 5.4.1. Dyski magnetyczne
    • 5.4.2. Dyski SSD
    • 5.4.3. RAID
  • 5.5. ZEGARY
    • 5.5.1. Sprzęt obsługi zegara
    • 5.5.2. Oprogramowanie obsługi zegara
    • 5.5.3. Zegary programowe
  • 5.6. INTERFEJSY UŻYTKOWNIKÓW: KLAWIATURA, MYSZ, MONITOR
    • 5.6.1. Oprogramowanie do wprowadzania danych
    • 5.6.2. Oprogramowanie do generowania wyjścia
  • 5.7. CIENKIE KLIENTY
  • 5.8. ZARZĄDZANIE ENERGIĄ
    • 5.8.1. Problemy sprzętowe
    • 5.8.2. Problemy po stronie systemu operacyjnego
    • 5.8.3. Problemy do rozwiązania w programach aplikacyjnych
  • 5.9. BADANIA DOTYCZĄCE WEJŚCIA-WYJŚCIA
  • 5.10. PODSUMOWANIE

6. ZAKLESZCZENIA

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

7. WIRTUALIZACJA I PRZETWARZANIE W CHMURZE

  • 7.1. HISTORIA
  • 7.2. WYMAGANIA DOTYCZĄCE WIRTUALIZACJI
  • 7.3. HIPERNADZORCY TYPU 1 I TYPU 2
  • 7.4. TECHNIKI SKUTECZNEJ WIRTUALIZACJI
    • 7.4.1. Wirtualizacja systemów bez obsługi wirtualizacji
    • 7.4.2. Koszt wirtualizacji
  • 7.5. CZY HIPERNADZORCY SĄ PRAWIDŁOWYMI MIKROJĄDRAMI?
  • 7.6. WIRTUALIZACJA PAMIĘCI
  • 7.7. WIRTUALIZACJA WEJŚCIA-WYJŚCIA
  • 7.8. MASZYNY WIRTUALNE NA PROCESORACH WIELORDZENIOWYCH
  • 7.9. CHMURY OBLICZENIOWE
    • 7.9.1. Chmury jako usługa
    • 7.9.2. Migracje maszyn wirtualnych
    • 7.9.3. Punkty kontrolne
  • 7.10. WIRTUALIZACJA NA POZIOMIE SYSTEMU OPERACYJNEGO
  • 7.11. STUDIUM PRZYPADKU: VMWARE
    • 7.11.1. Wczesna historia firmy VMware
    • 7.11.2. VMware Workstation
    • 7.11.3. Wyzwania podczas opracowywania warstwy wirtualizacji na platformie x86
    • 7.11.4. VMware Workstation: przegląd informacji o rozwiązaniu
    • 7.11.5. Ewolucja systemu VMware Workstation
    • 7.11.6. ESX Server: hipernadzorca typu 1 firmy VMware
  • 7.12. BADANIA NAD WIRTUALIZACJĄ I CHMURĄ
  • 7.13. PODSUMOWANIE

8. SYSTEMY WIELOPROCESOROWE

  • 8.1. SYSTEMY WIELOPROCESOROWE
    • 8.1.1. Sprzęt wieloprocesorowy
    • 8.1.2. Typy wieloprocesorowych systemów operacyjnych
    • 8.1.3. Synchronizacja w systemach wieloprocesorowych
    • 8.1.4. Szeregowanie w systemach wieloprocesorowych
  • 8.2. WIELOKOMPUTERY
    • 8.2.1. Sprzęt wielokomputerów
    • 8.2.2. Niskopoziomowe oprogramowanie komunikacyjne
    • 8.2.3. Oprogramowanie komunikacyjne poziomu użytkownika
    • 8.2.4. Zdalne wywołania procedur
    • 8.2.5. Rozproszona współdzielona pamięć
    • 8.2.6. Szeregowanie systemów wielokomputerowych
    • 8.2.7. Równoważenie obciążenia
  • 8.3. SYSTEMY ROZPROSZONE
    • 8.3.1. Sprzęt sieciowy
    • 8.3.2. Usługi i protokoły sieciowe
    • 8.3.3. Warstwa middleware bazująca na dokumentach
    • 8.3.4. Warstwa middleware bazująca na systemie plików
    • 8.3.5. Warstwa middleware bazująca na obiektach
    • 8.3.6. Warstwa middleware bazująca na koordynacji
  • 8.4. BADANIA DOTYCZĄCE SYSTEMÓW WIELOPROCESOROWYCH
  • 8.5. PODSUMOWANIE

9. BEZPIECZEŃSTWO

  • 9.1. PODSTAWY BEZPIECZEŃSTWA SYSTEMÓW OPERACYJNYCH
    • 9.1.1. Triada bezpieczeństwa CIA
    • 9.1.2. Zasady bezpieczeństwa
    • 9.1.3. Bezpieczeństwo struktury systemu operacyjnego
    • 9.1.4. Zaufana baza obliczeniowa
    • 9.1.5. Intruzi
    • 9.1.6. Czy możemy budować bezpieczne systemy?
  • 9.2. KONTROLOWANIE DOSTĘPU DO ZASOBÓW
    • 9.2.1. Domeny ochrony
    • 9.2.2. Listy kontroli dostępu
    • 9.2.3. Uprawnienia
  • 9.3. MODELE FORMALNE BEZPIECZNYCH SYSTEMÓW
    • 9.3.1. Bezpieczeństwo wielopoziomowe
    • 9.3.2. Kryptografia
    • 9.3.3. Moduły TPM
  • 9.4. UWIERZYTELNIANIE
    • 9.4.1. Hasła
    • 9.4.2. Uwierzytelnianie z wykorzystaniem obiektu fizycznego
    • 9.4.3. Uwierzytelnianie z wykorzystaniem technik biometrycznych
  • 9.5. WYKORZYSTYWANIE BŁĘDÓW W KODZIE
    • 9.5.1. Ataki z wykorzystaniem przepełnienia bufora
    • 9.5.2. Ataki z wykorzystaniem łańcuchów formatujących
    • 9.5.3. Ataki typu "użyj po zwolnieniu"
    • 9.5.4. Luki typu Type Confusion
    • 9.5.5. Ataki bazujące na odwołaniach do pustego wskaźnika
    • 9.5.6. Ataki z wykorzystaniem przepełnień liczb całkowitych
    • 9.5.7. Ataki polegające na wstrzykiwaniu kodu
    • 9.5.8. Ataki TOCTOU
    • 9.5.9. Luka oparta na podwójnym pobieraniu
  • 9.6. EKSPLOITY SPRZĘTOWE
    • 9.6.1. Kanały ukryte
    • 9.6.2. Kanały boczne
    • 9.6.3. Ataki z wykorzystaniem przejściowego wykonywania
  • 9.7. ATAKI OD WEWNĄTRZ
    • 9.7.1. Bomby logiczne
    • 9.7.2. Tylne drzwi
    • 9.7.3. Podszywanie się pod ekran logowania
  • 9.8. WZMACNIANIE SYSTEMU OPERACYJNEGO
    • 9.8.1. Dokładna randomizacja
    • 9.8.2. Ograniczenia przepływu sterowania
    • 9.8.3. Ograniczenia dostępu
    • 9.8.4. Kontrole integralności kodu i danych
    • 9.8.5. Zdalna atestacja przy użyciu modułu TPM
    • 9.8.6. Hermetyzacja niezaufanego kodu
  • 9.9. BADANIA DOTYCZĄCE BEZPIECZEŃSTWA
  • 9.10. PODSUMOWANIE

10. PIERWSZE STUDIUM PRZYPADKU: UNIX, LINUX I ANDROID

  • 10.1. HISTORIA SYSTEMÓW UNIX I LINUX
    • 10.1.1. UNICS
    • 10.1.2. PDP-11 UNIX
    • 10.1.3. Przenośny UNIX
    • 10.1.4. Berkeley UNIX
    • 10.1.5. Standard UNIX
    • 10.1.6. MINIX
    • 10.1.7. Linux
  • 10.2. PRZEGLĄD SYSTEMU LINUX
    • 10.2.1. Cele Linuksa
    • 10.2.2. Interfejsy systemu Linux
    • 10.2.3. Powłoka
    • 10.2.4. Programy użytkowe systemu Linux
    • 10.2.5. Struktura jądra
  • 10.3. PROCESY W SYSTEMIE LINUX
    • 10.3.1. Podstawowe pojęcia
    • 10.3.2. Wywołania systemowe Linuksa związane z zarządzaniem procesami
    • 10.3.3. Implementacja procesów i wątków w systemie Linux
    • 10.3.4. Szeregowanie w systemie Linux
    • 10.3.5. Synchronizacja w Linuksie
    • 10.3.6. Uruchamianie systemu Linux
  • 10.4. ZARZĄDZANIE PAMIĘCIĄ W SYSTEMIE LINUX
    • 10.4.1. Podstawowe pojęcia
    • 10.4.2. Wywołania systemowe Linuksa odpowiedzialne za zarządzanie pamięcią
    • 10.4.3. Implementacja zarządzania pamięcią w systemie Linux
    • 10.4.4. Stronicowanie w systemie Linux
  • 10.5. OPERACJE WEJŚCIA-WYJŚCIA W SYSTEMIE LINUX
    • 10.5.1. Podstawowe pojęcia
    • 10.5.2. Obsługa sieci
    • 10.5.3. Wywołania systemowe wejścia-wyjścia w systemie Linux
    • 10.5.4. Implementacja wejścia-wyjścia w systemie Linux
    • 10.5.5. Moduły w systemie Linux
  • 10.6. SYSTEM PLIKÓW LINUKSA
    • 10.6.1. Podstawowe pojęcia
    • 10.6.2. Wywołania systemu plików w Linuksie
    • 10.6.3. Implementacja systemu plików Linuksa
    • 10.6.4. NFS - sieciowy system plików
  • 10.7. BEZPIECZEŃSTWO W SYSTEMIE LINUX
    • 10.7.1. Podstawowe pojęcia
    • 10.7.2. Wywołania systemowe Linuksa związane z bezpieczeństwem
    • 10.7.3. Implementacja bezpieczeństwa w systemie Linux
  • 10.8. ANDROID
    • 10.8.1. Android a Google
    • 10.8.2. Historia Androida
    • 10.8.3. Cele projektowe
    • 10.8.4. Architektura Androida
    • 10.8.5. Rozszerzenia Linuksa
    • 10.8.6. ART
    • 10.8.7. Binder IPC
    • 10.8.8. Aplikacje Androida
    • 10.8.9. Zamiary
    • 10.8.10. Model procesów
    • 10.8.11. Bezpieczeństwo i prywatność
    • 10.8.12. Uruchamianie w tle a nauki społeczne
  • 10.9. PODSUMOWANIE

11. DRUGIE STUDIUM PRZYPADKU: WINDOWS 11

  • 11.1. HISTORIA SYSTEMU WINDOWS DO WYDANIA WINDOWS 11
    • 11.1.1. Lata osiemdziesiąte: MS-DOS
    • 11.1.2. Lata dziewięćdziesiąte: Windows na bazie MS-DOS-a
    • 11.1.3. Lata dwutysięczne: Windows na bazie NT
    • 11.1.4. Windows Vista
    • 11.1.5. Windows 8
    • 11.1.6. Windows 10
    • 11.1.7. Windows 11
  • 11.2. PROGRAMOWANIE SYSTEMU WINDOWS
    • 11.2.1. Platforma programowania UWP
    • 11.2.2. Podsystemy Windowsa
    • 11.2.3. Rdzenny interfejs programowania aplikacji (API) systemu NT
    • 11.2.4. Interfejs programowania aplikacji Win32
    • 11.2.5. Rejestr systemu Windows
  • 11.3. STRUKTURA SYSTEMU
    • 11.3.1. Struktura systemu operacyjnego
    • 11.3.2. Uruchamianie systemu Windows
    • 11.3.3. Implementacja menedżera obiektów
    • 11.3.4. Podsystemy, biblioteki DLL i usługi trybu użytkownika
  • 11.4. PROCESY I WĄTKI SYSTEMU WINDOWS
    • 11.4.1. Podstawowe pojęcia
    • 11.4.2. Wywołania API związane z zarządzaniem zadaniami, procesami, wątkami i włóknami
    • 11.4.3. Implementacja procesów i wątków
    • 11.4.4. WoW64 i emulacja
  • 11.5. ZARZĄDZANIE PAMIĘCIĄ
    • 11.5.1. Podstawowe pojęcia
    • 11.5.2. Wywołania systemowe związane z zarządzaniem pamięcią
    • 11.5.3. Implementacja zarządzania pamięcią
    • 11.5.4. Kompresja pamięci
    • 11.5.5. Partycje pamięci
  • 11.6. PAMIĘĆ PODRĘCZNA SYSTEMU WINDOWS
  • 11.7. OPERACJE WEJŚCIA-WYJŚCIA W SYSTEMIE WINDOWS
    • 11.7.1. Podstawowe pojęcia
    • 11.7.2. Wywołania API związane z operacjami wejścia-wyjścia
    • 11.7.3. Implementacja systemu wejścia-wyjścia
  • 11.8. SYSTEM PLIKÓW NT SYSTEMU WINDOWS
    • 11.8.1. Podstawowe pojęcia
    • 11.8.2. Implementacja systemu plików NTFS
  • 11.9. ZARZĄDZANIE ENERGIĄ W SYSTEMIE WINDOWS
  • 11.10. WIRTUALIZACJA W SYSTEMIE WINDOWS
    • 11.10.1. Hyper-V
    • 11.10.2. Kontenery
    • 11.10.3. Bezpieczeństwo oparte na wirtualizacji
  • 11.11. BEZPIECZEŃSTWO W SYSTEMIE WINDOWS
    • 11.11.1. Podstawowe pojęcia
    • 11.11.2. Wywołania API związane z bezpieczeństwem
    • 11.11.3. Implementacja bezpieczeństwa
    • 11.11.4. Czynniki ograniczające zagrożenia bezpieczeństwa
  • 11.12. PODSUMOWANIE

12. PROJEKT SYSTEMU OPERACYJNEGO

  • 12.1. ISTOTA PROBLEMÓW ZWIĄZANYCH Z PROJEKTOWANIEM SYSTEMÓW
    • 12.1.1. Cele
    • 12.1.2. Dlaczego projektowanie systemów operacyjnych jest takie trudne?
  • 12.2. PROJEKT INTERFEJSU
    • 12.2.1. Zalecenia projektowe
    • 12.2.2. Paradygmaty
    • 12.2.3. Interfejs wywołań systemowych
  • 12.3. IMPLEMENTACJA
    • 12.3.1. Struktura systemu
    • 12.3.2. Mechanizm kontra strategia
    • 12.3.3. Ortogonalność
    • 12.3.4. Nazewnictwo
    • 12.3.5. Czas wiązania nazw
    • 12.3.6. Struktury statyczne kontra struktury dynamiczne
    • 12.3.7. Implementacja góra-dół kontra implementacja dół-góra
    • 12.3.8. Komunikacja synchroniczna kontra asynchroniczna
    • 12.3.9. Przydatne techniki
  • 12.4. WYDAJNOŚĆ
    • 12.4.1. Dlaczego systemy operacyjne są powolne?
    • 12.4.2. Co należy optymalizować?
    • 12.4.3. Dylemat przestrzeń-czas
    • 12.4.4. Buforowanie
    • 12.4.5. Wskazówki
    • 12.4.6. Wykorzystywanie efektu lokalności
    • 12.4.7. Optymalizacja z myślą o typowych przypadkach
  • 12.5. ZARZĄDZANIE PROJEKTEM
    • 12.5.1. Mityczny osobomiesiąc
    • 12.5.2. Struktura zespołu
    • 12.5.3. Znaczenie doświadczenia
    • 12.5.4. Nie istnieje jedno cudowne rozwiązanie

13. LISTA PUBLIKACJI I BIBLIOGRAFIA

  • 13.1. SUGEROWANE PUBLIKACJE DODATKOWE
    • 13.1.1. Publikacje wprowadzające
    • 13.1.2. Procesy i wątki
    • 13.1.3. Zarządzanie pamięcią
    • 13.1.4. Systemy plików
    • 13.1.5. Wejście-wyjście
    • 13.1.6. Zakleszczenia
    • 13.1.7. Wirtualizacja i przetwarzanie w chmurze
    • 13.1.8. Systemy wieloprocesorowe
    • 13.1.9. Bezpieczeństwo
    • 13.1.10. Pierwsze studium przypadku: UNIX, Linux i Android
    • 13.1.11. Drugie studium przypadku: Windows
    • 13.1.12. Projekt systemu operacyjnego
  • 13.2. BIBLIOGRAFIA W PORZĄDKU ALFABETYCZNYM

SKOROWIDZ

Kategoria: Systemy operacyjne
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-0290-9
Rozmiar pliku: 17 MB

BESTSELLERY

Kategorie: