1. Jakie są podstawowe czynności systemu operacyjnego związane z zarządzaniem procesami, pamięci" i plikami?
Czynności związane z zarządzaniem procesami:
Tworzenie i usuwanie procesów (użytkowych, systemowych)
Wstrzymywanie i wznawianie procesów;
Dostarczanie mechanizmów do:
+ Synchronizacji procesów;
+ Komunikacji międzyprocesowej;
+ Obsługi zakleszczeń.
Czynności związane z zarządzaniem pamięcią:
Utrzymywanie informacji o tym, które obszary pamięci są aktualnie zajęte i przez kogo;
Decydowanie o tym, które procesy mają być załadowane do zwolnionych obszarów pamięci;
Przydzielanie (alokacja) i zwalnianie (dealokacja) obszarów pamięci zależnie od potrzeb.
Czynności związane z zarządzaniem plikami:
Tworzenie i usuwanie plików;
Tworzenie i usuwanie katalogów;
Dostarczanie elementarnych operacji do manipulowania plikami i katalogami;
Odwzorowywanie plików na obszary pamięci pomocniczej;
Umieszczanie plików na trwałych nośnikach pamięci.
2. Jakie są podstawowe czynności systemu operacyjnego związane z zarządzaniem systemem wejścia-wyjścia, pamięcią pomocniczą oraz ochroną?
- czynności systemu operacyjnego związane z zarządzaniem sys. Wej/wyj
Systemu zarządzania pamięcią: buforowanie, przechowywanie podręczne, spooling;
Ogólnego interfejsu do modułów sterujących urządzeń;
Modułów sterujących (programów obsługi) dla poszczególnych urządzeń sprzętowych.
+ Właściwości danego urządzenia zna tylko odpowiadający mu moduł sterujący
- czynności systemu operacyjnego związane z zarządzaniem pamięcią pomocniczą
Zarządzanie wolnymi obszarami;
Alokacja (przydział) pamięci;
Planowanie dostępu do dysku.
Wydajność pamięci pomocniczej może mieć znaczny wpływ na wydajność całego systemu komputerowego (na ogół pamięć ta jest często używana podczas pracy komputera).
- Mechanizm ochrony musi:
Rozróżniać między dostępem autoryzowanym a nieautoryzowanym;
Określać co i jakiej ma podlega& ochronie;
Zawierać środki do wymuszania zaprowadzonych ustaleń.
3. Do czego służy i jak działa system interpretacji poleceń?
tworzenia procesów i zarządzania nimi;
obsługi WE/WY;
zarządzania pamięcią pomocniczą i operacyjną;
dostępu do systemu plików;
ochrony;
pracy sieciowej (networking).
- czyta i interpretuje instrukcje sterujące i jego zadaniem jest pobrać następną instrukcje i ją wykonać
4. Jakie są podstawowe usługi oraz dodatkowe funkcje systemu operacyjnego?
Usługi: Interfejs użytkownika, Wykonywanie programów ,Operacje WE/WY, Manipulowanie systemem plików, Komunikacja, Wykrywanie błędów
Dodatkowe funkcje: Przydzielanie zasobów, Rozliczanie, Ochrona(bezpieczeństwo).
5. Do czego służą, jak są implementowane i jakie są główne kategorie wywołań
systemowych?
- tworzą interfejs między wykonywanym programem a usługami dostarczanymi przez system operacyjny, a ponadto są implementowane w języku C/C++ a w MS Windows są częścią interfejsu programisty aplikacji (API).
- trzy naj powszechniejsze API: Win32 API dla MS Windows, POSIX API dla systemów uniksowych i Java API dla maszyny wirtualnej Javy (JVM)
Kat.wywołań: Nadzorowanie procesów, Operacje na plikach, Zarządzanie urządzeniami, Utrzymywanie informacji, Komunikacja, Ochrona.
6. Opisać podstawowe metody komunikacji między procesami, podaj ich zalety i wady.
TEGO NIE WIEDZIAŁEM JAK OPISAĆ ;P
7. Czym są i do czego służą programy systemowe?
- tworzą wygodne środowisko do rozwoju i wykonywania innych programów – niektóre są po prostu interfejsami użytkownika do wywołań systemowych, inne są bardziej złożone.
8. Na czym polega warstwowa struktura systemu operacyjnego? Podaj przykłady takich systemów. Zalety/wady takiego podejścia.
System operacyjny jest podzielony na warstwy (poziomy).
Najniższą warstwę (warstwę 0) stanowi sprzęt; najwyższą warstwę (warstwę N) jest interfejs użytkownika.
Warstwy są tak wybrane, że każda używa funkcji (operacji) i korzysta z usług tylko niżej położonych warstw.
Przykłady (MS-DOS, UNIX)
Zalety: + Łatwiejsze uruchamianie i testowanie systemu
Wady: - Główna trudność: odpowiednie zdefiniowanie poszczególnych warstw,
- Mniejsza wydajność.
9. Co to jest mikrojądro, jakie ma zalety i wady? Podaj przykłady systemów.
Mikrojądro- Jądro systemu zredukowane do małego zbioru funkcji rdzeniowych, realizujących jedynie mały zbiór niezbędnych operacji elementarnych.
Zalety: + System operacyjny łatwiejszy do rozszerzania
+ SO łatwiejszy do przenoszenia na nowe architektury sprzętowe
+SO bardziej niezawodny
+Większe bezpieczeństwo systemu.
Przykł. Sys.: Mach, Tru64 UNIX, MS Windows NT, QNX
10. Na czy polega struktura systemu z modułami jądra i jakie ma zalety? Podaj przykłady takich systemów.
Polega na stosowaniu technik obiektowych przy projektowaniu nowoczesnych systemów operacyjnych prowadzi do tworzenia modularnych jąder.
Zaleta: Struktura tego typu jest bardziej elastyczna od struktury warstwowej; przypomina strukturę z mikrojądrem, ale jest od niej bardziej wydajna.
Prykł.sys.: Solaris, Linux, Mac OS X.
11. Co to są maszyny wirtualne i jakie są ich zalety/wady?
Maszyna wirtualna jest logiczną konkluzją podejścia warstwowego;
Maszyna wirtualna tworzy interfejs identyczny z podstawowym sprzętem,
System operacyjny tworzy złudzenie wielu procesów pracujących na swych własnych procesorach z własną (wirtualną) pamięcią.
Zasoby fizycznego komputera s" dzielone w celu utworzenia maszyn wirtualnych.
Plusy: + Koncepcja maszyn wirtualnych dostarcza pełną ochronę zasobów systemowych,
+ System maszyn wirtualnych stanowi znakomitą platformę do badań i rozwoju systemów operacyjnych
Minusy: - Koncepcja maszyny wirtualnej jest trudna do implementacji,
- Wzajemna izolacja maszyn wirtualnych uniemożliwia bezpośrednie dzielenie zasobów
- Mniejsza wydajność.
12. Jakie ważne aspekty należy uwzględnić przy projektowaniu systemu operacyjnego?
* Cele użytkownika – system operacyjny powinien by& wygodny i łatwy w użyciu, łatwy do nauki, niezawodny, bezpieczny i szybki.
* Cele systemu – system operacyjny powinien być łatwy do zaprojektowania, realizacji i pielęgnowania, a także elastyczny niezawodny, wolny od błędów i wydajny.
13. Jak implementuje się współczesne uniwersalne systemy operacyjne i jakie są tego zalety?
Tradycyjnie systemy operacyjne były pisane w językach asemblerowych, obecnie natomiast pisze się je często w językach wyższego poziomu, takich jak C lub C++
Plusy: + Programuje się szybciej;
+ Kod jest bardziej zwarty;
+ Kod jest łatwiejszy do zrozumienia i sprawdzenia;
+ System operacyjny jest znacznie łatwiejszy do przenoszenia.
Wady: - Spowolnienie działania;
- Większe zapotrzebowanie na pamięć.
14. W jaki sposób odbywa się generowanie, a następnie rozruch systemu operacyjnego?
Generowanie:
- SO musi być skonfigurowany dla każdego sprzętu (generowanie systemu)
- Program SYSGEN zbiera informacje dotyczące specyfikacji konfiguracji danego sprzętu
- Rozruch systemu (booting) – procedura rozpoczęcia pracy komputera przez załadowanie jądra
- Program rozruchowy (bootstrap program) – mały fragment kodu przechowywany w pamięci ROM będący w stanie zlokalizować jądro, załadować je do pamięci i rozpocząć jego wykonywanie
Rozruch:
- rejestr rozkazów jest ładowany z predefiniowanego miejsca pamięci, w którym znajduje się początkowy program rozruchowy (initial bootstrap program)
- Małe systemy operacyjne, mogą w całości znajdować się w pamięci ROM
- W przypadku dużych systemów operacyjnych sam system operacyjny znajduje się na dysku czyta i uruchamia kod z bloku rozruchowego