System operacyjnySystem operacyjny (ang. operating system lub OS), to program (w sensie ogólnym, w realizacji - układ wielu programów) działający jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie bezpiecznego i niezawodnego środowiska, w którym użytkownik może wykonywać swoje programy w sposób wygodny i wydajny. Nie podaje się jednoznacznej definicji systemu operacyjnego, w zamian operuje się cechami wyróżniającymi ten rodzaj oprogramowania. Są to m. in.: 1) duża złożoność (80 tys. jednostek funkcjonalności i więcej); 2) systemy operacyjne są sterowane przerwaniami (zdarzeniami); 3) system operacyjny rozpoczyna działanie jako pierwszy program w komputerze i nie zaprzestaje działania aż do wyłączenia komputera. Pod względem sposobu komunikacji z użytkownikiem rozróżniamy: systemy tekstowe - komunikujące się za pomocą wydawanych z linii poleceń komend (CP/M, DOS) systemy graficzne - komunikujące się za pomocą graficznych okienek i symboli (ikon). Obsługa komputera polega na manipulowaniu, za pomocą kursora myszy lub klawiszami, symbolami które odpowiadają określonym zadaniom (Windows, MacOS i inne). Z kolei pod względem architektury, systemy operacyjne dzielimy na: monolityczne - o najprostszej strukturze i jednozadaniowe, czyli gdy system może jednocześnie wykonywać tylko jedno zadanie. warstwowe - o hierarchicznej strukturze poleceń systemowych, system może już wykonywać w tym samym czasie kilka poleceń (np. nadzorować proces drukowania w czasie edycji tekstu w programie). klient/serwer - o bardzo rozbudowanej strukturze, gdzie pełnią nadzór nad podrzędnymi systemami zainstalowanymi w poszczególnych komputerach sieci. Aplikacje postrzegane są przez system operacyjny jako "klienci" dostarczających im swoich usług serwerów. "Klienci" komunikują się z serwerami poprzez jądro systemu a każdy serwer pracuje w własnej, wydzielonej i chronionej przestrzeni adresowej pamięci operacyjnej, dobrze odizolowany od innych procesów. Systemy typu klient/serwer rozporządzają i wykonują zadania na trzy sposoby: 1 - wszystkie aplikacje wykonywane są przez serwer a wyniki wyświetlane na ekranie "klienta". 2 - serwer dostarcza danych dla aplikacji uruchamianych na komputerze "klienta". 3 - wszystkie komputery współpracują ze sobą jak równy z równym (peer to peer), korzystając wzajemnie ze swoich zasobów. Najważniejsze cechy jakie decydują o użyteczności systemu: - Łatwość instalacji i użytkowania systemu. - Koegzystencja z innymi systemami tzn., możliwość czytania i zapisywania danych na partycjach innych systemów oraz współpraca i wymiana danych pomiędzy komputerami w sieci lokalnej i Internecie. - zgodność sprzętowa tzn., możliwość instalacji na konkretnym komputerze utrudnia czasem brak odpowiednich sterowników do określonych urządzeń. - wymiana danych tzn., możliwość czytania i wymiany dokumentów między różnymi aplikacjami przystosowanymi do różnych systemów. - przystosowanie do pracy w Internecie tzn., możliwości i wygoda w przeglądaniu witryn, wymiany protokołów Internetowych itp.. - Cena - Ilość aplikacji działającej na danym systemie tzn., nawet najlepiej działający system będzie niewiele wart, jeśli nie będzie posiadał bogatego oprogramowania przystosowanego na swoją platformę. - Lokalizacja (możliwość porozumiewania się z systemem w narodowym języku). Co robi system operacyjny? System operacyjny to zbiór procedur i programów pośredniczących między uruchamianymi aplikacjami a sprzętem. Podczas codziennej pracy komputera system operacyjny jest zawsze obecny , działa od chwili startu (chwilę po włączeniu komputera) do momentu zakończenia pracy. Podstawowe zadania przypisywane dzisiejszym systemom operacyjnym to: - Zarządzanie zasobami maszyny. System operacyjny optymalizuje wykorzystanie poszczególnych urządzeń wchodzących w skład komputera oraz steruje nimi. Specjalne moduły wchodzące w skład systemu operacyjnego (sterowniki) udostępniają aplikacjom jednolity sposób programowania urządzeń (interfejs), dzięki czemu każdy nowy sprzęt będzie współdziałać ze wszystkimi aplikacjami, o ile producent sprzętu przygotuje odpowiedni sterownik. - Gromadzenie danych na dyskach i zarządzanie nimi. Każdy system operacyjny jest wyposażony w moduł obsługujący system plików. System plików to struktura danych umieszczonych na dysku, która pomaga logicznie uporządkować dane, dzieląc je na pliki i grupując w katalogach. - Maszyny wirtualne. System operacyjny udostępnia aplikacji tzw. maszynę wirtualną, czyli uproszczony obraz maszyny, na której pracuje aplikacja. System udostępnia aplikacji szczegóły dotyczące komputera oraz dodatkowe rozszerzenia, które ułatwiają pracę (np. katalog udostępniony przez sieć aplikacja widzi tak samo, jak znajdujący się na lokalnym dysku. Aplikacja korzystająca z takiego katalogu nie zajmuje się obsługą sieci. Aby mogła się tam dostać, system operacyjny udaje, że jest to katalog lokalny i udostępnia go aplikacji). - Wielozadaniowość. Na jednym komputerze może działać wiele aplikacji jednocześnie. Każda otrzyma własną maszynę wirtualną i będzie mogła działać tak, jakby była jedyną aplikacją pracującą na komputerze. Dzięki temu nie trzeba specjalnie przystosowywać aplikacji, aby mogła "podzielić się" maszyną z innymi (np. przez zwrócenie procesora innej aplikacji). - Interakcja z użytkownikiem. Tę rolę spełnia zewnętrzna warstwa systemu, nazywana powłoką (shell), która umożliwia użytkownikowi uruchomienie aplikacji. W środowiskach graficznych do tej części systemu zalicza się również standardowe elementy interfejsu wykorzystywane przez aplikacje, np. standardowe okienka dialogowe, kontrolki itd. - Komunikacja z innymi maszynami. To jeden z najważniejszych elementów systemu. Dzięki modułom obsługującym sieć mamy dostęp zarówno do Internetu, jak i do dysków komputera stojącego na sąsiednim biurku lub do drukarki sieciowej. Warstwy systemu: W każdym systemie operacyjnym występują mniej lub bardziej wyodrębnione warstwy, spełniające różne funkcje. W ogólnym modelu są to: warstwa odpowiedzialna za współpracę ze sprzętem, jądro systemu realizujące jego funkcje oraz powłoka, stanowiąca interfejs użytkownika. O różnicach między systemami decydują przede wszystkim sposoby komunikowania się systemu z aplikacjami oraz same rozwiązania realizacji poszczególnych funkcji w systemie. O systemach operacyjnych powiada się (zgodnie z rzeczywistością), że są pisane przez jedno pokolenie, a używane przez następne. Systemy operacyjne są kamieniami milowymi w historii informatyki. Od architektury systemu operacyjnego zależą takie niebagatelne cechy użytkowe systemu, jak efektywność i stabilność działania. Na rynku systemów operacyjnych dla komputerów PC konkurują ze sobą trzy architektury Windows 98/Millennium, Windows XP z technologią NT, oraz zyskujący coraz większą popularność Linux. System operacyjny jest praktycznie niewidoczny, widzimy jedynie jego interfejs do komunikacji z użytkownikiem. Widoczny interfejs to tylko jeden z wielu elementów istotny, ale bynajmniej nie najważniejszy, np. uroda Windows przyczyniła się do popularyzacji tego systemu, ale w żaden sposób nie wpływa na stabilność systemu. Systemom operacyjnym komputerów stawia się wiele zadań, w zasadzie identycznych dla wszystkich. Sposób realizacji tych zadań, szybkość, a nierzadko nawet możliwość ich wykonania, zależą od architektury systemu. Również od architektury systemu zależy jego stabilność - cecha bardzo istotna w wielu zastosowaniach, a zawsze bardzo pożądana.
Zadania systemu operacyjnego
Zarządzanie zasobami komputera, m.in.: procesorem (a dokładniej czasem procesora), pamięcią, urządzeniami peryferyjnymi oraz przydzielanie zasobów procesom, koordynacja pracy w/w urządzeń poprzez obsługę przerwań oraz odpowiednie na nie reagowanie, ochrona danych i pamięci - tak aby jeden proces, w wyniku błędu lub zamierzonego działania nie mógł zniszczyć lub pozyskać danych innego procesu, automatyzacja najczęściej wykonywanych funkcji, System operacyjny jest ładowany do pamięci na początku pracy komputera. Program ten ma bardzo specyficzny charakter : w przeciwieństwie do programów użytkowych (aplikacji) nie korzysta z żadnych gotowych funkcji, tylko sam je udostępnia, a więc od niego zależą rzeczywiste możliwości wykorzystania sprzętu komputerowego.
Budowa systemu operacyjnegoPrzyjęto podział na trzy główne elementy budowy systemu operacyjnego: jądro systemu wykonywające w/w zadania, powłoka - specjalny program komunikujący użytkownika z systemem operacyjnym, system plików - sposób zapisu struktury danych na nośniku.
Architektury systemów operacyjnych
Monolityczna - najprostsza, jedno jądro systemu, tylko w komputerach jednozadaniowych warstwowa - hierarchia poleceń systemowych klient/serwer - aplikacje (programy użytkowe) postrzegane są przez system operacyjny jako klienci dostarczających im swoich usług serwerów. Klienci komunikują się z serwerami poprzez jądro systemu, każdy serwer pracuje w własnej, wydzielonej i chronionej przestrzeni adresowej pamięci operacyjnej, dobrze odizolowany od innych procesów. Trzy wersje klient/serwer: a) wszystkie aplikacje wykonywane są przez serwer a wyniki wyświetlane na ekranie klienta; b) serwer dostarcza danych dla aplikacji uruchamianych na komputerze klienta; c) wszystkie komputery współpracują ze sobą jak równy z równym (peer-to-peer), korzystając wzajemnie ze swoich zasobów.
damianwyrostek4