1. Cele i zadania systemu operacyjnego Windows Server Flashcards
Cele i zadania systemu operacyjnego
- Aby użytkownik mógł pracować na komputerze potrzebuje odpowiedniego oprogramowania, czyli systemu operacyjnego.
- System operacyjny pozwala na interakcję pomiędzy człowiekiem, a maszyną.
- Pierwsze systemy operacyjne powstawały w latach 50 XX wieku i były wykorzystywane do celów militarnych.
System operacyjny to
• System operacyjny to oprogramowanie, które stanowi interfejs pomiędzy użytkownikiem, a oprogramowaniem użytkowym i sprzętem.
• Dzięki SO możemy wydawać polecenia dla komputera.
• System operacyjny odpowiada za zarządzanie:
– procesami,
– pamięcią,
– pamięcią masową (dyski twarde),
– plikami,
– urządzeniami input/output,
– usługami sieciowymi,
System operacyjny powinien posiadać:
– interfejs przejrzysty dla użytkownika – wysoką wydajność – niewielki rozmiar – możliwość aktualizacji – znaczną liczbę aplikacji
Systemy operacyjne podzielić można ze względu na:
- Liczbę wykonywanych zadań
- Sposób komunikacji systemu z użytkownikiem
- Architekturę systemu
Liczbę wykonywanych zadań:
– jednoprogramowe - są przystosowane do wykonywania tylko jednego zadania, aby rozpocząć pracę następnego programu trzeba zakończyć pierwszy (MS-DOS).
– wieloprogramowe - są przystosowane do wykonywania wielu zadań na raz (Windows).
– wielozadaniowe - wielozadaniowy system operacyjny umożliwia jednoczesne działanie wielu programów, a także wielu użytkowników (wielodostęp), wykorzystując zapas mocy obliczeniowej szybkiego procesora i podział czasu (UNIX).
Sposób komunikacji systemu z użytkownikiem:
– systemy tekstowe - komunikacja przebiega przy pomocy komend wprowadzanych z linii poleceń (DOS)
– systemy graficzne - komunikacja odbywa się przy pomocy graficznych symboli (okienek oraz ikon); obsługa systemu polega na manipulacji przy pomocy myszy bądź klawiatury symbolami odpowiadającymi określonym zadaniom (MS Windows, MacOS)
Architekturę systemu:
– monolityczne - jednozadaniowe systemy posiadające najprostszą strukturę, gdzie w danym czasie może być realizowane tylko jedno zadanie
– warstwowe - posiadające hierarchiczną strukturę poleceń systemowych; możliwa jest realizacja wielu zadań jednocześnie (np. nadzorowanie procesu drukowania podczas edycji tekstu)
– klient / serwer - systemy posiadające bardzo rozbudowaną strukturę, nadzorujące podrzędne systemy zainstalowane na komputerach w sieci.
Architektura klient/serwer
Systemy te postrzegają aplikacje jako „klientów”, korzystających z usług serwerów.
Aplikacja „klient” komunikuje się z serwerem przez jądro systemowe, natomiast każdy serwer działa we własnej, chronionej i wydzielonej przestrzeni adresowej w pamięci operacyjnej, gdzie jest odizolowany od innych zadań (MS Windows Server).
Systemy klient/serwer realizują swe zadania na trzy sposoby:
- wszelkie aplikacje uruchamiane są na serwerze, a wyniki prezentowane u ”klienta”
- serwer dostarcza zasobów dla aplikacji, które uruchamiane są po stronie „klienta”
- wszelkie komputery współdziałają ze sobą na zasadzie równy z równym (peer to peer), wykorzystując wzajemnie swoje zasoby
Struktura systemu operacyjnego
• System operacyjny jest dziś najczęściej systemem dużym i złożonym.
• Jest więc tworem skomplikowanym, który musi zapewniać z jednej strony dużą niezawodność, a z drugiej łatwość rozbudowy i modyfikacji (na przykład dostosowania do szybko zmieniających się
rozwiązań sprzętowych).
• Dzisiejsze konstrukcje systemów operacyjnych mają najczęściej budowę modułową.
• Budowa taka ułatwia prace konstrukcyjne nad systemem umożliwiając podział pracy między kilka zespołów projektowych oraz ułatwia modyfikację systemu.
W systemie operacyjnym można wyróżnić trzy podstawowe warstwy:
- warstwę API (interfejsu aplikacji),
- warstwę jądra,
- warstwę sterowników urządzeń.
Podział ten jest podziałem umownym i nie musi występować w każdym systemie operacyjnym.
Struktura SO – Warstwa API
- Warstwa ta stanowi zbiór poleceń, które aplikacje użytkownika mogą wydawać systemowi operacyjnemu (na przykład: „zamknij plik”, „odczytaj znak z klawiatury”).
- Warstwa API (Application Program Interface) pełni rolę pośrednika między systemem operacyjnym, a programami użytkownika.
- Dzięki temu program nie musi troszczyć się na przykład o obsługę procesu otwierania czy zamykania pliku.
- Nie musi też posiadać wiedzy w jaki sposób w konkretnym systemie proces taki jest wykonywany.
- Całość obsługi pozostawia on systemowi operacyjnemu, który wie jak otworzyć i zamknąć plik.
- Aby programiści piszący programy użytkowe mogli korzystać z warstwy interfejsu aplikacji muszą wiedzieć jakie i w jaki sposób wydawać polecenia systemowi operacyjnemu.
- Zestaw poleceń API systemu operacyjnego jest więc udokumentowany i udostępniany programistom.
Struktura SO – Warstwa jądra
- Jądro systemu operacyjnego (ang. kernel) - podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.
- Główny interfejs między podstawowym sprzętem maszyny, a systemem operacyjnym stanowi jądro systemu, które jest najbardziej wewnętrzną warstwą SO.
- Zadaniem jądra systemu jest stworzenie pewnego środowiska, w którym mogą występować procesy.
- Jądro mieści w sobie obsługę przerwań, przełączanie procesorów od procesu do procesu, realizację mechanizmów służących do komunikacji między procesami.
Jądro systemu składa się z trzech programów:
– programu wstępnej obsługi przerwań, który inicjuje obsługę wszystkich przerwań,
– programu zwanego dyspozytorem, który przełącza CPU (procesor) od jednego do drugiego procesu,
– procedur, które realizują operacje podstawowe służące do komunikacji między procesami.
Te procedury wywołuje się w procesach za pośrednictwem od wołań do systemu.
Struktura SO – Warstwa sterowników urządzeń
- Warstwa sterowników urządzeń zajmuje się fizyczną obsługą konkretnych urządzeń systemu komputerowego.
- Jądro systemu operacyjnego nigdy samodzielnie nie kontaktuje się z takimi urządzeniami jak napędy dyskowe, karty sieciowe czy kartą graficzną.
- Zawsze pośrednikiem w tych kontaktach jest warstwa sterowników urządzeń.
- Warstwa sterowników urządzeń składa się z niewielkich programów zwanych sterownikami urządzeń.
- Programy te zajmują się obsługą konkretnych urządzeń.
- Dzięki takiej budowie systemu operacyjnego łatwo jest modyfikować i zmieniać urządzenia i ich oprogramowanie bez konieczności zmiany całego systemu operacyjnego.
Pojęcie sieci komputerowej
- Sieć komputerowa - zespół urządzeń i oprogramowania pozwalającego na połączenie komputerów (terminali sieci) w celu wymiany danych, korzystania ze wspólnych zasobów (dysków, pamięci, informacji, programów, urządzeń peryferyjnych).
- Jest to zespół komputerów i towarzyszących tym komputerom urządzeń peryferyjnych.
- Urządzenia i komputery w sieci mogą się ze sobą komunikować.
- Sieć komputerowa jest to cały zbiór sprzętu i oprogramowania.
- Umożliwia wymianę informacji między różnymi komputerami.
- Głównym zadaniem sieci jest podłączenie użytkowników do wspólnych zasobów, takich jak np. dyski twarde, drukarki.
- Przy większej liczbie terminali pracę sieci komputerowej wspomagają przełączniki - do realizacji rozgałęzień.
- Transmisję między różnymi rodzajami sieci mogą wspomagać routery, bramki komunikacyjne (gateway), mosty (bridge).
Urządzeniami niezbędnymi do uruchomienia sieci komputerowej są:
– komputery centralne (serwery),
– karty sieciowe,
– okablowanie (skrętki, światłowody),
– sieciowy system operacyjny (NOS).
Ze względu na sposób zdefiniowania komputera centralnego rozróżnia się sieci typu:
– Klient - serwer (dedykowany serwer),
– Peer to peer (równorzędnych komputerów), gdzie rolę komputera centralnego można określić na poziomie oprogramowania.
Ze względu na zasięg sieci komputerowe dzieli się na:
– LAN (lokalne),
– WAN (rozległe),
– MAN (metropolitalne).
Sieciowe Systemy Operacyjne NOS (Network Operating System)
• Sieciowy system operacyjny (NOS) - umożliwia komunikację między wieloma urządzeniami, a także zasobami sieci.
• Sieciowy system operacyjny (NOS) tworzy środowisko, w którym użytkownicy maszyn mają dostęp do zasobów sieciowych.
• Rejestrują się na zdalnych maszynach przesyłając dane między nimi i/lub własną maszyną.
• Wsparcie przesyłania danych realizują sieciowe systemy plików,
np:
– NFS (Network File System) – UNIX,
– SMB (Server Message Block) – Windows,
– NCP (NetWare Core Protocol)– Novell.
• Do komunikacji SSO niezbędna jest sieć komputerowa, w której komputery porozumiewać się będą przy pomocy odpowiedniego protokołu, np:
– TCP/IP - sieć Internet,
– IPX/SPX - sieć Novell,
Charakterystyka sieciowych systemów operacyjnych:
– Systemy wielodostępowe - umożliwiają dostęp wielu użytkowników jednocześnie,
– Systemy wielozadaniowe - muszą pozwalać na wykonywanie wielu zadań i procesów jednocześnie,
– Systemy wieloprocesorowe - skoordynowane wykonywanie programów przez więcej niż jeden procesor w komputerze lub kilka komputerów.
Wymagania stawiane współczesnym sieciowym systemom operacyjnym
• Od sieciowego systemu operacyjnego wymaga się przede wszystkim sprawnego zarządzania zasobami sieci, a także wygodnego interfejsu użytkownika.
• Współczesny sieciowy system operacyjny musi:
– być systemem wielozadaniowym,
– obsługiwać pamięć wirtualną,
– posiadać okienkowy graficzny interfejs użytkownika (GUI),
– udostępniać cały szereg innych usług
• Poza tym przed sieciowymi systemami operacyjnymi stawia się następujące wymagania eksploatacyjne:
– Rozszerzalność
– Mobilność
– Kompatybilność
– Niezawodność i odporność na zawieszenia
– Bezpieczeństwo
– Wydajność
Rozszerzalność
Rozszerzalny system operacyjny daje możliwość łatwej rozbudowy bez konieczności dokonywania zmian w systemie.
Jest to możliwe dzięki modułowej budowie oprogramowania systemowego, w której system operacyjny zbudowany jest z odrębnych modułów powiązanych ze sobą precyzyjnie zdefiniowanymi interfejsami.
Mobilność
Oprogramowanie systemowe powinno mieć możliwość przenoszenia z jednej platformy sprzętowej na inną (zmiana platformy sprzętowej związana jest nie tylko ze zmianą procesora, lecz także ze zmianą organizacji całego komputera).
Mobilne systemy operacyjne posiadają szereg wariantów realizacji dla różnych platform sprzętowych (systemy takie określa się mianem wieloplatformowych),
Kompatybilność
Współcześnie istnieje wiele systemów operacyjnych (wersje systemu UNIX, MSDOS, Windows 3.x, Windows NT, 2003, 2008, 2012, 2016), dla których na przestrzeni wielu lat opracowano znaczną liczbę aplikacji.
Z tego powodu dla użytkownika zmieniającego system operacyjny jest bardzo istotne, aby dana aplikacja pracowała także w nowym systemie.
Niezawodność i odporność na zawieszenia
System operacyjny powinien być odporny na błędy (tak wewnętrzne jak i zewnętrzne).
Działanie systemu powinno także być zawsze przewidywalne, a programy aplikacyjne nie mogą mieć wpływu na destabilizację systemu operacyjnego.
Niezawodność oraz odporność na zawieszenia jest zapewniona przede wszystkim przez odpowiednią architekturę, leżącą u podstaw budowy systemu, oraz przez jakość oprogramowania.
Bezpieczeństwo
Współczesny system operacyjny powinien chronić dane oraz inne zasoby systemu komputerowego przed nieautoryzowanym dostępem oraz zapewniać bezpieczeństwo danych przesyłanych sieciami.
W tym celu SO powinien udostępniać następujące środki:
– uwierzytelnianie użytkowników (określenie ich legalności),
– autoryzacja, czyli przydzielenie legalnym użytkownikom określonych uprawnień dostępu do zasobów komputera,
– audyt, czyli rejestracja wszystkich „podejrzanych” zdarzeń dla bezpieczeństwa systemu.
Wydajność
System operacyjny powinien cechować się możliwie dużą szybkością oraz krótkim czasem reakcji na polecenia użytkownika, w takim stopniu, w jakim pozwala na to platforma sprzętowa.
Na wydajność systemu ma wpływ wiele czynników, do najważniejszych należy zaliczyć:
– architekturę systemu operacyjnego,
– różnorodność funkcji,
– jakość oprogramowania systemowego,
– możliwość implementacji SO na wydajnej platformie sprzętowej.