Podcast
Questions and Answers
Dopasuj typ planisty do jego charakterystyki:
Dopasuj typ planisty do jego charakterystyki:
Dynamic-Priority Scheduler (DPS) = Możliwość nadania priorytetów zadaniom krytycznym Planista Share-driven = System nie opiera się na sztywnych priorytetach
Dopasuj zastosowanie do odpowiedniego planisty:
Dopasuj zastosowanie do odpowiedniego planisty:
Dynamic-Priority Scheduler (DPS) = Sterowanie maszyną w fabryce Planista Share-driven = Aplikacje działające na serwerach
Dopasuj zaletę do odpowiedniego planisty:
Dopasuj zaletę do odpowiedniego planisty:
Dynamic-Priority Scheduler (DPS) = Możliwość nadania priorytetów zadaniom krytycznym Planista Share-driven = Efektywność w systemach wielozadaniowych
Dopasuj przykład zastosowania do odpowiedniego planisty:
Dopasuj przykład zastosowania do odpowiedniego planisty:
Dopasuj wersje systemów Windows do ich dat wydania:
Dopasuj wersje systemów Windows do ich dat wydania:
Dopasuj typy subsystemu w Windows do ich funkcji:
Dopasuj typy subsystemu w Windows do ich funkcji:
Dopasuj składniki Interix do ich funkcji:
Dopasuj składniki Interix do ich funkcji:
Dopasuj cechy Windows XP do ich opisów:
Dopasuj cechy Windows XP do ich opisów:
Dopasuj komponenty Windows do ich funkcji operacyjnych:
Dopasuj komponenty Windows do ich funkcji operacyjnych:
Dopasuj terminy do ich definicji:
Dopasuj terminy do ich definicji:
Dopasuj problemy związane z NT do ich opisów:
Dopasuj problemy związane z NT do ich opisów:
Dopasuj formaty komunikacji w Windows XP do ich typów:
Dopasuj formaty komunikacji w Windows XP do ich typów:
Dopasuj cechy jądra monolitycznego do ich opisów:
Dopasuj cechy jądra monolitycznego do ich opisów:
Dopasuj podstawowe funkcje mikrojądra do ich opisów:
Dopasuj podstawowe funkcje mikrojądra do ich opisów:
Dopasuj warstwy architektury mikrojądra do ich funkcji:
Dopasuj warstwy architektury mikrojądra do ich funkcji:
Dopasuj zalety mikrojądra do ich opisów:
Dopasuj zalety mikrojądra do ich opisów:
Dopasuj cechy serwerów w architekturze mikrojądra do ich funkcji:
Dopasuj cechy serwerów w architekturze mikrojądra do ich funkcji:
Dopasuj powody korzystania z IPC w mikrojądrze do ich korzyści:
Dopasuj powody korzystania z IPC w mikrojądrze do ich korzyści:
Dopasuj funkcje mikrojądra do ich zastosowania:
Dopasuj funkcje mikrojądra do ich zastosowania:
Dopasuj katalogi do ich opisu:
Dopasuj katalogi do ich opisu:
Dopasuj elementy systemu plików do ich funkcji:
Dopasuj elementy systemu plików do ich funkcji:
Dopasuj elementy /proc do ich opisów:
Dopasuj elementy /proc do ich opisów:
Dopasuj polecenia do efektów w systemie Linux:
Dopasuj polecenia do efektów w systemie Linux:
Dopasuj metadane i-węzła do ich typów:
Dopasuj metadane i-węzła do ich typów:
Dopasuj komponenty systemu plików do ich opisów:
Dopasuj komponenty systemu plików do ich opisów:
Dopasuj pytania do odpowiedzi dotyczących /proc:
Dopasuj pytania do odpowiedzi dotyczących /proc:
Dopasuj typy procesów do ich oznaczeń:
Dopasuj typy procesów do ich oznaczeń:
Dopasuj następujące pojęcia z ich definicjami:
Dopasuj następujące pojęcia z ich definicjami:
Dopasuj rodzaje systemów operacyjnych do ich cech:
Dopasuj rodzaje systemów operacyjnych do ich cech:
Dopasuj rodzaje problemów związanych z zawieszaniem się event-handlerów do ich opisów:
Dopasuj rodzaje problemów związanych z zawieszaniem się event-handlerów do ich opisów:
Dopasuj komponenty warstwy jądra do ich funkcji:
Dopasuj komponenty warstwy jądra do ich funkcji:
Dopasuj koncepcje obsługi przerwań do ich definicji:
Dopasuj koncepcje obsługi przerwań do ich definicji:
Dopasuj warstwy systemu operacyjnego do ich zadań:
Dopasuj warstwy systemu operacyjnego do ich zadań:
Dopasuj powody zabraknięcia obsługi przerwań do ich skutków:
Dopasuj powody zabraknięcia obsługi przerwań do ich skutków:
Dopasuj pojęcia związane z funkcjami systemu operacyjnego do ich opisów:
Dopasuj pojęcia związane z funkcjami systemu operacyjnego do ich opisów:
Dopasuj metody unikania problemów z przerwaniami do ich opisów:
Dopasuj metody unikania problemów z przerwaniami do ich opisów:
Dopasuj terminy dotyczące architektury systemu operacyjnego do ich opisów:
Dopasuj terminy dotyczące architektury systemu operacyjnego do ich opisów:
Dopasuj terminy do ich definicji w kontekście przerwań:
Dopasuj terminy do ich definicji w kontekście przerwań:
Dopasuj opis do właściwego komponentu systemu operacyjnego:
Dopasuj opis do właściwego komponentu systemu operacyjnego:
Dopasuj rodzaje przerwań do ich charakterystyki:
Dopasuj rodzaje przerwań do ich charakterystyki:
Dopasuj przyczyny problemów z obsługą przerwań do ich skutków:
Dopasuj przyczyny problemów z obsługą przerwań do ich skutków:
Dopasuj charakterystyki jądra hybrydowego do ich opisów:
Dopasuj charakterystyki jądra hybrydowego do ich opisów:
Dopasuj pojęcia z zakresu przerwań do ich zastosowań:
Dopasuj pojęcia z zakresu przerwań do ich zastosowań:
Flashcards
Planista Dynamicznie Priorytetowy (DPS)
Planista Dynamicznie Priorytetowy (DPS)
Planista, w którym priorytety zadań są dynamicznie zmieniane w zależności od sytuacji. Przykładowo, w sterowaniu maszyną, zadania krytyczne (np. zatrzymanie w sytuacji awaryjnej) mają najwyższy priorytet.
Zastosowanie Planisty DPS
Zastosowanie Planisty DPS
Planista DPS jest używany w systemach czasu rzeczywistego, zarówno miękkiego (soft real-time), jak i twardego (hard real-time).
Planista Share-driven
Planista Share-driven
Planista, w którym zadania dzielą zasoby systemowe w sposób proporcjonalny do ich wymagań. Nie opiera się na sztywnych priorytetach czy interwałach czasowych. Algorytmy optymalizują podział zasobów, aby wszystkie zadania korzystały z nich sprawiedliwie.
Przykład Planisty Share-driven
Przykład Planisty Share-driven
Signup and view all the flashcards
Zastosowanie Planisty Share-driven
Zastosowanie Planisty Share-driven
Signup and view all the flashcards
Modularność jądra
Modularność jądra
Signup and view all the flashcards
Stabilność mikrojądra
Stabilność mikrojądra
Signup and view all the flashcards
Komunikacja międzyprocesowa (IPC)
Komunikacja międzyprocesowa (IPC)
Signup and view all the flashcards
Serwery w mikrojądrze
Serwery w mikrojądrze
Signup and view all the flashcards
Mikrojądro
Mikrojądro
Signup and view all the flashcards
Wada jądra monolitycznego
Wada jądra monolitycznego
Signup and view all the flashcards
Zalety mikrojądra
Zalety mikrojądra
Signup and view all the flashcards
Bezpieczeństwo mikrojądra
Bezpieczeństwo mikrojądra
Signup and view all the flashcards
Win32 subsystem
Win32 subsystem
Signup and view all the flashcards
POSIX.1 subsystem
POSIX.1 subsystem
Signup and view all the flashcards
Dlaczego OS/2 nie odniosło sukcesu na NT?
Dlaczego OS/2 nie odniosło sukcesu na NT?
Signup and view all the flashcards
Interix
Interix
Signup and view all the flashcards
Subsystemy w NT i XP
Subsystemy w NT i XP
Signup and view all the flashcards
HAL (Hardware Abstraction Layer)
HAL (Hardware Abstraction Layer)
Signup and view all the flashcards
NLS (National Language Support)
NLS (National Language Support)
Signup and view all the flashcards
SMP w XP
SMP w XP
Signup and view all the flashcards
System plików /proc
System plików /proc
Signup and view all the flashcards
PID
PID
Signup and view all the flashcards
Plik /proc/PID/cwd
Plik /proc/PID/cwd
Signup and view all the flashcards
Katalog /proc/PID/fd
Katalog /proc/PID/fd
Signup and view all the flashcards
Plik /proc/PID/status
Plik /proc/PID/status
Signup and view all the flashcards
Plik /proc/PID/maps
Plik /proc/PID/maps
Signup and view all the flashcards
System plików ext (POSIX/ext)
System plików ext (POSIX/ext)
Signup and view all the flashcards
I-węzeł
I-węzeł
Signup and view all the flashcards
Dyspozytor (Dispatcher)
Dyspozytor (Dispatcher)
Signup and view all the flashcards
Wielowątkowość
Wielowątkowość
Signup and view all the flashcards
Wielobieżność
Wielobieżność
Signup and view all the flashcards
Skalowalność
Skalowalność
Signup and view all the flashcards
Jądro Hybrydowe
Jądro Hybrydowe
Signup and view all the flashcards
Jądro systemu operacyjnego (Kernel)
Jądro systemu operacyjnego (Kernel)
Signup and view all the flashcards
Mikrojądro (Microkernel)
Mikrojądro (Microkernel)
Signup and view all the flashcards
Warstwa aplikacji użytkownika (User Mode)
Warstwa aplikacji użytkownika (User Mode)
Signup and view all the flashcards
Multitasking w systemach wbudowanych
Multitasking w systemach wbudowanych
Signup and view all the flashcards
Sekwencyjna obsługa przerwań
Sekwencyjna obsługa przerwań
Signup and view all the flashcards
Zablokowanie obsługi przerwań
Zablokowanie obsługi przerwań
Signup and view all the flashcards
Rozwiązania dla zablokowania obsługi przerwań
Rozwiązania dla zablokowania obsługi przerwań
Signup and view all the flashcards
Starvation (głodzenie) zadań
Starvation (głodzenie) zadań
Signup and view all the flashcards
Przepełnienie stosu w obsłudze przerwań
Przepełnienie stosu w obsłudze przerwań
Signup and view all the flashcards
Preempcja przerwań
Preempcja przerwań
Signup and view all the flashcards
Blokowanie pętli głównej w preempcji
Blokowanie pętli głównej w preempcji
Signup and view all the flashcards
Study Notes
Systemy Operacyjne - Podstawy
- System operacyjny to warstwa abstrakcji pomiędzy użytkownikiem a sprzętem komputera
- Usprawnia komunikację i zarządzanie zasobami sprzętowymi przez programy
- Rozwiązuje problemy związane z programowaniem wejścia/wyjścia, formatowaniem danych wyjściowych, integracja z standardowymi urządzeniami, i przetwarzaniem danych
Systemy Operacyjne - Problemy i Wczesne Rozwiązania
- Wczesne programy miały problemy z powtarzalnością i interoperacyjnością
- Niezoptymalizowane metody wejścia/wyjścia i procesorów centralnych (CPU) marnowały czas na oczekiwanie na dane
- Rozwiązania wprowadziły biblioteki do obsługi I/O, oddzielone od procesu przetwarzania
System Operacyjny - Monitory, Kolejki, Dzielenie Systemu
- Potrzeba obsługi wielu użytkowników na jednym komputerze
- Wprowadzono monitory (interfejsy programistyczne) i kolejki, do zarządzania działaniem programów, oraz obsługi wielu użytkowników.
- Automatyzacja była ważna, ponieważ ludzki operator był wolniejszy niż specjalistyczny sprzęt/oprogramowanie.
System Operacyjny - Początek Epoki OS
- Systemy operacyjne pozwoliły na efektywne wykorzystanie sprzętu
- Space Travel - jedna z pierwszych gier, wykorzystana do stworzenie prototypu systemu Unix
- Potem zaimplementowana w FORTRAN (J. Ben) oraz asembler (J. Ben i D. Ritchie)
- PDP-7 -> początek UNIX'a
System Operacyjne - Historia Rozwój Systemów
- 1974: CP/M
- 1981: MS-DOS
- 1984: GNU
- System I (Macinosh) - Mac OS
- 1989: SCO UNIX, WWW
- 1991: Linux kernel
- 1992: Solaris
- 1993: Windows NT 3.1
- Debian GNU/Linux
- 2001: Windows XP
- 2007: iPhone OS (iOS)
- 2008: Google Android
- 2009: Windows 7
- 2012: Windows 8
- 2015: Windows 10
- 2024 : Windows 11
- Donald Knuth - twórca TeX'a, sformułował odpowiednie paradygmaty do tych czasów.
Systemy Operacyjne - Klasyfikacja (wg wielkości, funkcjonalności i aplikacji)
- Superkomputery, Mainframes i systemy rozproszone: obliczenia naukowe
- Serwery: Usługi internetowe i intranet, bazy danych, DNS itp.
- Desktop: Komputery z interfejsem użytkownika (GUI)
- Handhelds: Smartfony, tablety, PDA
- Systemy czasu rzeczywistego (RTOS): lotnictwo, samochody, sterowanie przemysłowe, itp.
- Wbudowane (embedded systems): urządzania z wbudowanymi systemami operacyjnymi: np. ATM, samochody itp.
System Operacyjny dla jednego mikrokontrolera
- Często bez systemu operacyjnego, aplikacja ma pełną kontrolę nad urządzeniem
- Systemy operacyjne czasu rzeczywistego (RTOS) są często używane
Mrugające Diody-Podejścia
- Pierwsze podejście: 4 diody LED podłączone do poszczególnych portów
- Drugie podejście: użycie timera i przerwań do impulsowego mrugania LED'ów
- Trzecie podejście: użycie wielu niezależnych timera i przerwań do jednoczesnego mrugania wielu LED'ów
- Czwarte podejście: użycie RTOS
Co się stanie jeśli jeden event-handler zawiesi się?
- Blokowanie innych przerwań (mogą się nie wykonać)
- Przepełnienie stosu (pamięć procesora może się zablokować)
- Problemy z czasem rzeczywistym (mogą opóźnić inne przerwania)
- Przyczyny: nieskończona pętla, nadmiar operacji w przerwaniu, itd.
Priorytety przerw
- Zależność od czasu odpowiedzi i priorytetu
- Zarządzanie i hierarchizacja zadań, a także dostępem do zasobów, w przypadku wielu zadań
Multitasking
- Kooperacyjny: zadania same oddają procesor
- Wymuszony: system wymusza przełączanie zadań
Systemy Czasu Rzeczywistego (Real-Time Systems)
- Hard Real-Time: Nie dozwolone opóźnienia (np. sterowanie samochodem)
- Firm Real-Time: Opóźnienia dopuszczalne
- Soft Real-Time: Opóźnienia wpływają na jakość (np. gry, multimedia)
Planista (task scheduler)
- Podział czasu procesora (time-sharing)
- Priorytetyzacje zadań
- Zapewnienie terminowości
Systemy Plików FAT (File Allocation Table)
- Sekwencyjny dostęp do plików
- Niska efektywność na dużych plikach
- Mała obsługa metadanych
- Brak uprawnień i wsparcie dla ubogich meta-danych
Systemy Plików Ext2/3/4
- Zaawansowane funkcje systemu plików Unix
- Dobra wydajność i stabilność
- Różnorodne metody JOURNALLING'u
Linux - Hierarchia Katalogów
- /etc: Pliki konfiguracyjne
- /dev: Reprezentuje urządzenia (device)
- /proc: Struktura jądra
- /var: Pliki systemowe i aplikacji z danymi i logami
- /usr: Pliki użytkowników
- /sbin: Aplikacje systemowe
- /bin: Komendy systemowe
Linux - Prawa Dostępów
- Unix-like system plików, reprezentowany za pomocą 3 trójek liczb ósemkowych
- Prawidłowo ustawione uprawnienia chronią dane i zasoby
Linux - Montaż Systemów Plików
- Mechanizmy do łączenia systemu plików z urządzeniami
- Zapewnia dostęp do plików zewnętrznych urządzeń w katalogu systemu
Linux Shell
- Interfejs dla użytkownika do zarządzania systemem
- CLI (Command Line Interface)
- Bourne shell (sh), C shell (csh), Bourne-Again shell (bash) itd.
Android
- System operacyjny z rodziny Linuxa dla smartfonów i tabletów.
- Aplikacje pisane w Javie/Kotlin'ie
- Wirtualna maszyna Dalvik (potem ART)
- Małe, zintegrowane API, obsługuje wiele urządzeń
WinAPI
- Zestaw funkcji programistycznych dostępnych w systemach Windows
- Obsługa okien i innych interfejsów grafiki użytkownika (GUI)
- Bardzo dobry interfejs programistyczny, dla bardzo szerokiego spektrum zadań, i obsługa dużej ilość programów.
Wątki
- Jednostka wykonawcza w procesie
- Równoległość w systemach wieloprocesowych
- Możemy użyć wielu wątków i w zależności od potrzeb
- Mamy dostęp i interfejs do wątków w systemie Linux.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Quiz ten bada podstawowe koncepcje systemów operacyjnych oraz wyzwania, które pojawiły się w ich wczesnej historii. Uczestnicy dowiedzą się o roli systemu operacyjnego w zarządzaniu zasobami sprzętowymi oraz o problemach związanych z interoperacyjnością i optymalizacją. Sprawdź swoją wiedzę na temat różnych interfejsów i zarządzania użytkownikami w systemach operacyjnych.