1. Wprowadzenie
Bez względu na to, czy korzystamy z komputera stacjonarnego czy urządzenia mobilnego, do poprawnej i intuicyjnej obsługi potrzebujemy systemu operacyjnego. Ich graficzne wersje upowszechniły się wraz z debiutem jednej z kolejnych wersji Windowsa i to właśnie w takiej formie najczęściej z nich korzystamy. Do ważniejszych systemów operacyjnych zaliczamy – Windows (w tym Windows 10), Linux czy Mac, ale takżesystemy na smartfony, czyli iOS, Android czy Cyanogen OS.
System operacyjny (ang. Operating System) jest środowiskiem programów tworzących główną platformę programową umożliwiającą działanie zainstalowanego w systemie oprogramowania. OS nadzoruje pracę wszystkich uruchomionych procesów oraz urządzeń komputera. Pomimo iż swą pracę wykonuje przeważnie w tle i sam w sobie nie tworzy z komputera w pełni funkcjonalnego narzędzia jednak bez niego komputer jest kompletnie bezużyteczny. System operacyjny zainstalowany na dysku twardym komputera decyduje jakie oprogramowanie może zostać uruchomione pod jego kontrolą, wpływa na bezpieczeństwo danych, realizuje połączenia do sieci nadzorując podrzędne systemy pracujące na innych komputerach, określa kompatybilność wobec innych systemów, decydując o funkcjonalności stabilności pracy. Niestety nie istnieje system idealny, każdy ma swoje zalety i wady.
Główne zadania stawiane przed systemami operacyjnymi to:
- zarządzanie zasobami komputera – systemy operacyjne staruję oraz optymalizują wykorzystanie określonych urządzeń, które wchodzą w skład zestawu komputerowego; specjalne moduły zwane sterownikami, które składają się na system operacyjny udostępniają aplikacjom spójne metody programowania urządzeń (interfejsy), co gwarantuje współdziałanie każdego nowego urządzania z oprogramowaniem (jeżeli producent dostarczy właściwy sterownik)
- gromadzenie oraz zarządzanie danymi – systemy operacyjne wyposażone są w modułu obsługujące system plików, czyli struktury umieszczone na dyskach, pomagające w logiczny sposób uporządkować dane, grupując je w katalogi i pliki
- maszyny wirtualne – systemy operacyjne udostępniają aplikacjom tzw. maszyny wirtualne, czyli uproszczone obrazy maszyn, na których pracują aplikacje; system udostępnia aplikacjom szczegóły dna temat komputera oraz rozszerzenia ułatwiające pracę (np. zasoby udostępniane poprzez sieć aplikacje widzą tak, jakby znajdowały się one na dysku lokalnym; aplikacja, która korzysta z takiego zasobu nie obsługuje pracy sieciowej, więc aby umożliwić jej dostęp do zasobu, system operacyjny symuluje, jest zasób ten jest lokalny udostępniając go dla aplikacji)
- wielozadaniowość – na pojedynczym komputerze funkcjonować może wiele aplikacji w jednym czasie; każda aplikacja otrzymuje swoją maszynę wirtualną i może pracować jakby była pojedynczym programem działającym na maszynie; dzięki takiej właściwości systemów operacyjnych nie ma potrzeby przystosowywania aplikacji, by mogła dzielić się daną maszyną z innymi aplikacjami
- interakcja z użytkownikiem – rolę tę spełnia najbardziej zewnętrzna warstwa systemu operacyjnego zwana powłoką (ang. shell), która pozwala użytkownikowi uruchamiać aplikacje; w systemach graficznych do powłoki zaliczają się także typowe elementy interfejsu, z których korzysta aplikacja, jak kontrolki czy okna dialogowe
- komunikowanie się z innymi komputerami – jest to jeden z najistotniejszych elementów systemów operacyjnych; dzięki modułom obsługi sieci można uzyskać dostęp do Internetu, do dysków komputerów stojących w sąsiednim pomieszczeniu czy sieciowych urządzeń peryferyjnych jak drukarki czy skanery
Najważniejszymi cechami, które decydują o użyteczności danego systemu operacyjnego są:
- prostota instalacji oraz użytkowania systemu
- współpraca z innymi systemami, czyli możliwość odczytu i zapisu danych na partycjach z innych systemów a także współpraca oraz wymiana danych między komputerami w sieciach lokalnych i Internecie
- zgodność sprzętowa (instalację na konkretnej maszynie utrudnia czasami brak właściwych sterowników dla określonych urządzeń)
- wymiana danych, czyli możliwość przeglądania oraz wymiany dokumentów pomiędzy różnymi aplikacjami pracującymi pod kontrolą różnych systemów
- możliwość pracy sieciowej (wygoda podczas przeglądania zasobów sieciowych, wymiany protokołów, itp.)
- cena
- liczba aplikacji, które działają w danym systemie (nawet najlepiej pracujący system będzie niemal bezużyteczny, jeżeli oferta oprogramowania, które współpracuje z tym systemem będzie niewielka)
- lokalizacja (możliwość komunikacji użytkownika z systemem w ojczystym języku)
Systemy operacyjne podzielić można ze względu na:
1. Sposób komunikacji systemu z użytkownikiem:
- systemy tekstowe – komunikacja przebiega przy pomocy komend wprowadzanych z linii poleceń (DOS, CP/M)
- 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ącym określonym zadaniom (MC Windows, MacOS)
2. 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ąc bardzo rozbudowaną strukturę, nadzorujące podrzędne systemy zainstalowane na komputerach w sieci; 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ń; 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 (ang. peer to peer), wykorzystując wzajemnie swoje zasoby
2. Systemy operacyjne
DOS (ang. Disk Operating System) – pierwszy przenośny (dyskowy) system operacyjny (OS) komputerów PC i mikrokomputerów lat 80. zawierający m.in. rozszerzenia programowe procedur sprzętowych BIOSu oraz interpreter poleceń.
- BIOS (akronim ang. Basic Input/Output System – podstawowy system wejścia-wyjścia) – zapisany w pamięci stałej zestaw podstawowych procedur pośredniczących pomiędzy systemem operacyjnym a sprzętem. Posiada on własną pamięć konfiguracji, w której znajdują się informacje dotyczące daty, czasu oraz danych na temat wszystkich urządzeń zainstalowanych w komputerze. Jest to program zapisany w pamięci ROM płyty głównej oraz innych kart rozszerzeń takich jak np. karta graficzna.
- Interpreter (interpretator) poleceń (ang. command processor) – część systemu operacyjnego odpowiedzialna za tłumaczenie i wykonywanie poleceń systemowych wprowadzanych przez użytkownika w trybie konwersacyjnym lub w trybie wsadowym. W czasach komputerów 8-bitowych interpreterem poleceń był często interpreter języka BASIC, który wbudowywano w pamięć ROM, i który był automatycznie uruchamiany przy starcie urządzenia.
Windows – rodzina systemów operacyjnych wyprodukowanych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
Prezentację pierwszego graficznego środowiska pracy z rodziny Windows firmy Microsoft przeprowadzono w listopadzie 1984. Wówczas była to graficzna nakładka na system operacyjny MS-DOS, powstała w odpowiedzi na rosnącą popularność graficznych interfejsów użytkownika, takich jakie prezentowały na przykład komputery Macintosh (dla nowszych modeli przyjmuje się nazwę Mac) – komputer osobisty przedsiębiorstwa Apple.
Historia systemu od Windows 1 do Windows 10
Systemy Linux
Linux pod nazwą Android podbił świat i króluje na smartfonach i tabletach – jest intuicyjny, wygodny i prosty w obsłudze. Podobne są Linuksy na komputer – na przykład Kubuntu: efektowny, intuicyjny i… przypominający Windows 10.
Systemy Linux są udostępniane na zasadzie Open Source. Oznacza to, że są darmowe i dostępne dla wszystkich. Każdy może swobodnie z nich korzystać oraz ingerować w kod źródłowy i w jądro systemu. I dlatego jest tak wiele odmian, czyli dystrybucji Linuksa.
Android
Android – system operacyjny z jądrem Linux dla urządzeń mobilnych takich jak telefony komórkowe, smartfony, tablety (tablety PC) i netbooki.
Na niektórych urządzeniach dostępny jest już Android 7.0 Nougat