Ogólnie Spis treści Co to jest system operacyjny i jakie są jego podstawowe zadania ? 1



Pobieranie 287.1 Kb.
Strona1/5
Data18.06.2016
Rozmiar287.1 Kb.
  1   2   3   4   5


Systemy Operacyjne
ogólnie

Spis treści




1. Co to jest system operacyjny i jakie są jego podstawowe zadania ? 1

2. Wyjaśnij pojęcia buforowanie i spooling. 1

3. Przerwanie sprzętowe. 2

4. Wieloprogramowość 2

5. Co to są systemy rozproszone? 3

6. System operacyjny czasu rzeczywistego. 4

7. Podstawowe własności systemu operacyjnego. 4

8. Opisz jak w systemach operacyjnych wygląda przesyłanie danych sterowane przerwaniami i z wykorzystaniem mechanizmu DMA? 4

9. Jak wygląda sprzętowa ochrona w systemach operacyjnych. Na czym polega dualny tryb pracy procesora? 5

10. Struktura systemu operacyjnego na przykładzie MS DOS i Unix. 6

11. Jakie funkcjonalne moduły można wyróżnić w systemie operacyjnym. Omów każdy z nich i wymień realizowane przez nie zadania. 6

12. Co to jest proces? Omówić proces sekwencyjny i pojęcie stanu procesu. 8

13. Na czym polega współbieżne wykonywanie procesów? Zalety tego podejścia. 9

14. Procesy niezależne, a współpracujące. Procesy lekkie (wątki). 9

15. Jakiego typu kolejki planowania związane są z obsługą procesów? 10

16. Podstawowe typy planistów obsługi kolejek procesów. 10

17. Co to jest cykl zatrudnień procesor-urządzenie? Omów jego związek z algorytmem planowania. 11

18. Na czym polega różnica pomiędzy wywłaszczeniowym a niewywłaszczeniowym schematem planowania? 12

19. Przełączanie kontekstu a program koordynujący. 12

20. Kryteria oceny algorytmów planowania. 12

21. Podstawowe algorytmy planowania. 13

Uwaga!!! Odpowiedzi na pytania 22 i 23 są umieszczone w jednym punkcie gdyż ściśle wiążą się ze sobą. 14

22.Na podstawie dowolnego przykładu sformułować problem producent - konsument. 14

23. Co to jest przeplot? Przedstawić problemy wynikające z przeplotu przy współbieżnym wykonywaniu procesów. 14

24. Co to jest sekcja krytyczna i na czym polega jej rozwiązanie? 16

25. i 26. Omówić problem wzajemnego wykluczania oraz własności żywotności procesów (blokada, zagłodzenie). Przedstawić dowolną próbę rozwiązania problemu wzajemnego wykluczania. Omów jej wady i zalety. Wykaż, że jest poprawna lub błędna. 17

27. Omów algorytm Dekkera rozwiązujący problem wzajemnego wykluczania się (dla dwóch procesów). 18

28. Omów pojęcie semafora i podstawowe operacje na nim. 19

29. Wykorzystaj semafor do rozwiązania problemu wzajemnego wykluczania w wersji dla n procesów. 20

30. Sformułuj problem pięciu filozofów i zaproponuj jego rozwiązanie przy użyciu semaforów. Przeanalizuj jego poprawność. 21

31. Co to jest monitor wykorzystywany do synchronizacji procesów? 21

32. Omów podstawowe metody komunikacji międzyprocesowej. 22

33. W jaki sposób realizowana jest komunikacja międzyprocesowa w WINDOWS 3.1? Co to jest DDE? Omów zasadę pracy. 22

34. Co to jest blokada w systemie operacyjnym? Omów warunki konieczne jej powstania. 22

35. Omów metody zpobiegania blokadom. 23

36. Scharakteryzuj krótko algorytm bankiera unikania blokady. 23

37. Wymień podstawowe cele zarządzania pamięcią operacyjną. 24

38. Co to jest przestrzeń adresów, przestrzeń pamięci oraz pamięć wirtualna? 24

39. Omów implemętację pamięci wirtualnej w oparciu o stronicowanie pamięci. 24

40. Na czym polega segmentacja pamięci ? Jak wykorzystać ją do implementacji pamięci wirtualnej ? 24

41. Wymień podstawowe cele zarządzania pamięcią operacyjną. 26

42. Omów podstawowe strategie przydziału pamięci. 26

43. Omów problemy związane z fragmentacją zewnętrzną i wewnętrzną 27

44. Jakie znasz strategie pobierania z pamięci pomocniczej? 27

45. Omów mechanizmy procesora INTEL 80386 i wyżej do zarządzania pamięcią wirtualną. 28

46. Opisz model zbioru roboczego w zarządzaniu pamięcią operacyjną. Co to jest szamotanie? 28

47. Co to jest plik, jakie ma właściwości i jakie podstawowe operacje są wykonywane na plikach? 29

48. Omów zasady współużytkowania i ochrony informacji w systemie operacyjnym. 29

49. Na czym polega organizacja pamięci pomocniczej? Wymień jej podstawowe formy. 31

50. Omów poznane metody dostępu do pliku. 33

51. Omów poznane metody przydziału miejsca na dysku. 33

52. Opisz poznane metody planowania dostępu do dysku. 34

53. Opisz podstawowe cechy systemu operacyjnego Unix. 34

54. Jakie funkcje realizuje interfejs programisty systemu Unix? Omów zasadę tworzenia i usuwania procesów. 35

55. Jakie funkcje pełni w systemie Unix interfejs użytkownika. 36

56. Omów zarządzanie pamięcią realizowane w systemie Unix. 37

57. Zarządzanie procesami w systemie Unix. 38

58. Komunikacja międzyprocesowa w systemie Unix. 39

1. Co to jest system operacyjny i jakie są jego podstawowe zadania ?

Najogólniej system operacyjny można określić jako pośrednika między użytkownikiem a sprzętem komputerowym. S.O. jest ważną częścią prawie każdego systemu komputerowego, który składa się z elementów:

- sprzęt (procesor, pamięć, urządzenia we-wy) stanowi podstawowe zasoby systemu komputerowego

- programy użytkowe (kompilatory, bazy danych - oprogramowanie + dane ) określają sposoby użycia powyższych zasobów

- użytkownicy

Podstawowym celem S.O. jest spowodowanie aby system komputerowy był wygodny w użyciu, drugim celem jest wydajna eksploatacja sprzętu komputerowego. S.O. nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy użytkowe ( pracujące na zlecenie różnych użytkowników ), dostarcza środków do prawidłowego użycia zasobów (sprzęt, oprogramowanie, dane) w działającym systemie komputerowym przydzielając je poszczególnym programom i użytkownikom, gdy są one niezbędne do wykonania ich zadań. Może się zdarzyć (dość często) że zaistnieje konflikt zamówień na zasoby, a więc S.O. musi zdecydować o przydziale zasobów poszczególnym zamawiającym, tak aby działanie całego systemu komputerowego było wydajne.

Jeżeli chcemy zdefiniować S.O. od strony sterowania różnymi urządzeniami we-wy i programami użytkownika to S.O. będzie programem sterującym, który nadzoruje działanie programu użytkownika, przeciwdziała błędom i zapobiega niewłaściwemu użyciu komputera, zajmuje się zwłaszcza kontrolą i obsługą pracy urządzeń we-wy.

Nie ma jednoznacznej definicji określającej S.O. a najogólniejszą będzie taka iż jest to program który działa w komputerze nieustannie (nazywany jądrem), a wszystkie inne programy są programami użytkownika.

Podobnie sprawa wygląda przy określaniu zadań S.O. jednakże najważniejszym celem jest wygoda użytkownika, drugim zaś jest efektywne działanie systemu komputerowego - jest on szczególnie ważny w rozbudowanych, wielodostępnych systemach z podziałem czasu, systemy takie są zazwyczaj bardzo kosztowne toteż zwraca się baczniejszą uwagę na wydajność. Jak widać te dwa cele bywają niekiedy ze sobą sprzeczne.

2. Wyjaśnij pojęcia buforowanie i spooling.



Buforowanie jest to metoda jednoczesnego obliczeń i operacji we-wy dla danego zadania. W momencie kiedy procesor przeczyta dane może zacząć je przetwarzać, wtedy zleca się urządzeniu wejściowemu natychmiastowe rozpoczęcie czytania następnych danych. Dzięki temu jednostka centralna jak i urządzenie wejściowe są zajęte. Tak samo można postąpić na wyjściu czyli procesor będzie posyłał wytworzone dane do bufora, skąd pobiera je urządzenie wyjściowe. Buforowanie pozwala zmniejszać wahania czasu zużywanego na przetworzenie rekordu (porcji danych). Jeżeli średnie prędkości procesora i urządzeń we-wy są takie same procesor przetwarza wszystko z pełną prędkością (może wyprzedzać lub zostawać nieco w tyle za urządzeniem)

Jeżeli natomiast jednostka centralna jest szybsza (a zazwyczaj tak bywa) to dochodzi do sytuacji że procesor opróżni bufor i będzie musiał czekać na dane z urządzenia wejściowego, lub na wyjściu procesor zapełni wszystkie bufory systemowe i będzie musiał czekać aż urządzenie wyjściowe je opróżni. Sytuacja taka ma miejsce jeżeli zadania uzależnione są od we-wy, natomiast w zadaniach uzależnionych od jednostki centralnej obliczeń jest tak wiele że bufory wejściowe są zawsze pełne a wyjściowe - zawsze puste, procesor nie może nadążyć za urządzeniami we-wy. Reasumując buforowanie danych jest w pewnej mierze pomocne jednak nie zadowalające.



Spooling polega na tym,że używa się dysku jako bardzo wielkiego buforu do czytania danych z maksymalnym wyprzedzeniem z urządzeń wejściowych oraz do przechowywania plików wyjściowych do czasu, aż urządzenia wyjściowe będą gotowe do ich przyjęcia. Spooling stosuje się także przy przetwarzaniu danych w instalacjach zdalnych. Na przykład jednostka centralna wysyła przez łącza komunikacyjne do zdalnej drukarki. W tym wypadku przetwarzanie zdalne odbywa się z własną prędkością bez interwencji jednostki centralnej. Procesor powinien być tylko powiadomiony o zakończeniu zadania aby mógł przesłać nowe. W przypadku buforowania wykonywane są operacje we-wy i obliczania dla tego samego zadania, spooling umożliwia równoczesne wykonywanie operacji we-wy jednego zadania i obliczeń dla innych zadań. Buforowanie umożliwia nakładanie operacji we-wy danego zadania tylko na jego ‘własne’ obliczenia, spooling pozwala nakładać operacje we-wy na obliczenia wielu zadań. Dzięki spoolingowi stało się możliwe zwiększenie wykorzystania procesora i urządzeń we-wy, tworzy ważną strukturę danych - pulę zadań. Spooling powoduje, że pewna liczba zadań jest zawczasu przeczytana na dysk, gdzie oczekuje na wykonanie.

3. Przerwanie sprzętowe.

Gdy jakieś urządzenie zgłasza fakt zaistnienia sytuacji krytycznej (np.: klawiatura, gdy naciśnięto klawisze [Ctrl+Break] lub pamięć, gdy występuje błąd parzystości ). W takim przypadku przerywane jest wykonywanie aktualnego programu i pobrana zawartość ustalonego miejsca w pamięci (adres startowy procedury obsługującej przerwanie). Procedura obsługi przerwania przesyła dane z lokalnego buforu do pamięci głównej. Po zakończeniu transmisji CPU jest gotowy do wznowienia przerwanych obliczeń. W ten sposób JC i urządzenia w/w mogą działać współbieżnie. Gdy pojawia się przerwanie rezerwowany jest ciąg komórek na początku pamięci głównej, aby przechowywać tam adresy procedur obsługi przerwań. Tablica ta, zwana wektorem przerwań jest indeksowana numerem urządzenia, które korzysta z przerwania. Adres przerwanego rozkazu jest przechowywany na stosie systemowym. Po obsłużeniu przerwania następuje pobranie zapamiętanego adresu powrotnego i wznowienie przerwanych obliczeń. Podczas obsługi jednego przerwania inne są wyłączane, a po zakończeniu zadania ponownie są włączane. W nowszych systemach możliwa jest obsługa nowego przerwania przed zakończeniem obsługi innego na zasadzie priorytetowej. Poszczególnym żądaniom nadaje się względne priorytety, a adresy poszczególnych przerwań są pamiętane w osobnym miejscu, dla każdego priorytetu. Przerwanie o wyższym priorytecie będzie wykonane nawet wtedy, gdy aktywne jest jakieś inne przerwanie. Jest ono maskowane (czasowo wyłączone) po to, aby go nie stracić.

Dualny tryb pracy komputera dostarcza środków do ochrony systemu przed nieodpowiedzialnym użytkowanie z niego. Ochrona ta jest wspomagana przez oznaczenie niebezpiecznych rozkazów kodu maszynowego jako rozkazów uprzywilejowanych. Sprzęt pozwala na ich wykonanie tylko w trybie monitora (ochrona systemu oraz programów polega na zaopatrzeniu sprzętu w środki pozwalające na rozpoznanie trybów jego pracy, wyróżnia się minimalnie 2 tryby: użytkownika i monitora). Próba wykonania rozkazu uprzywilejowanego w innym trybie potraktowana zostanie jako błąd i uruchomiona zostanie pułapka (jest to rodzaj przerwanie spowodowanego przez błąd np.: dzielenie przez zero, albo przez specjalne zamówienia pochodzące z programu użytkownika).

Przerwania programowe- są one wywoływane tylko z wnętrza programu. Przerwania te stanowią grono użytecznych procedur i funkcji. Właściwie całe programowanie w assemblerze to umiejętne korzystanie z gotowych podprogramów zawartych w przerwaniach. I tak np. w BASICu wypisanie na ekranie monitora ciągu znaków realizuje funkcja „print” to w assemblerze do tej czynności wywoływane jest przerwanie 21H z wartością 9H w AH, Inny sposób wyświetlenia łańcucha jest praktycznie niedostępne.

4. Wieloprogramowość

Zwiększa wykorzystanie procesora i ustawia go w takiej sytuacji, aby zawsze miał coś do roboty. System operacyjny wybiera i rozpoczyna działanie jednego zadania z puli. Jeżeli zadanie oczekuje na operację np.: wejścia/wyjścia, to system przechodzi do innego zadania itd. Kiedy pierwsze zadanie zakończy oczekiwanie, to otrzyma z powrotem dostęp do procesora. Dopóki są jakieś zadania do wykonania, dopóty procesor nie ma przestojów. Aby mieć kilka zadań gotowych do pracy, system musi je wszystkie przechowywać jednocześnie w pamięci.

Wymaga to odpowiedniego zarządzania pamięcią. Ponadto jeżeli w tym samym czasie jest kilka zadań gotowych do wykonania, to system musi wybrać jedno spośród nich. Podejmowanie takich decyzji nosi miano - planowaniem przydziału procesora. Wreszcie, wykonywanie wielu zadań współbieżnie wymaga, by ich potencjalne, wzajemne niekorzystne oddziaływania znajdowały się pod stałą kontrolą systemu, włączając planowanie procesów, magazynowanie danych i zarządzanie pamięcią.



Wielozadaniowość (podział czasu)

Interakcyjny system komputerowy umożliwia bezpośredni dialog użytkownika z systemem (na wyjściu jest klawiatura, na wyjściu monitor lub drukarka). Użytkownik wydaje polecenia, czeka na odpowiedź i o kolejnym poleceniu decyduje na podstawie wyników poprzedniego polecenia. Zadania interakcyjne składają się z wielu krótkich działań, w których rezultaty kolejnych poleceń mogą nie być przewidywalne. Dlatego czas odpowiedzi powinien być możliwie krótki.

W systemie z podziałem czasu zastosowano planowanie przydziału procesora i wieloprogramowości. Tak aby każdy użytkownik mógł korzystać z małej porcji współdzielonego czasu pracy komputera. Każdy użytkownik ma oddzielny program w pamięci. Jeżeli jeden z użytkowników np.: wprowadza dane z klawiatury (w tym czasie procesor byłby bezczynny), to CPU może wykonywać program innego użytkownika. Zazwyczaj każdemu użytkownikowi wystarcza mały przydział czasu CPU, a dzięki szybkim przełączeniom systemu między użytkownikami, każdy z nich odnosi wrażenie, że dysponuje własnym komputerem (teoretycznie).

Podobnie jak w wieloprogramowości, poszczególne zadania muszą być jednocześnie przechowywane w pamięci, co wymaga, jej ochrony i planowania przydziały CPU.

Idea ww. systemów została zaprezentowana już w roku 1960, wprowadzono ją w życie dopiero w latach `80.

5. Co to są systemy rozproszone?

Występują w słabo powiązanych systemach, gdzie każdy procesor ma własną pamięć lokalną, a procesory komunikują się za pomocą linii komunikacyjnych (szyn szybkiego przesyłania danych).

Procesory określa się za pomocą kilku nazw: stanowiska, węzły, komputery, maszyny. Przeważnie jedno stanowisko (serwer) zarządza zasobami, z których korzystają inne stanowiska - klienci (użytkownik). Zadaniem systemu rozproszonego jest tworzenie wydajnego i wygodnego środowiska do tego rodzaju dzielenia zasobów.

Cztery gł. Powody uzasadniają budowę systemów rozproszonych:

a) Dzielenie zasobów - stanowi mechanizm umożliwiający dzielenie plików na zdalnych stanowiskach, przetwarzanie informacji w rozproszonych bazach danych, drukowanie plików na zdalnych stanowiskach (np.: użytkownik A korzysta z drukarki ze stanowiska B itp.), wykorzystywanie specjalnych urządzeń sprzętowych (np.: procesor macierzowy).

b) Przyspieszenie obliczeń - konkretne obliczenie jest rozdzielane na pewną liczbę obliczeń częściowych.

Z kolei s.r. rozdziela obliczenia między różne stanowiska tak aby mogły być wykonywane jednocześnie.

Jeżeli jakieś stanowisko jest przeładowane, to system przesuwa zadanie na inne stanowisko (ładowanie dzielone).

c) Niezawodność - w przypadku awarii jednego stanowiska system nie przerywa pracy, ale przenosi zadanie na inne stanowisko. Gdy uszkodzone stanowisko zostanie naprawione, to następuje gładkie włączenie stanowiska z powrotem do systemu.

d) Komunikacja - jeżeli połączonych jest kilka stanowisk za pomocą sieci komunikacyjnej, wówczas jest możliwość wymiany na niskim poziomie - komunikatów, na wysokim - plików. Zaletą jest komunikacja na duże odległości (możliwość pracy dwóch osób nad jednym projektem na oddalonych od siebie stanowiskach).

Stanowiska mogą być fizycznie połączone na różne sposoby:

- Połączenie pełne - Każde stanowisko połączone jest bezpośrednio z innymi stanowiskami w systemie. Koszty są b. wysokie, ale także jest to system niezawodny (musiało by ulec zniszczeniu wiele stanowisk aby system uległ awarii).

- Połączenie częściowe -

- Hierarchia - Stanowiska tworzą strukturę drzewiastą ( typową dla sieci instytucji i urzędów)

- Gwiazda - Jedno stanowisko systemu połączone jest ze wszystkimi pozostałymi stanowiskami.

- Pierścień - Kształt pierścienia, może być jedno lub dwu kierunkowy.

- Szyna wielodostępna - Wszystkie stanowiska są bezpośrednio połączone do pojedynczego łącza, które może mieć organizację linii prostej.

W systemach rozproszonych użytkownicy uzyskują dostęp do zdalnych zasobów w taki sam sposób, jak do zasobów lokalnych. Przemieszczanie danych i procesów odbywa się pod nadzorem S.O.

Przemieszczanie danych:

1) przesłanie całego pliku ze st. A na st. B.

przesłanie tylko tej porcji pliku, która jest niezbędna do natychmiastowego działania.

6. System operacyjny czasu rzeczywistego.

System czasu rzeczywistego bywa często stosowany jako sterownik urządzenia o ściśle określonym zastosowaniu.

Czujniki dostarczają dane do komputera który analizuje te dane i odpowiednio reguluje działanie kontrolowanego obiektu, tak aby zmieniły się wskazania wejściowe czujników.

Przykłady systemów czasu rzeczywistego, np. system :

- sterowania procesami przemysłowymi,

- nadzorowania ekspertów naukowych,

- obrazowania badań medycznych itp.

Systemy operacyjne czasu rzeczywistego mają ściśle zdefiniowane stałe ograniczenia czasowe. Przetwarzanie danych musi się zakończyć przed upływem określonego czasu bo w przeciwnym razie system nie spełnia wymagań. Duże wymagania czasowe powodują, że wszystkie dane przechowywane są w pamięci o krótki czasie dostępu lub w pamięci ROM. Brak jest większości cech nowoczesnych systemów operacyjnych np. pamięci wirtualnej, które zwiększają niepewność odnośnie do ilości czasu używanego przez operacje.

7. Podstawowe własności systemu operacyjnego.

1. Wieloprogramowość. (patrz pytanie 4)

2. Wielozadaniowość. (patrz pytanie 4)

3. Buforowanie. (patrz pytanie 2)

4. Spooling (patrz pytanie 2)

5. Praca w trybie wsadowym - charakteryzuje się brakiem bezpośredniego nadzoru ze strony użytkownika podczas wykonywania zadania. Zadania są przygotowywane i przedkładane. System operacyjny czyta zazwyczaj cały strumień odrębnych zadań. W późniejszym czasie pojawiają się wyniki.

6. Praca w trybie interakcyjnym (bezpośrednim) - system komputerowy umożliwia bezpośredni dialog użytkownika z systemem. Użytkownik wydaje bezpośrednio instrukcje systemowi operacyjnemu lub programowi i otrzymuje natychmiastowe odpowiedzi.

7. System plików dostępnych bezpośrednio.

8. Opisz jak w systemach operacyjnych wygląda przesyłanie danych sterowane przerwaniami i z wykorzystaniem mechanizmu DMA?

Wieloprogramowość i podział czasu mogą istnieć dzięki równoczesnemu wykonywaniu operacji procesora i urządzeń wejścia-wyjścia. Aby to było możliwe, musi istnieć mechanizm ich desynchronizacji i resynchronizacji. W większości systemów najbardziej popularne są dwie metody:

- przesyłanie danych sterowane przerwaniami;

- przesyłanie danych na zasadzie bezpośredniego dostępu do pamięci (DMA - direct memory acces) a. Przesyłanie danych sterowane przerwaniami.

Każdy sterownik urządzenia zewnętrznego ma pod opieką specyficzny typ urządzenia. Sterownik urządzenia zewnętrznego rozporządza lokalnym buforem i zbiorem rejestrów o specjalnym przeznaczeniu. Odpowiada on również za przesyłanie danych między urządzeniem zewnętrznym, które nadzoruje, a jego własną pamięcią buforową.

Aby zainicjować przesyłanie danych, procesor wprowadza pewne liczby do odpowiednich rejestrów sterownika urządzenia, po czym wznawia normalną pracę. Sterownik urządzenia bada wówczas zawartość tych rejestrów, aby określić, jakie ma podjąć działanie. Kiedy przesyłanie danych zakończy się, wtedy sterownik poinformuje jednostkę centralną, że zakończył swoje działanie. Dokonuje tego za pomocą sygnału przerwania.

Procesor po otrzymaniu sygnału przerwania wstrzymuje swoją bieżącą pracę i natychmiast pobiera zawartość ustalonego miejsca pamięci. Miejsce to na ogół zawiera adres startowy procedury obsługującej dane przerwanie. Procedura obsługi przerwania przesyła dane z lokalnego buforu sterownika urządzenia do pamięci głównej. Po zakończeniu przesyłania danych procesor jest gotowy do wznowienia przerwanych obliczeń.

b. Przesyłanie danych z wykorzystaniem mechanizmu DMA.

Po określeniu buforów, wskaźników i liczników sterownik danego urządzenia przesyła bezpośrednio cały blok danych między własnym buforem a pamięcią bez interwencji procesora. Przerwanie wypada wówczas raz na cały blok danych, a nie po przesłaniu jednego znaku lub słowa.

Program użytkownika lub sam system operacyjny może zażądać przesłania danych. System operacyjny wybiera bufor (pusty wejściowy lub pełny wyjściowy) z kolejki buforów do przesłania (bufory mają zazwyczaj 128-4096 B). Następnie odpowiednie adresy źródła i miejsca przeznaczenia umieszcza się w rejestrach sterownika DMA. Dokonuje tego na ogół program obsługi urządzenia, który wie dokładnie, w jaki sposób informacja ta ma być dostarczona sterownikowi DMA. Po tym zabiegu sterownik DMA dostaje za pośrednictwem bitów sterujących w rejestrze kontrolnym informację, że należy zainicjować operację wejścia-wyjścia. Po jej zakończeniu sterownik DMA wysyła przerwanie do procesora.

9. Jak wygląda sprzętowa ochrona w systemach operacyjnych. Na czym polega dualny tryb pracy procesora?

Program użytkownika może zakłócić normalne działanie systemu wydając niedozwoloną instrukcje we-wy, docierając do komórek pamięci w obrębie samego systemu operacyjnego lub nie zwalniając procesora. Aby ustrzec użytkownika przed wykonywaniem niedozwolonych operacji we-wy przyjęto, że wszystkie rozkazy we-wy są uprzywilejowane. Użytkownicy nie mogą wobec tego używać bezpośrednio tych rozkazów, lecz muszą to robić za pośrednictwem systemu operacyjnego. Jeżeli komputer pracuje w trybie użytkownika, to przechodzi do trybu monitora przy każdym wystąpieniu przerwania lub pułapki, wykonując skok pod adres określony w wektorze przerwań.

System operacyjny powinien też chronić wzajemnie programy użytkowników. Istnieje kilka sposobów sprzętowych. Jeden z nich polega na wykorzystaniu rejestrów, zwanych bazowym i granicznym. Pierwszy z nich przechowuje najmniejszy dopuszczalny adres fizyczny pamięci, drugi zaś zawiera rozmiar obszaru pamięci. Ochronę taką sprawuje sprzęt jednostki centralnej przez porównywanie każdego adresu wygenerowanego w trybie pracy użytkownika z zawartością powyższych rejestrów. Każdy błąd kończy się pułapką monitora i w ten sposób program użytkownika jest strzeżony przed zmodyfikowaniem kodu lub struktur danych systemu operacyjnego lub innych użytkowników.

System operacyjny musi strzec program użytkownika przed wpadnięciem w nieskończoną pętlę, gdyż grozi to odebraniem sterowania systemowi operacyjnemu na zawsze. Osiąga się to przez zastosowanie czasomierza (ang. timer). Można go tak ustawić, by generował w komputerze przerwanie po wyznaczonym okresie czasu - wtedy sterowanie wraca do syst. op.

Czasomierz znajduje również zastosowanie przy podziale czasu. W najprostszym przypadku czasomierz może być nastawiony na przerwanie co stały okres, przy czym okres ten jest chwilą przydzielaną każdemu użytkownikowi na działanie, zanim następny użytkownik nie przejmie nadzoru nad procesem. System operacyjny jest wywoływany po każdej chwili, głównie w celach administratorskich, a także by odświeżyć stan rejestrów, zmiennych wew. i buforów oraz „przygotować pole” następnemu programowi.

Dualny tryb pracy komputera również służy do ochrony sprzętowej. Polega on na tym, że rozróżnia się dwa tryby pracy komputera: użytkownika i monitora (nadzorcy). Sprzęt komputerowy uzupełnia się o tzw. bit trybu, który mówi o tym, czy zadanie zamawiane było przez system czy program użytkownika. Po wystąpieniu pułapki lub przerwania, sprzęt zmienia swój tryb pracy na tryb pracy monitora (bit=0). Dualny tryb pracy komputera opiera się na koncepcji rozkazów uprzywilejowanych, których wykonywanie jest możliwe tylko w trybie monitora. Rozkazy we-wy, rozkazy zmieniające zawartość rejestrów zarządzania pamięcią lub rejestrów czasomierza są uprzywilejowane. Użytkownik, aby skorzystać z takich rozkazów musi „poprosić” monitor, aby ten taką operację wykonał.




  1   2   3   4   5


©snauka.pl 2019
wyślij wiadomość

    Strona główna
Komunikat prasowy
przedmiotu zamówienia
najkorzystniejszej oferty
Informacja prasowa
wyborze najkorzystniejszej
warunków zamówienia
istotnych warunków
sprawie powołania
Regulamin konkursu
udzielenie zamówienia
przetargu nieograniczonego
zamówienia publicznego
Nazwa przedmiotu
Specyfikacja istotnych
modułu kształcenia
Rozporządzenie komisji
studia stacjonarne
wyborze oferty
Zapytanie ofertowe
Szkolny zestaw
Ochrony rodowiska
ramach projektu
prasowy posiedzenie
trybie przetargu
obwodowych komisji
zagospodarowania przestrzennego
komisji wyborczych
komisji wyborczej
Program konferencji
Wymagania edukacyjne
Lista kandydatów
szkoły podstawowej
która odbyła
Województwa ląskiego
Decyzja komisji
przedmiotu modułu
poszczególne oceny
Sylabus przedmiotu
szkół podstawowych
semestr letni
Postanowienia ogólne
przedsi biorców
produktu leczniczego
Karta przedmiotu
Scenariusz lekcji
Lista uczestników
Program nauczania
Projekt współfinansowany
Informacje ogólne
biblioteka wojewódzka
semestr zimowy