systemy operacyjne Flashcards

(32 cards)

1
Q

wskaż części składowe współczesnego systemu operacyjnego

A
  • zarządzanie procesami
  • zarządzanie pamięcią operacyjną
  • zarządzanie plikami
  • zarządzanie systemami we/wy
  • zarządzanie pamięcią pomocniczą
  • praca sieciowa
  • system ochrony
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

co powołuje i usuwa procesy?

A

system operacyjny

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

do czego służy funkcja systemowa fork?

A

do stworzenia nowego procesu z oddzielną przestrzenią pamięci od procesu nadrzędnego i jest wykonywany jednocześnie z nim

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

do czego służy funkcja systemowa vfork?

A

do stworzenia nowego procesu o tej samej przestrzeni adresowej co proces nadrzędny i zawieszający jego wykonanie do zakończenia swojego działania

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

do czego służy funkcja systemowa execlp?

A

ładuje plik binarny do pamięci, niszcząc obraz pamięci programu zawierającego execlp i rozpoczyna jego wykonywanie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

jakie zasoby dostarcza proces instrukcjom?

A
  • przestrzeń adresowa
  • zasoby stosowane do synchronizacji (np. semafory) i komunikacji (np. gniazda)
  • informacje o otwartych plikach
  • okna systemu GUI
  • inne - np. związane z bezpieczeństwem uprawnienia
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

co to jest proces?

A
  • to środowisko, w którym wykonują się wątki

- reprezentuje aktywność w systemie, ciąg wykonywanych instrukcji

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

co to jest lightweight process?

A

wątek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

co to jest heavyweight process?

A

proces z jednym wątkiem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

z jakich rodzajów segmentów składa się pamięć operacyjna?

A
  • segmentu kodu (tylko do odczytu)
  • segmentu sterty
  • segmentu stosu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

co zawiera segment kodu pamięci operacyjnej?

A

instrukcje, które będą wykonywane

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

co zawiera segment sterty pamięci operacyjnej?

A

dynamicznie alokowane struktury

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

co zawiera segment stosu pamięci operacyjnej?

A

między innymi zmienne lokalne, parametry wywołań funkcji, adresy powrotów z funkcji

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

co się dzieje, jeżeli instrukcja odwołuje się do nieprzydzielonych sobie adresów pamięci?

A

system operacyjny zgłasza błąd general protection fault, segmentation fault

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

jak dzielone są segmenty pamięci przydzielone do procesów?

A

dzielone są na strony pamięci wirtualnej (zazwyczaj 4KB)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

w jaki sposób mapowana na pamięć fizyczną jest strona pamięci wirtualnej?

A

mapowana jest na obszary - ramki

17
Q

czy strony pamięci wirtualnej mogą być dzielone przez wiele procesów?

18
Q

wątki mogą korzystać z tych samych instrukcji w związku z tym dzielą…

A

segment kodu należący do procesu

19
Q

dlaczego wątki mogą modyfikować stertę?

A

ponieważ mogą rezerwować pamięć dynamicznie

20
Q

co znaczy, że funkcja jest reentrantna?

A

że jest bezpieczna wątkowo

21
Q

czy wątki mogą korzystać ze wspólnego stosu?

A

nie - gdyż każdy wątek może być w zupełnie innej części kodu, wywoływać inne funkcje i mieć inny zbiór zmiennych lokalnych

22
Q

na czym polega przeplot w aplikacjach wielowątkowych?

A

aplikacje nie próbują wykorzystywać tych samych zasobów w tym samym czasie

23
Q

co to jest SMP?

A

Symmetric Multi Processing - wieloprocesorowość symetryczna - architektura komputerowa pozwalająca na wykorzystanie większej liczby procesorów do jednoczesnego wykonywania zadań, przy wykorzystaniu współdzielonej pamięci i urządzeń we/wy

24
Q

co to jest MPP?

A

Massively Parallel Processing - masowe przetwarzanie równoległe - architektura komputerowa pozwalająca na wykorzystanie większej liczby procesorów do jednoczesnego wykonywania zadań, przy czym każdy procesor dysponuję własną pamięcią operacyjną, kopią OS i używanych aplikacji

25
wskaż typowe rozwiązania architekturalne serwerów wielowątkowych
- wątek dla klienta / połączenia (podatne na DOS) - wątek dla żądania (podatne na DOS) - wątek w obiektach (obiekty realizujące żądania mają własne wątki) - pula wątków (serwer posiada ustaloną liczbę wątków, a żądania są kolejkowane)
26
jakie wady ma implementacja wątków na poziomie użytkownika?
- wątki działają na jednym procesorze, który został przydzielony przez system do procesu (bo OS widzi proces jako całość) - zablokowanie jednego wątku blokuje cały proces (bo OS widzi proces jako całość) - szeregowanie wątków działa w ramach procesu, więc nie można ich koordynować z innymi procesami
27
jakie zalety ma implementacja wątków na poziomie systemu?
- wątki mogą działać na różnych procesorach, gdyż system każdemu może przydzielić inne zasoby obliczeniowe; - zablokowanie wątku nie jest równoznaczne z zablokowaniem procesu, gdyż OS widzi poszczególne z nich; - OS może szeregować wątki procesu z wątkami z innych procesów;
28
jakie zalety ma implementacja wątków na poziomie użytkownika?
- przełączanie pomiędzy wątkami i synchronizacji może być szybsza, gdyż nie muszą czekać na zakolejkowanie przez OS - użytkownik może zmieniać strategie szeregowania wątków; - aplikacje są bardziej uniwersalne (przenoszalne pomiędzy OS)
29
czym jest standard POSIX?
Portable Operating System Interface for Unix; standard opisujący API i interfejs użytkownika z podstawowymi poleceniami dla systemu Unix (i innych go implementujących); obejmuje m.in.: - tworzenie, nadzorowanie, usuwanie wątków; - szeregowanie i synchronizację wątków; - obsługę sygnałów;
30
co znaczy API?
Application Programming Interface
31
do czego służy metoda pthread_create?
tworzy i uruchamia wątek o prototypie przekazanym do niej jako parametr; zwraca identyfikator utworzonego wątku (typu pthread_t);
32
czy można wiązać logiką aplikacji ze zmienną typu pthread_t?
nie - jej struktura powiązana z implementacją biblioteki w danym systemie;