Systemy Operacyjne - Podstawy i Problemy
43 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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:

Dynamic-Priority Scheduler (DPS) = Sterowanie maszyną w fabryce Planista Share-driven = Aplikacje działające na serwerach

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:

<p>Dynamic-Priority Scheduler (DPS) = Zarządzanie zadaniami o różnych priorytetach Planista Share-driven = Koordynowanie przetwarzania danych w aplikacjach</p> Signup and view all the answers

Dopasuj wersje systemów Windows do ich dat wydania:

<p>NT3.1 = 1993 r. NT4.0 = 1996 r. Windows 3.x = 1990 r. Windows XP = 2001 r.</p> Signup and view all the answers

Dopasuj typy subsystemu w Windows do ich funkcji:

<p>Win32 = Główna część dla programistów POSIX = Zgodność z systemami Unix OS/2 API = Naturalny interfejs, usunięty w XP Interix = Wsparcie dla POSIX w Windows</p> Signup and view all the answers

Dopasuj składniki Interix do ich funkcji:

<p>Kompilator GCC = Zawiera narzędzia do kompilacji C/C++ GNU Debugger = Narzędzie do debugowania programów Unix utilities = Zestaw ponad 350 narzędzi Unix X11 client applications = Aplikacje klienckie do X11</p> Signup and view all the answers

Dopasuj cechy Windows XP do ich opisów:

<p>Wsparcie NLS API = Obsługuje różne języki w systemie SMP = Symmetrical multiprocessing Kompatybilność Win32 = Zgodność wstecz z Win9x Niezawodność = Lepsza ochrona zasobów</p> Signup and view all the answers

Dopasuj komponenty Windows do ich funkcji operacyjnych:

<p>HAL DLL = Abstrakcja sprzętowa dla różnorodnych architektur User-mode subsystemy = Zarządzają interakcją z użytkownikiem Kernel-mode = Zarządzanie zielonymi zasobami systemowymi Processes protection = Ochrona przed złośliwym oprogramowaniem</p> Signup and view all the answers

Dopasuj terminy do ich definicji:

<p>Multiprocessing = Wielowątkowość na poziomie sprzętowym Setuid files = Pliki z uprawnieniami roota w Unix Shared libraries = Współdzielone biblioteki w systemie Job control = Zarządzanie zadaniami w systemie</p> Signup and view all the answers

Dopasuj problemy związane z NT do ich opisów:

<p>Skomplikowane tworzenie sterowników = Niska popularność względem 9x Mała popularność = Spowodowana złożonością programowania Windows Services for UNIX = Zamiennik dla POSIX w NT Wrogowie NT = Mówią 'Not Today, Not Tomorrow, but Nice Try'</p> Signup and view all the answers

Dopasuj formaty komunikacji w Windows XP do ich typów:

<p>Signals = Wysyłanie sygnałów między procesami Sockets = Interakcja między aplikacjami sieciowymi Shared memory = Współdzielona pamięć operacyjna Job control = Zarządzanie procesami w tle</p> Signup and view all the answers

Dopasuj cechy jądra monolitycznego do ich opisów:

<p>Brak izolacji między komponentami = Błędy mogą wpływać na cały system Szeroka kompatybilność = Łatwa obsługa urządzeń Trudności w modyfikacji = Wymaga rekompilacji całego jądra Zagrożenie stabilności = Błędy w sterownikach mogą powodować awarie</p> Signup and view all the answers

Dopasuj podstawowe funkcje mikrojądra do ich opisów:

<p>Zarządzanie procesami = Przełączanie kontekstu Komunikacja między procesami = IPC Obsługa przerwań sprzętowych = Reakcja na zdarzenia sprzętowe Realizacja kluczowych funkcji = Minimalna architektura jądra</p> Signup and view all the answers

Dopasuj warstwy architektury mikrojądra do ich funkcji:

<p>Mikrojądro = Realizuje kluczowe funkcje w trybie jądra Serwery = Obsługują funkcje w trybie użytkownika Aplikacje = Komunikują się z mikrojądrem i serwerami Komunikacja IPC = Umożliwia wymianę danych między procesami</p> Signup and view all the answers

Dopasuj zalety mikrojądra do ich opisów:

<p>Stabilność = Awaria jednego procesu nie wpływa na inne Modularność = Łatwość w modyfikacji systemu Bezpieczeństwo = Ograniczenie dostępu do krytycznych funkcji Izolacja komponentów = Zwiększa odporność systemu na błędy</p> Signup and view all the answers

Dopasuj cechy serwerów w architekturze mikrojądra do ich funkcji:

<p>Obsługa plików = Zarządzanie danymi na dysku Obsługa urządzeń = Interakcja z sprzętem Stos sieciowy = Zarządzanie komunikacją sieciową Izolacja = Pracują jako oddzielne procesy</p> Signup and view all the answers

Dopasuj powody korzystania z IPC w mikrojądrze do ich korzyści:

<p>Stabilność systemu = Izolacja błędów Modularność = Możliwość aktualizacji serwerów Bezpieczeństwo = Ograniczenie dostępu do jądra Efektywność = Szybsza komunikacja między procesami</p> Signup and view all the answers

Dopasuj funkcje mikrojądra do ich zastosowania:

<p>Przełączanie kontekstu = Zarządzanie procesami Komunikacja IPC = Wymiana informacji Zarządzanie przerwaniami = Reagowanie na zdarzenia Minimalizm = Ograniczenie funkcji do podstawowych</p> Signup and view all the answers

Dopasuj katalogi do ich opisu:

<p>/proc = Wirtualny system plików umożliwiający dostęp do informacji o procesach i systemie /sys = Wirtualny system plików dla informacji o urządzeniach /dev = Katalog urządzeń, np. dysków, napędów CD ./ = Bieżący katalog roboczy procesu</p> Signup and view all the answers

Dopasuj elementy systemu plików do ich funkcji:

<p>i-node = Struktura przechowująca metadane pliku katalog = Plik zawierający odnośniki do i-node'ów i nazw plików plik regularny = Typ pliku, który przechowuje dane użytkownika link symboliczny = Odnośnik do innego pliku lub katalogu</p> Signup and view all the answers

Dopasuj elementy /proc do ich opisów:

<p>cwd = Symboliczny link do bieżącego katalogu roboczego procesu exe = Link do wykonywalnego pliku procesu environ = Zmienne środowiskowe procesu status = Szczegółowe dane o stanie procesu, jego PID, PPID, zasobach</p> Signup and view all the answers

Dopasuj polecenia do efektów w systemie Linux:

<p>Ctrl+Alt+Del = Natychmiastowe uruchomienie komputera bez odmontowania systemów plików rm = Usunięcie pliku, zmniejszające licznik w i-node mount = Przykładowa komenda do montowania systemu plików chmod = Zmiana praw dostępu do pliku</p> Signup and view all the answers

Dopasuj metadane i-węzła do ich typów:

<p>rozmiar pliku = Informacja o wielkości pliku UID i GID = Właściciel i grupa pliku daty = Informacje o utworzeniu, modyfikacji i ostatnim dostępie do pliku liczba dowiązań = Ilość linków do danego pliku w katalogach</p> Signup and view all the answers

Dopasuj komponenty systemu plików do ich opisów:

<p>bloki = Podstawowe jednostki przechowywania danych na dysku partycja = Logiczny podział przestrzeni dyskowej katalog = Plik zawierający strukturę nagłówkową metadane = Dane opisujące właściwości pliku</p> Signup and view all the answers

Dopasuj pytania do odpowiedzi dotyczących /proc:

<p>Czy pliki w /proc istnieją na dyskach? = Nie, są to pliki czysto wirtualne Jak modyfikacja plików w /proc wpływa na system? = Zmienia parametry jądra Czy /proc zawiera informacje o procesach? = Tak, każdy proces ma swój katalog w /proc Czym są pliki tekstowe w /proc? = Zawierają informacje w formacie czytelnym dla użytkownika</p> Signup and view all the answers

Dopasuj typy procesów do ich oznaczeń:

<p>PPID = Identyfikator rodzica procesu PID = Identyfikator procesu fd/ = Katalog z odnośnikami do otwartych plików maps = Informacje o mapowaniu pamięci procesu</p> Signup and view all the answers

Dopasuj następujące pojęcia z ich definicjami:

<p>Dyspozytor = Odpowiada za przełączanie procesora między zadaniami Wielowątkowość = Możliwość wykonywania wielu zadań w ramach jednego procesu Wielobieżność = Możliwość przerwania wykonywania procesu i powrotu do kontynuacji Skalowalność = Możliwość powiększania systemu</p> Signup and view all the answers

Dopasuj rodzaje systemów operacyjnych do ich cech:

<p>System z jądrem monolitycznym = Wszystkie funkcje działają w trybie jądra System z jądrem hybrydowym = Łączy cechy jądra monolitycznego i mikrojądra System z mikrojądrem = Minimalna część jądra odpowiadająca za podstawowe funkcje Jądro hybrydowe = Zachowuje wysoką wydajność jądra monolitycznego</p> Signup and view all the answers

Dopasuj rodzaje problemów związanych z zawieszaniem się event-handlerów do ich opisów:

<p>Blokada innych przerwań = Procesor nie obsługuje innych przerwań. Przepełnienie stosu = Nie zwolnienie kontekstu może prowadzić do problemów. Starvation = Brak możliwości obsługi różnych zadań. Wprowadzenie limitów czasowych = Ograniczenie czasu pracy w obsłudze przerwań.</p> Signup and view all the answers

Dopasuj komponenty warstwy jądra do ich funkcji:

<p>Executive = Zarządzanie pamięcią i procesami VM = Zarządzanie pamięcią w trybie jądra Process Manager = Obsługa procesów w systemie I/O Manager = Obsługa wejścia/wyjścia</p> Signup and view all the answers

Dopasuj koncepcje obsługi przerwań do ich definicji:

<p>Preempcja = Przerwania o wyższym priorytecie mogą przerywać te o niższym. Obsluga przerwań = Kod wywoływany w odpowiedzi na zdarzenia. RTOS = System operacyjny umożliwiający monitorowanie czasu zadań. Multitasking = Równoczesne wykonywanie różnych zadań.</p> Signup and view all the answers

Dopasuj warstwy systemu operacyjnego do ich zadań:

<p>Warstwa aplikacji użytkownika = Obsługuje aplikacje i podsystemy użytkownika Logon = Obsługa uwierzytelniania i logowania użytkowników Warstwa jądra = Wykonuje funkcje systemowe w trybie jądra Mikrojądro = Odpowiada za podstawowe funkcje jak przełączanie kontekstu</p> Signup and view all the answers

Dopasuj powody zabraknięcia obsługi przerwań do ich skutków:

<p>Zawieszony event-handler = Procesor nie wraca do pętli głównej. Długotrwała obsługa przerwania = Inne przerwania nie będą mogły być obsłużone. Zawiszajacy event-handler = Stale przełączanie między różnymi przerwaniami. Niepoprawna konfiguracja = Możliwość blokowania innych zadań.</p> Signup and view all the answers

Dopasuj pojęcia związane z funkcjami systemu operacyjnego do ich opisów:

<p>Zarządzanie pamięcią = Przydzielanie i zwalnianie pamięci dla procesów Obsługa procesów = Tworzenie, zarządzanie i kończenie procesów Komunikacja między procesami = Umożliwia wymianę danych między procesami Obsługa przerwań = Reagowanie na zewnętrzne sygnały w systemie</p> Signup and view all the answers

Dopasuj metody unikania problemów z przerwaniami do ich opisów:

<p>Minimizacja pracy w obsłudze przerwań = Delegowanie ciężkich zadań do pętli głównej. Wprowadzenie limitów czasowych = Ograniczenie maksymalnego czasu jednego wywołania. Użycie systemu RTOS = Monitorowanie czasu wykonywania zadań. Optymalizacja kodu = Zwiększenie efektywności obsługi przerwań.</p> Signup and view all the answers

Dopasuj terminy dotyczące architektury systemu operacyjnego do ich opisów:

<p>Tryb jądra = Wykonywanie operacji z pełnym dostępem do zasobów systemowych Tryb użytkownika = Wykonywanie aplikacji z ograniczonym dostępem do zasobów Modularność = Elastyczność w dodawaniu nowych funkcji do systemu Wydajność = Szybkie wykonywanie podstawowych funkcji systemowych</p> Signup and view all the answers

Dopasuj terminy do ich definicji w kontekście przerwań:

<p>Starvation = Utrata możliwości obsługi zadań. Event-handler = Funkcja reagująca na zdarzenia. Kontekst = Stan rejestrów do zapisu na stosie. Przepełnienie = Stan, gdy stos nie ma miejsca na nowe dane.</p> Signup and view all the answers

Dopasuj opis do właściwego komponentu systemu operacyjnego:

<p>Jądro systemu operacyjnego = Podstawowa część odpowiedzialna za zarządzanie zasobami Podsystemy użytkownika = Tłumaczą żądania użytkownika na operacje zrozumiane przez jądro Moduły jądra = Dodatkowe usługi realizowane w trybie użytkownika Warstwa aplikacji = Zawiera aplikacje i interfejsy API dla użytkownika</p> Signup and view all the answers

Dopasuj rodzaje przerwań do ich charakterystyki:

<p>Przerwanie wewnętrzne = Sygnały generowane przez komponenty systemu. Przerwanie zewnętrzne = Sygnały generowane przez zewnętrzne urządzenia. Przerwanie czasowe = Wywoływane po określonym czasie. Przerwanie programowe = Wywoływane przez wykonanie odpowiednich instrukcji.</p> Signup and view all the answers

Dopasuj przyczyny problemów z obsługą przerwań do ich skutków:

<p>Zbyt długa obsługa przerwania = Inne przerwania nie będą mogły być obsłużone. Zawieszony event-handler = System może przestać działać. Niepoprawna konfiguracja przerwań = Nawet wyższe priorytety mogą być zablokowane. Brak preempcji = Możliwość zawieszenia całego systemu.</p> Signup and view all the answers

Dopasuj charakterystyki jądra hybrydowego do ich opisów:

<p>Wysoka wydajność = Działa w trybie jądra dla podstawowych funkcji Modularność = Dodatkowe funkcje działają jako osobne moduły Elastyczność = Zwiększona możliwość dostosowania systemu do potrzeb Integracja = Łączy cechy różnych typów jąder w jednym systemie</p> Signup and view all the answers

Dopasuj pojęcia z zakresu przerwań do ich zastosowań:

<p>Event-handler = Funkcja przeznaczona do obsługi przerwań. Przepełnienie stosu = Problem związany z nadmiernym zwiększeniem pamięci. RTOS = System operacyjny stosowany w systemach wbudowanych. Preempcja = Mechanizm pozwalający na przerywanie pracujących zadań.</p> Signup and view all the answers

Flashcards

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

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, 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 zastosowania planisty Share-driven to przydzielanie pasma w sieci komputerowej. Każde zadanie (np. przesyłanie danych) otrzymuje odpowiedni "udział" pasma.

Signup and view all the flashcards

Zastosowanie Planisty Share-driven

Planista Share-driven jest stosowany w systemach, gdzie zasoby są współdzielone między wieloma zadaniami, np. w systemach multimedialnych lub aplikacjach działających na serwerach.

Signup and view all the flashcards

Modularność jądra

Pozwala na łatwe dodawanie nowych funkcji i sterowników bez potrzeby rekompilacji całego jądra.

Signup and view all the flashcards

Stabilność mikrojądra

Komponenty systemu są izolowane w różnych procesach, dzięki czemu awaria jednego nie wpływa na inne.

Signup and view all the flashcards

Komunikacja międzyprocesowa (IPC)

Umożliwia wymianę danych między serwerami, aplikacjami i mikrojądrem. Serwer to oddzielny proces.

Signup and view all the flashcards

Serwery w mikrojądrze

Odpowiedzialne za obsługę funkcji systemowych, takich jak zarządzanie plikami, obsługa urządzeń, czy stos sieciowy.

Signup and view all the flashcards

Mikrojądro

Wykonuje tylko podstawowe funkcje systemowe, takie jak przełączanie kontekstu, komunikacja IPC i zarządzanie przerwaniami.

Signup and view all the flashcards

Wada jądra monolitycznego

Każdy błąd w kodzie jądra może spowodować awarię całego systemu.

Signup and view all the flashcards

Zalety mikrojądra

Jądro jest bardziej stabilne, ponieważ funkcje systemowe są izolowane od siebie.

Signup and view all the flashcards

Bezpieczeństwo mikrojądra

Mikrojądro koncentruje się na minimalizacji kodu w trybie jądra, co czyni go bardziej bezpiecznym.

Signup and view all the flashcards

Win32 subsystem

Wewnątrz NT i XP OS, Win32 jest główną częścią odpowiedzialną za interakcję z programem i systemem.

Signup and view all the flashcards

POSIX.1 subsystem

POSIX.1 to interfejs API (Application Programming Interface) dedykowany dla systemów Unix. Jest dostępny w NT i XP.

Signup and view all the flashcards

Dlaczego OS/2 nie odniosło sukcesu na NT?

OS/2 API było pierwotnie planowane jako standard dla Windows NT, ale ostatecznie Win32 wygrało ze względu na popularność Windows 3.x. OS/2 został usunięty z XP.

Signup and view all the flashcards

Interix

Interix to technologia wspierająca POSIX w Windows NT i XP.

Signup and view all the flashcards

Subsystemy w NT i XP

W Windows NT i XP, POSIX i Win32 działają jako warstwy użytkownika (user-mode), nad rdzeniem systemu.

Signup and view all the flashcards

HAL (Hardware Abstraction Layer)

HAL to warstwa abstrakcji sprzętowej (Hardware Abstraction Layer). Jest ona odpowiedzialna za adaptację kodu systemu do specyfiki procesora.

Signup and view all the flashcards

NLS (National Language Support)

Wsparcie dla języków w XP, NLS (National Language Support) ułatwia integrację różnych języków w jednym systemie.

Signup and view all the flashcards

SMP w XP

XP był zaprojektowany z myślą o wieloźródłowych procesorach (SMP - symmetrical multiprocessing).

Signup and view all the flashcards

System plików /proc

Wirtualny system plików w Linuksie, dostępny pod katalogiem /proc. Zawiera informacje o procesach, jądrze i parametrach systemowych. Dostęp do informacji następuje poprzez pliki, które są czysto wirtualne, nie istnieją fizycznie na dysku.

Signup and view all the flashcards

PID

Identyfikator procesu (Process ID). Jest unikalnym numerem przypisanym każdemu procesowi uruchomionemu w systemie operacyjnym.

Signup and view all the flashcards

Plik /proc/PID/cwd

Plik w systemie plików /proc, który zawiera symboliczny link do bieżącego katalogu roboczego procesu.

Signup and view all the flashcards

Katalog /proc/PID/fd

Katalog w systemie plików /proc, który zawiera linki do otwartych plików przez proces.

Signup and view all the flashcards

Plik /proc/PID/status

Plik w systemie plików /proc, który zawiera informacje o stanie procesu.

Signup and view all the flashcards

Plik /proc/PID/maps

Plik w systemie plików /proc, który zawiera informacje o mapowaniu pamięci procesu.

Signup and view all the flashcards

System plików ext (POSIX/ext)

System plików, który jest używany przez Linuxa i inne systemy Uniksowe. Dane przechowywane są w blokach na dysku, a każdy plik jest reprezentowany przez i-węzeł.

Signup and view all the flashcards

I-węzeł

Struktura danych w systemie plików ext, która zawiera kluczowe informacje o pliku. Nie zawiera nazwy pliku.

Signup and view all the flashcards

Dyspozytor (Dispatcher)

Komponent systemu operacyjnego, który zarządza przełączaniem procesora pomiędzy różnymi zadaniami, zapewniając płynne działanie wielu programów jednocześnie.

Signup and view all the flashcards

Wielowątkowość

Możliwość wykonywania wielu zadań (wątków) w ramach jednego procesu. Wątki to lekkie jednostki wykonawcze, które dzielą przestrzeń adresową z innymi wątkami w tym samym procesie.

Signup and view all the flashcards

Wielobieżność

Możliwość bezpiecznego przerwania wykonywania procesu (przez wykonanie tego samego procesu od początku) a następnie powrócenie do jego kontynuacji. Proces może zostać wstrzymany (np. zapisując jego stan), aby inne zadania mogły być wykonywane, a następnie wznowiony, gdy procesor ponownie stanie się dostępny.

Signup and view all the flashcards

Skalowalność

Możliwość powiększania systemu bez znacznego pogorszenia jego wydajności. System skalowalny łatwo dostosowuje się do zwiększonej ilości danych lub użytkowników.

Signup and view all the flashcards

Jądro Hybrydowe

Model jądra systemów operacyjnych, charakteryzujący się wysoką wydajnością dzięki umieszczeniu podstawowych funkcji w trybie jądra. Dodatkowe usługi realizowane są jako osobne moduły działające w trybie użytkownika.

Signup and view all the flashcards

Jądro systemu operacyjnego (Kernel)

Główna część systemu operacyjnego, zarządzająca wszystkimi jego zadaniami.

Signup and view all the flashcards

Mikrojądro (Microkernel)

Minimalna część jądra systemu operacyjnego, odpowiedzialna za podstawowe funkcje, takie jak przełączanie kontekstu, obsługa przerwań i komunikacja między procesami.

Signup and view all the flashcards

Warstwa aplikacji użytkownika (User Mode)

Warstwa systemów operacyjnych, w której działają aplikacje użytkownika, w tym podsystemy, które odpowiadają za tłumaczenie żądań użytkownika na operacje rozumiane przez jądro.

Signup and view all the flashcards

Multitasking w systemach wbudowanych

W systemach wbudowanych, multitasking polega na zarządzaniu wieloma zadaniami za pomocą przerwań (interrupt). Każde przerwanie działa jak osobny blok kodu, który jest wykonywany w momencie wystąpienia zdarzenia, np. gdy timer osiągnie określoną wartość.

Signup and view all the flashcards

Sekwencyjna obsługa przerwań

Przerwania są obsługiwane sekwencyjnie, jedno po drugim. Każde przerwanie jest wykonywane w całości przed rozpoczęciem kolejnego, o ile nie zostanie przerwane przez przerwanie o wyższym priorytecie.

Signup and view all the flashcards

Zablokowanie obsługi przerwań

Jeśli obsługa przerwania się zawiesi (np. wejdzie w nieskończoną pętlę), procesor pozostanie w tej funkcji, blokując obsługę innych przerwań, nawet tych o wyższym priorytecie. W rezultacie system może przestać działać poprawnie, a inne zadania nie będą mogły być wykonane.

Signup and view all the flashcards

Rozwiązania dla zablokowania obsługi przerwań

Aby zapobiec blokowaniu obsługi przerwań, można wprowadzić limity czasowe (np. czasowe przerwania) dla obsługi przerwań, zminimalizować ilość pracy wykonywanej w funkcji obsługi przerwania lub zastosować system RTOS do monitorowania czasu obsługi zadań.

Signup and view all the flashcards

Starvation (głodzenie) zadań

W systemach wbudowanych, gdy mechanizm przerwań nie jest poprawnie skonfigurowany, system może przestać działać zgodnie z założeniami, powodując tzw. "starvation" (głodzenie) innych zadań.

Signup and view all the flashcards

Przepełnienie stosu w obsłudze przerwań

Każde przerwanie powoduje zapisanie kontekstu (stan rejestrów i inne dane) na stosie. Jeśli funkcja obsługi przerwania się zawiesi, procesor może nie zwolnić stosu, co powoduje jego przepełnienie, szczególnie jeśli pojawiają się kolejne przerwania.

Signup and view all the flashcards

Preempcja przerwań

Jeśli w systemie wbudowanym, przerwanie o wyższym priorytecie może przerwać przerwanie o niższym priorytecie, to nazywamy to preempcją.

Signup and view all the flashcards

Blokowanie pętli głównej w preempcji

W systemie z preempcją, nawet jeśli obsługa przerwania o niskim priorytecie się zawiesi, system nadal może obsługiwać przerwania o wyższym priorytecie. Jednak funkcja pętli głównej lub inne zadania systemowe mogą zostać zablokowane, ponieważ procesor stale przełącza się między przerwaniami, ignorując resztę kodu.

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.

Quiz Team

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.

More Like This

Use Quizgecko on...
Browser
Browser