SO DZIEN 2

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/21

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 10:03 AM on 6/23/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

22 Terms

1
New cards
Jaka jest różnica między jednoprogramowym a wieloprogramowym systemem wsadowym?
  • Jednoprogramowy: Jedno zadanie w pamięci.

  • Wieloprogramowy: Wiele zadań naraz w pamięci, a system operacyjny przełącza procesor między nimi, gdy aktualne zadanie czeka np. na powolne urządzenie we-wy.

2
New cards
Dlaczego powłoka (shell) w Linuxie nie jest uznana za część systemu operacyjnego (jądra)?
Ponieważ działa całkowicie w bezpiecznej przestrzeni użytkownika jako zwykły program aplikacyjny. Komunikuje się z jądrem wyłącznie za pomocą standardowego interfejsu wywołań systemowych.
3
New cards
Czy wpadnięcie procesu w nieskończoną pętlę (np. while(1)) zatrzyma system operacyjny Unix/Linux?
Nie. Współczesne jądra stosują wielozadaniowość z wywłaszczaniem. Zegar systemowy regularnie zgłasza sprzętowe przerwania, co pozwala planiście odebrać procesor zapętlonemu programowi.
4
New cards
Czy możliwe jest przejście procesu ze stanu Oczekującego bezpośrednio do stanu Aktywnego? Jeśli tak, podaj scenariusz.
Nie, to niemożliwe. Proces po wybudzeniu (np. otrzymaniu danych z kontrolera) zawsze trafia najpierw do stanu Gotowego (Ready). Dopiero stamtąd planista krótkoterminowy może przydzielić mu procesor, wprowadzając go w stan Aktywny.
5
New cards
Podaj przykład sytuacji, w której proces będący w stanie aktywnym przechodzi w stan oczekujący.
Sytuacja taka zachodzi, gdy aktywny proces wykonuje synchroniczne (blokujące) żądanie wejścia-wyjścia, na przykład odczyt bloku danych z dysku twardego, i musi zaczekać na sprzętowe przerwanie informujące o dostępności danych.
6
New cards
Czym różni się proces od programu?
Program: Byt statyczny – nieaktywny zbiór instrukcji maszynowych zapisany na dysku. Proces: Byt dynamiczny – program załadowany do pamięci operacyjnej RAM, posiadający przydzielone zasoby i będący w trakcie fizycznego wykonywania przez procesor.
7
New cards
Zinterpretuj kod powrotu z funkcji fork().

< 0: Błąd systemowy (nowy proces potomny nie powstał).

= 0: Kod wykonuje się wewnątrz nowo utworzonego procesu potomnego (dziecka).

> 0: Kod wykonuje się w procesie rodzicielskim, a zwrócona wartość to unikalny numer PID potomka.

8
New cards
Wymień 2 zalety wielowątkowości.
Znacznie krótszy czas tworzenia oraz przełączania kontekstu wątków w porównaniu do pełnych procesów oraz błyskawiczna, bezpośrednia komunikacja przez współdzieloną pamięć RAM w ramach jednego procesu.
9
New cards
Co to jest przełączenie kontekstu (context switch)?
Jest to operacja jądra polegająca na zapisaniu aktualnego stanu rejestrów i licznika rozkazów bieżącego procesu w jego strukturze PCB oraz załadowaniu z innego PCB stanu nowego procesu, przygotowanego do uruchomienia.
10
New cards
Podaj przykład niepowodzenia (fault).
Błąd braku strony w pamięci fizycznej (page fault), który zmusza system do wstrzymania instrukcji i sprowadzenia brakujących danych z dysku do pamięci RAM.
11
New cards
Jak działa operacja s.wait, gdzie s jest semaforem zliczającym?
Operacja ta zmniejsza wartość wewnętrznego licznika semafora o 1. Jeśli uzyskany wynik jest ujemny, proces zostaje natychmiast zablokowany i umieszczony w kolejce oczekujących tego semafora.
12
New cards
Podaj różnicę pomiędzy blokującą a nieblokującą operacją odbioru komunikatu.

Blokująca: Zawiesza działanie procesu do momentu, gdy komunikat fizycznie pojawi się w buforze odbiorczym.

Nieblokująca: Zwraca kontrolę do procesu natychmiast – albo z pobranym komunikatem, albo z informacją (kodem błędu) o jego braku.

13
New cards
Co to jest wywłaszczenie (preemption)?
Mechanizm polegający na przymusowym i mechanicznym odebraniu procesora aktualnie działającemu procesowi przez system operacyjny (np. po przerwaniu zegarowym), bez wiedzy i zgody tego procesu.
14
New cards
Jaka jest funkcja bitu trybu jądra w pozycji tablicy stron?
Określa uprawnienia dostępu, blokując procesom użytkownika możliwość odczytu lub zapisu danej strony pamięci, o ile procesor nie znajduje się w uprzywilejowanym trybie jądra.
15
New cards
Jaka jest różnica pomiędzy algorytmami FIFO a drugiej szansy?

FIFO: Bezwzględnie usuwa stronę, która najdłużej przebywa w pamięci RAM.

Druga szansa: Sprawdza bit odniesienia R najstarszej strony – jeśli wynosi 1, zeruje go i daje stronie kolejną szansę, przesuwając ją na koniec kolejki.

16
New cards
Omów znaczenie bitów D (Dirty) i R (Reference) w tablicy stron.

Bit R (Reference): Ustawiany przy każdym odwołaniu do strony (odczyt/zapis) i służy algorytmom zastępowania stron.

Bit D (Dirty): Ustawiany wyłącznie przy operacji zapisu i informuje system, że zawartość strony została zmodyfikowana i musi zostać zrzucona na dysk przed jej usunięciem z RAM.

17
New cards
Plik w UNIX ma 2KB. Ile bloków indeksowych potrzebuje ten plik?
Dokładnie 0. Przy standardowym rozmiarze bloku (np. 4 KB), plik mieści się w całości w blokach bezpośrednich, których adresy są zapisane bezpośrednio w strukturze i-węzła (inode), bez potrzeby alokowania bloków indeksowych.
18
New cards
Podaj przykład bomby logicznej.
Złośliwy fragment kodu ukryty w legalnym programie kadrowym, który sprawdza obecność identyfikatora konkretnego programisty na liście płac. Jeśli pracownik zostanie zwolniony i jego ID zniknie z bazy danych, bomba aktywuje się i usuwa wszystkie dane z dysków firmy.
19
New cards
Systemy interakcyjne, wsadowe, czasu rzeczywistego (ogólna charakterystyka celów).
Wsadowe: Cel to maksymalizacja przepustowości i optymalne wykorzystanie czasu procesora. Interakcyjne: Cel to minimalizacja czasu reakcji i zapewnienie sprawiedliwego podziału zasobów. Czasu rzeczywistego: Bezwarunkowe dotrzymywanie deadline'ów.
20
New cards
Problem czytelników i pisarzy.

Problem polega na zsynchronizowaniu dostępu do bazy danych tak, aby wielu czytelników mogło z niej korzystać jednocześnie, ale pisarz wprowadzający modyfikacje miał zapewnioną całkowitą, bezpieczną wyłączność bez ryzyka zagłodzenia którejkolwiek ze stron.

21
New cards
Omów, jak działa atak polegający na wstrzyknięciu kodu (code injection).
Polega na wprowadzeniu złośliwych instrukcji programistycznych lub systemowych za pośrednictwem niedostatecznie przefiltrowanych pól danych wejściowych aplikacji w celu zmuszenia interpretera do ich wykonania.
22
New cards

Omów, jak działa atak wykorzystujący przepełnienie bufora (buffer overflow)

Polega na zapisaniu w buforze większej liczby danych niż wynosi jego zadeklarowany rozmiar. Nadmiarowe dane zalewają pamięć i nadpisują sąsiadujący adres powrotu z funkcji wskaźnikiem skierowanym na wstrzyknięty złośliwy kod.