1. Podaj definicję systemu operacyjnego.
System komputerowy składa się z 4 części: sprzęt, system operacyjny, programy użytkowe, użytkownicy Rodzaje s. o.: jednostanowiskowe (MS DOS), sieciowe (MS Windows XX, Novell NetWare, UNIX), rozproszone (Ameba, Choruj, QNX), czasu rzeczywistego (QNX) |
2. Buforowanie i spooling. Buforowanie polega na jednoczesnym wykonywaniu obliczeń i operacji we/wy dla danego zadania. Po przeczytaniu danych, kiedy procesor może zacząć je przetwarzać, poleca się urządzeniu wejściowemu natychmiastowe rozpoczęcie czytania następnych danych. W ten sposób zarówno jednostka centralna, jak i urządzenie wejściowe nie pozostają bezczynne. Szybkość pracy procesora i urządzeń we/wy różni się o jeden lub kilka rzędów wielkości, podczas czytania z taśmy procesor pozostaje bezczynny. Buforowanie polega na ładowaniu kolejnych danych wejściowych lub wyprowadzaniu wyników równocześnie z obliczeniami, zysk zależy od stopnia uzależnienia programu od operacji we/wy. Buforowanie danych pozwala procesorowi nieco wyprzedzać urządzenia, lub pozostawać nieco w tyle, a jednocześnie przetwarzać wszystko z pełną prędkością. Spooling - jednoczesna, bezpośrednia praca urządzeń - wprowadzenie pamięci zewnętrznej o bezpośrednim dostępie do danych, zamiast rekurencyjnego, dysk jest wykorzystywany jako bufor. Buforowanie pozwala wykonywać w tym samym czasie operacje we/wy i obliczenia dla tego samego zadania Spooling umożliwia równoczesne wykonywanie operacji we/wy jednego zadania i obliczeń innego, co stanowi jego przewagę nad buforowaniem Wiele zadań przebywających na dysku wymaga wprowadzenia pewnej metody wyboru zadania do wykonania (koncepcja planowania zadań) Spooling wraz z planowaniem zadań wprowadza pojęcie wieloprogramowości. |
3. Wieloprogramowość:
Problemy pojawiające się wraz z wieloprogramowością
|
4. Wielozadaniowość:
|
5. Przerwanie, wektor przerwań, blokowanie przerwań (maskowanie). Procesor po otrzymaniu sygnału przerwania wstrzymuje swą bieżącą pracę i natychmiast pobiera zawartość ustalonego miejsca pamięci. Miejsce to zawiera na ogół adres startowy procedury obsługującej dane przerwanie. Procedura obsługi przerwania przesyła dane z lokalnego bufora sterownika urządzenia do pamięci głównej. Po zakończeniu przesyłania danych procesor jest gotowy do wznowienia przerwanych obliczeń. Przerwanie musi przekazywać sterowanie do procedury obsługi przerwania. W tym celu rezerwuje się ciąg komórek na początku pamięci głównej aby przechowywać tam adres procedur obsługi przerwań pochodzących od różnych urządzeń. Tablica ta zwana jest wektorem przerwań, jest indeksowana jednoznacznym numerem urządzenia, w który jest zaopatrzone żądanie przerwania Przerwanie o wyższym priorytecie będzie obsłużone nawet wtedy, gdy jest aktywne jakieś przerwanie o niższym priorytecie, natomiast przerwania tego samego poziomu ulegają maskowaniu, tj. selektywnemu wyłączaniu (uniknie się w ten sposób utraty przerwań lub występowania przerwań nieoczekiwanych) Tablica stanów urządzeń służy do:
|
6. Obsługa urządzeń w oparciu o DMA Szybkie urządzenia we/wy korzystają z bezpośredniego dostępu do pamięci operacyjnej. Po określeniu buforów, wskaźników i liczników sterownik danego urządzenia przesyła bezpośrednio (bez ingerencji procesora) cały blok danych między własnym buforem, a pamięcią. Zasadnicze działanie jednostki centralnej pozostaje niezmienione. Program użytkownika lub sam s. o. może zażądać przesłania danych. S. o. wybiera bufor z kolejki buforów do przesłania. Następnie odpowiednie obszary źródła i miejsca przeznaczenia umieszcza się w rejestrach sterownika DMA. Po tym zabiegu sterownik DMA dostaje informacje, że należy zainicjować operację we/wy. PO jej zakończeniu sterownik DMA wysyła przerwanie do procesora. W celu obsługi transmisji blokowych (np. z dysku) wprowadzono bezpośredni dostęp do pamięci, po zakończeniu transmisji danych jest generowane przerwanie mówiące o przesłaniu całego bloku danych. |
7. Prosty monitor. Potrzebna była procedura automatycznego przekazywania sterowania od jednego zadania do następnego. W tym celu ułożono mały program, zwany monitorem rezydującym. Monitor rezydujący stale przebywa w pamięci operacyjnej komputera. Na początku (po włączeniu komputera) wywoływano monitor rezydujący, który przekazywał sterowanie do programu. Gdy program kończył działanie wtedy zwracał sterowanie do monitora, a ten wyznaczał kolejny program. W ten sposób monitor rezydujący zapewniał automatyczne przechodzenie od jednego programu do drugiego i od jednego zadania do następnego. Wprowadzenie metody automatycznego porządkowania zadań stało się podstawą zbudowania pierwszych systemów operacyjnych. Wyeliminowano:
Rozmieszczenie monitora w pamięci: program ładujący monitor
porządkowanie zadań
interpretator kart sterujących
obszar programu użytkownika
|
8. Pułapka. Pułapka (wyjątek) jest rodzajem przerwania generowanego przez oprogramowanie, a powodowanym przez błąd, albo przez specjalne zamówienia pochodzące z programu użytkownika, które wymagają obsłużenia przez s. o. Po wystąpieniu pułapki sprzęt zmienia swój system pracy z 1 (użytkownika) na 0 (monitora) Mechanizm pułapek:
|
9. Dualny tryb pracy Za każdym razem po wystąpieniu pułapki lub przerwania, sprzęt zmienia swój tryb pracy z trybu użytkownika na tryb monitora. Dualny tryb pracy pozwala na:
Bit trybu (jego stan) wskazuje na bieżący tryb pracy: monitor (0) lub użytkownik (1). Za pomocą bitu trybu można odróżnić działania wykonywane na zamówienie s. o. od działań wykonywanych na zamówienie użytkownika
|
10. Rejestr bazowy, rejestr graniczny. rejestr bazowy - przechowuje najmniejszy dopuszczalny adres fizyczny pamięci rejestr graniczny - zawiera rozmiar obszaru pamięci np. jeżeli rb=300040, a rg=120900, to w programie mogą wystąpić odniesienia do wszystkich adresów od 300040 do 420940
|
11. Składowe systemu operacyjnego. a) zarządzanie procesami, s. o. musi zapewnić:
b) zarządzanie pamięcią operacyjną:
c) zarządzanie pamięcią pomocniczą
d) zarządzanie systemami we/wy
e) zarządzanie plikami
f) system ochrony g) praca sieciowa h) interpretator komend |
12. Usługi systemu operacyjnego. a) wykonanie programu System powinien móc załadować program do pamięci i rozpocząć jego wykonywanie. Program powinien móc zakończyć swą pracę normalnie lub z przyczyn wyjątkowych b) operacje we/wy Program użytkownika nie może wykonywać operacji we/wy bezpośrednio, więc środki do realizacji tych czynności musi mieć s. o. c) manipulowanie systemem plików Programy muszą zapisywać i odczytywać pliki. Jest im również potrzebna możliwość tworzenia i usuwania plików przy użyciu ich nazw d) komunikacja Może przebiegać za pomocą pamięci dzielonej lub przy użyciu mniej ogólnej techniki przekazywania komunikatów, w której pakiety informacji są przenoszone między procesami za pośrednictwem s. o. e) wykrywanie błędów S. o. powinien być nieustannie powiadamiany o występowaniu błędów. Na wszystkie rodzaje błędów s. o. powinien odpowiednio reagować, gwarantując poprawność i spójność obliczeń f) przydział zasobów Jeżeli wielu użytkowników i wiele zadań pracuje w tym samym czasie, to każdemu z nich muszą być przydzielone zasoby. S. o. zarządza różnego rodzaju zasobami. g) rozliczanie Przechowywanie danych o tym, którzy użytkownicy, w jakim stopniu korzystają z poszczególnych zasobów komputera. Przechowywanie takich rekordów może służyć do rozliczania lub gromadzenia informacji w celach statystycznych h) ochrona Obejmuje sprawdzanie poprawności wszystkich parametrów przekazywanych w wywołaniach systemowych i gwarantuje nadzór nad dostępem do wszystkich zasobów systemu. Zabezpiecza przed niepożądanymi czynnikami zewnętrznymi. |
13. Funkcje systemowe. Funkcje systemowe tworzą interfejs między wykonywanym programem, a s. o. Można z nich korzystać za pomocą instrukcji w języku asemblera. Można je podzielić na 5 podstawowych kategorii: a) nadzorowanie procesów:
b) operacje na plikach:
c) operacje na urządzeniach:
d) utrzymywanie operacji
e) komunikacja
|
14. Struktura systemu DOS i UNIX. Warstwowa struktura systemu MS-DOS:
(użytkownicy)
programy, shell, polecenia, kompilatory, interpretatory, biblioteki systemowe
interfejs między funkcjami systemowymi, a jądrem
- sygnały - obsługa terminali - np. znakowy we/wy - program obsługi terminali - system plików - wymiana - np. blokowego we/wy - program obsługi dysków i taśm - planowanie przydziału procesora - zastępowanie stron - pamięć wirtualna - stronicowanie na żądanie
interfejs między jądrem, a sprzętem
- sterowniki terminali - terminale - sterowniki urządzeń - dyski i taśmy - sterowniki pamięci - pamięć operacyjna
Struktura systemu UNIX: UNIX składa się z dwóch odrębnych części: jądra i systemowych programów. Jądro dzieli się dalej na ciąg interfejsów i programów obsługi urządzeń |
15. Cechy systemu NT.
|
16. Budowa systemu NT. Architekturę systemu NT tworzy warstwowy układ modułów. Głównymi warstwami są: a) działające w trybie chronionym - warstwa abstrakcji sprzętu - (ukrywa różnice sprzętowe przed górnymi warstwami s.o.) eksportuje interfejs maszyny wirtualnej, z którego korzystają: jądro, egzekutor i moduły sterujące urządzeń. Jedną z zalet takiego podejścia jest to, że wystarczy aby każdy moduł sterujący występował tylko w jednej wersji, może on działać na wszystkich rodzajach sprzętu bez przenoszenia kodu modułu sterującego. Warstwa MAL (???) umożliwia także przetwarzanie symetryczne - jądro - stanowi podstawę egzekutora i podsystemów. Strony jądra nigdy nie są usuwane z pamięci operacyjnej. Jądro ma cztery główne obowiązki: planować procesy, obsługiwać przerwania i sytuacje wyjątkowe, synchronizować na niskim poziomie procesor, podejmować działania naprawcze po awarii zasilania. Jądro jest zorientowane obiektowo. Przez typ obiektu rozumie się zdefiniowany w systemie NT typ danych, który ma zbiór atrybutów (wartości danych) i zbiór metod (funkcji lub procedur). Reprezentant danego typu obiektowego nazywa się obiektem. Jądro wykonuje swoje zadania posługując się zbiorem obiektów jądrowych:
- egzekutor - wykonuje zbiór usług, z których mogą korzystać wszystkie podsystemy środowiskowe. Usługi te można podzielić na grupy: zarządcę obiektów, zarządcę pamięci wirtualnej, zarządcę procesów, udogodnienie lokalnych wywołań procedur, zarządcę we/wy oraz monitor odwołań b) działających w trybie użytkownika duży zbiór podsystemów |
17. Definicja procesu.
S. o. musi zapewniać:
|
18. RAID (redundant array of inexpensive disks)(nadmiarowa tablica niezależnych wątków) - bitowy - blokowy RAID - zwiększa wydajność, polepsza niezawodność w skutek pamiętania nadmiarowych danych; metoda paskowania dysków przeplot - grupa dysków traktowana jako jedna jednostka pamięci 0 - przeplot blokowy, duża wydajność, duża awaryjność, implementowany jako rozszerzenie systemu operacyjnego 1 - mirroring (odbicie lustrzane), dane zapisuje się jednocześnie na dwóch zestawach dysków, dobre bezpieczeństwo. Wykonuje się kopie każdego dysku. Rozwiązanie to jest drogie ponieważ do pamiętania tej samej ilości danych stosuje się dwukrotnie więcej dysków, jednak zapewnia to dwukrotnie szybsze czytanie 2 - przeplot bitowy, bajty dzieli się na grupy bitów i rozdziela się pomiędzy dyski, duża wydajność, trudno rozbudowywalne 3 - pełny przeplot (0) i jeden dysk nadmiarowy (sum kontrolnych) 4 - jak (3), ale z przeplotem bitowym 5 - jak (3), ale informacja o parzystości jest dzielona między dyski, zmniejsza narzut przy zapisie, wielka wydajność i łatwość rozbudowy |
19. Własności plików FAT i NTFS. FAT:
NTFS
Porównanie FAT i NTFS:
|
20. Przekazanie, a przesłanie komunikatu. wysłanie - komunikat ląduje w kolejce komunikatów odpowiedniego wątku przekazanie - komunikaty są bezpośrednio przekazywane procedurze obsługi danego okna |
21. SendMessage(), PostMessage(), GetMessage(), PickMessage(). PostMessage - przekazanie komunikatu w trybie pocztowym. Procedury pocztowe są asynchroniczne, Zwracają one sterowanie natychmiast i wywołujący je wątek nie jest zorientowany, kiedy naprawdę komunikat zostaje doręczony. SendMessage - procedury typu send… są synchroniczne - blokują nadawcę do czasu doręczenia i przetworzenia komunikatu. GetMessage - wywoływana w celu obsługiwania zadań w anonsowanych w jej kolejce wejściowej. |
22. Praca pośrednia.
Zasadniczą zaletą pracy pośredniej było to, że komputer główny nie był już ograniczony przez prędkość czytników kart i drukarek wierszowych, ale jedynie przez prędkość o wiele szybszych jednostek taśm magnetycznych |
No udało się….. jak jest (???), to nie jestem pewien, bo nie mogłem na 100% rozczytać
0
rb=30040
rg=120900
420940
300040
monitor |
zadanie 1 |
zadanie 2 |
zadanie … |
zadanie n |
program obsługi urządzeń w pamięci ROM BIOS
programy obsługi urządzeń z poziomu MS-DOS
rezydujące programy systemowe
programy użytkownika