systemy operacyjne
Definicja systemu operacyjnego. System operacyjny (angielskie operating system, OS) jest programem, który działa a jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest stworzenie bezpiecznego i niezawodnego środowiska, w którym użytkownik może e wykonywać swoje programy w sposób wygodny i wydajny. Cechy wyróżniaj niające ten rodzaj oprogramowania: duża a złożonoz oność (80 tys. jednostek funkcjonalności ci i więcej); systemy operacyjne sąs sterowane przerwaniami (zdarzeniami); system operacyjny rozpoczyna działanie anie jako pierwszy program w komputerze i nie zaprzestaje działania ania aża do wyłą łączenia komputera.
Częś ęści składowe systemu operacyjnego. Użytkownik Użytkownik Użytkownik Użytkownik kompilatory edytor testu syst. bazy danych gry PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY SPRZĘT KOMPUTEROWY
System operacyjny jedna z czterech częś ęści systemu komputerowego.
Co siedzi w systemie.
Rozwój j systemów w operacyjnych.
Współczesny system operacyjny (OS Operating System). Zadania. Kryteria użytecznou yteczności. ci. Cechy. Klasyfikacja.
Podstawowe zadania przypisywane OS. Zarządzanie procesami. Zarządzanie pamięci cią operacyjną. Zarządzanie pamięci cią masową. Zarządzanie plikami. Zarządzanie urządzeniami wejścia / wyjścia. Ochrona zasobów. Obsługa sieci. Interfejs użytkownika u (np. interpreter komend, środowisko graficzne); Dodatkowe funkcje.
Zarządzanie procesami. System operacyjny, zarządzaj dzając c procesami wykonuje następuj pujące operacje: tworzy i usuwa procesy, zwiesza i wznawia wykonywanie procesu, dostarcza mechanizmów w do synchronizacji procesów w i komunikacji między dzy procesami. Uzyskanie procesora Nowy proces Gotowy do wykonania Wykonany Zakończenie Niszczony Wywłaszczenie z procesora Uzyskanie zasobu Uśpiony Niezaspokojone zadanie zasobu Graf stanów procesu
Zarządzanie pamięci cią operacyjną. Pamięć operacyjna (ulotna ang. volatile) ) jest z reguły y pamięci cią RAM, której zawartość zanika po wyłą łączeniu zasilania lub w wyniku awarii systemu. System operacyjny, zarządzaj dzając c pamięci cią operacyjną,, wykonuje następuj pujące operacje: rejestruje, które bloki pamięci sąs aktualnie zajmowane i przez kogo; podejmuje decyzje, który proces można na załadowa adować w momencie zwolnienia jakiejś przestrzeni pamięci; alokuje (przydziela) i dealokuje (zwalnia) boki pamięci zależnie od potrzeb.
Zarządzanie pamięci cią masową. Typową funkcją pamięci masowej jest trwałe e zapisywanie danych obrabianych wcześniej w pamięci operacyjnej. Z tego względu spotyka się angielskie określenie secondary storage system - system archiwizacji (backup) dla pamięci operacyjnej (primary storage). Takie podejście do roli pamięci masowej stanowi jednak obecnie już zbyt daleko idące uproszczenie. System operacyjny, zarządzaj dzając c pamięci cią masową wykonuje następuj pujące operacje: zarządza wolną przestrzenią (wolnymi blokami alokacji); przydziela przestrzeń (bloków w alokacji) plikom; planuje i realizuje operacje dyskowe.
Zarządzanie plikami. Plik jest pewnym zbiorem informacji, zdefiniowanym przez swego twórc rcę.. W typowej sytuacji pliki mogą zawierać zarówno programy (teksty źródłowe, kody binarne) lub dane (w różnych r formatach, zdefiniowanych przez konkretne aplikacje lub stanowiących bardziej ogólne standardy). System operacyjny, zarządzaj dzając c plikami wykonuje następuj pujące operacje: tworzy i usuwa pliki; tworzy i usuwa katalogi; dostarcza podstawowe funkcje umożliwiaj liwiające manipulowanie plikami oraz katalogami; odwzorowuje pliki w przestrzeni pamięci masowej (blokach alokacji); zapisuje pliki w pamięci masowej.
Zarządzanie urządzeniami wejścia / wyjścia cia. A 1 A 2 Architektura wejście/wyjścia PROCESY Pu 1 Pu 2 API 1 API 2 Pu 3 A aplikacje Pu procesy usługowe API moduły odpowiedzialne za wyższe funkcje 1 4 urządzenia logiczne S sterowniki Zs zasoby sprzętu U - urządzenia JĄDRO SPRZĘT 1 2 3 4 S 1 S 2 S 3 Zs 1 Zs 2 Zs 3 Zs 4 S 1 S 2 S 3 S 4 U 1 U 2 U 3 U 4 System wejścia / wyjścia składa się z: buforów w urządze dzeń; interfejsów w pomiędzy sprzętem a systemem sterowników; w; programowych sterowników dla poszczególnych urządze dzeń.
Obsługa sieci (systemy rozproszone). Grupa procesorów, które nie współdziel dzielą pamięci ani zegara systemowego, sąs zaś połą łączone ze sobą za pośrednictwem sieci komunikacyjnej może e być określona nazwą systemu rozproszonego. Użytkownik ytkownik takiego systemu może e mieć zorganizowany dostęp do różnych r jego zasobów, zlokalizowanych w różnych r węzłach w sieci (serwerach zasobów). Konta użytkowniku ytkowników w mogą być zakładane adane i zarządzane: oddzielnie na każdym komputerze, scentralizowane zarządzanie zasobami całej sieci, np. system domen w Windows-NT lub NDS w NetWare, systemy zachowujące ce się jak jedna, wirtualna maszyna (superkomputery).
Ochrona zasobów. Pojęcie ochrony zasobów w dotyczy wszystkich mechanizmów sterujących dostępem do zasobów w systemowych oraz użytkowników w systemu. System ochrony musi spełnia niać następuj pujące funkcje: rozróżnia niać autoryzowane i nieautoryzowane próby wykorzystania zasobów; reagować na próby wymuszenia niedozwolonego użycia u zasobów; dostarczać środków w do wymuszenia przestrzegania zasad użytkowania zasobów.
Interfejs użytkownika. u Niezależnie od przyjętego sposobu realizacji interfejs użytkownika u musi zapewniać użytkownikowi (w szczególno lności administratorowi) możliwo liwość komunikacji z systemem w zakresie: tworzenia procesów w i zarządzania dzania procesami; dostępu do urządze dzeń wejścia/wyj cia/wyjścia; cia; dostępu do pamięci masowej i zarządzania jednostkami pamięci masowej; wykorzystywania pamięci operacyjnej i zarządzania pamięci cią; dostępu do systemu plików; sterowania ochroną zasobów; konfigurowania i używania u sieci.
Dodatkowe funkcje systemu operacyjnego. współdzielenie zasobów, czyli przydzielanie jednego zasobu grupie użytkowniku ytkowników w lub procesów w pracujących cych jednocześnie; nie; księgowanie (ang. journaling, accounting), czyli śledzenie i zapisywanie dodatkowych informacji na temat wykorzystywania zasobów w przez poszczególnych użytkowniku ytkowników w i/lub procesy, prowadzenie statystyk, naliczanie opłat za korzystanie z zasobów, zapewnienie możliwo liwości cofnięcia cia niedokończonych transakcji itp.; zabezpieczenia, czyli środki pozwalające utrzymać zasoby systemu pod kontrolą jego administratorów, nie dopuści cić do używania ich bez zgody właściciela w lub w niezgodnie z jego wolą.
Cechy systemów w operacyjnych. Wielozadaniowość (wieloprocesowość ść) możliwo liwość wykonywania "jednocześnie" nie" kilka procesów, otrzymywana poprzez tzw. scheduler czyli algorytm kolejkujący i porządkuj dkujący procesy, które mają być wykonane. każdy proces jest wykonywany jakiś kwant czasu, a później p czeka "w uśpieniu" u (oczywiście cie z uwzględnieniem różnych priorytetów). systemy wielozadaniowe :UNIX, 32-bitowe systemy z rodziny Microsoft Windows, Mac OS i jego następca Mac OS X, AmigaOS, BeOS, nie sąs systemami wielozadaniowymi: DOS), CP/M. Wielowątkowo tkowość możliwo liwość wykonywania w ramach jednego procesu kilka wątków w lub jednostek wykonawczych. Nowe wątki w to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie wątki w tego samego procesu współdziel dzielą kod programu i dane. W systemach nie wspierających wielowątkowo tkowości pojęcie procesu i wątku utożsamiaj samiają się. systemy wielowątkowe: BeOS,, Microsoft Windows 95, Windows NT, niektóre re z rodziny Unix. Wielobieżno ność (ang. reentrant) ) to takie, w którym może e pracować kilka procesów jednocześnie nie w trybie jądra j (zapewne potrzebując c jakiś funkcji systemowych). Skalowalność (ang. scalability) ) jest to cecha systemów w komputerowych, polegająca na zdolności do dalszej rozbudowy, ale także e miniaturyzacji systemu.
Kryteria użytecznou yteczności ci OS. Łatwość instalacji i użytkowania u systemu. Koegzystencja z innymi systemami tzn., możliwo liwość czytania i zapisywania danych na partycjach innych systemów w oraz współpraca praca i wymiana danych pomiędzy komputerami w sieci lokalnej i Internecie. Zgodność sprzętowa tzn., możliwo liwość instalacji na konkretnym komputerze utrudnia czasem brak odpowiednich sterowników w do określonych lonych urządze dzeń. Wymiana danych tzn., możliwo liwość czytania i wymiany dokumentów w między dzy różnymi aplikacjami przystosowanymi do różnych r systemów. Przystosowanie do pracy w Internecie tzn., możliwo liwości i wygoda w przeglądaniu witryn, wymiany protokołów w Internetowych itp. Cena. Ilość aplikacji działaj ającej na danym systemie tzn., nawet najlepiej działaj ający system będzie b niewiele wart, jeśli nie będzie b posiadał bogatego oprogramowania przystosowanego na swoją platformę. Lokalizacja (możliwo liwość porozumiewania się z systemem w narodowym języku).
Klasyfikacja systemów w operacyjnych. Pod względem sposobu komunikacji z użytkownikiem u rozróżniamy: Systemy tekstowe - pierwsze wersje DOSu, Unix Systemy graficzne - Windows, MacOS i inne Pod względem architektury, systemy operacyjne dzielimy na: Monolityczne Warstwowe Klient serwer Systemy równolegr wnoległe Systemy rozproszone
Mechanizm działania ania OS przerwania. Przerwanie (ang. interrupt) - zdarzenie sygnalizowane przez sprzęt t lub oprogramowanie za pomocą specjalnego sygnału. Najważniejsze niejsze cechy i funkcje przerwań: Obsługa przerwania polega na przekazaniu sterowania do odpowiedniej j procedury systemowej, której adres pobierany jest zwykle z systemowej tablicy adresów w (wektora przerwań). ). Adres Adres przerwanego programu musi być zapamiętany, po ukończeniu obsługi przerwania system z reguły przekazuje sterowanie z powrotem pod ten adres. W W trakcie obsługi danego przerwania najczęś ęściej blokuje się możliwo liwość przyjęcia następnych przerwań (sprzętowych), aby nie dopuści cić do zagnieżdżenia. enia. Przerwania mogą być także e generowane programowo przez użytkownika, u odpowiednim rozkazem procesora. Takie przerwania często nazywa się pułapkami (ang. trap). Możliwe jest także e generowanie przerwań przez sam procesor (np. po wystąpieniu błęb łędu), przerwania takie nazywane sąs często wyjątkami (ang. exception). Przerwania dzielą się na trzy grupy: sprzętowe - generowane przez urządzenia dzenia komputera takie jak klawiatura, czy dysk; wyjątkowe - generowane gdy wystąpi pi błąb łąd d w samym programie; programowe - generowane gdy wykonywany program potrzebuje skorzystać z dodatkowej usługi. ugi.
Koncepcja maszyny wirtualnej. Maszyna wirtualna (ang. virtual machine, VM) ) to ogólna nazwa dla programów w tworzących środowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwołania uruchamianego programu bezpośrednio do sprzętu lub systemu operacyjnego i zapewnia ich obsług ugę.. Dzięki temu program uruchomiony na maszynie wirtualnej "myśli", że e działa a na rzeczywistym sprzęcie, podczas gdy w istocie pracuje na sprzęcie wirtualnym, "udawanym" przez odpowiednie oprogramowanie (maszynę wirtualną).
Wady i zalety koncepcji wirtualnej maszyny. Bardzo dobra ochrona zasobów systemowych, wynikająca z dokładnego odizolowania każdej wirtualnej maszyny od innych wirtualnych maszyn. Z drugiej strony wyklucza to jawne współdzielenie zasobów. Bardzo dobre środowisko do badań rozwojowych nad systemami operacyjnymi. Pozwala eksperymentować na dobrze wyizolowanej, wirtualnej maszynie zamiast na maszynie fizycznej, co nie zakłóca normalnej pracy całego systemu i nie uzależnia badacza od szczegółów sprzętowych. Trudności implementacyjne, wynikające z konieczności dokładnego powielania każdej z instancji maszyny wirtualnej (duża zajętość zasobów fizycznych).
Systemy operacyjne. Microsoft Windows, Dystrybucja Linuxa, Unix.
Microsoft Windows historia.
Linux historia. W 1991 roku, fiński programista, Linus Torvalds informuje o hobbystycznym tworzeniu przez siebie niedużego, ego, wolnego systemu operacyjnego, przeznaczonego dla procesorów w z rodzin i386, oraz i486. Użycie w większo kszości oprogramowania GNU do stworzenia pełnego systemu operacyjnego czyli shella,, kompilatora, bibliotek, itp.., co jednak w przypadku niektórych komponentów w systemu wymagało o poważnych zmian, niekiedy finansowanych przez Projekt GNU, niekiedy dokonanych już wcześniej przez Linusa Torvaldsa. Dużo o pracy wymagało o także e zintegrowanie systemu do postaci dystrybucji, które umożliwia liwiały zainstalowanie go w stosunkowo prosty sposób. Jednymi z pierwszych były y opublikowany 16 lipca 1993 Slackware Linux, czy założony ony miesiąc c później p Debian, nazywający siebie GNU/Linux. Linus Torvalds, twórca jądra Linuksa
Unix historia.
Wymagania sprzętowe. WINDOWS XP LINUX UNIX Intel 386 SX Intel 386 SX Procesor Pentium III 500 MHz (tryb tekstowy) Pentium 166 MMX (tryb tekstowy) Pentium 166 MMX (tryb graficzny) (tryb graficzny) Pamięć RAM 128MB 32 MB 32 MB Obszar na dysku twardym 1,5 GB 2 MB (tryb tekstowy) 500 624 MB (tryb graficzny) 2 MB (tryb tekstowy) 500 624 MB (tryb graficzny) Inne napędy CDROM, dyskietka CDROM, dyskietka CDROM, dyskietka monitor 800 * 600 640 *480 640 *480 Karta graficzna SVGA 4 MB 1 MB 1 MB inne USB, PS/2, SCSI, SD-R/W, Audio - -
Porównanie właściwow ciwości. ci. Windows Linux Wielozadaniowość (1) + + Instalacja i konfiguracja (0.5) + - Cena( 1) - + Środowisko graficzne (0.7) + - Stabilność działania (0.9) - + Platformy sprzętowe (0.5) - + Wymagania sprzętowe - + Sieć (0.8) - + Gry (0.6) + - Otwartość systemu (0.4) - + Dokumentacja i obsługa systemu (0.3) + _ Pomoc techniczna (.2) + - Dostępność kodu źródłowego (0,5) - + Bezpieczeństwo (wirusy, zawieszenia) (0,8) - + Wykorzystanie zasobów (pamięci) (0,7) - + Sterowniki (0.8) + -
koniec