Zarządzanie systemem MS Windows

Podstawowe informacje dotyczące systemów operacyjnych

Zanim tak naprawdę dowiemy się jak działają poszczególne systemy operacyjne, musimy zdawać sobie sprawę z tego, czym tak naprawdę SĄ systemy operacyjne. Pozwolę sobie przytoczyć jedną z wielu definicji systemu operacyjnego. Systemem operacyjnym nazywamy specjalistyczny program (właściwie zbiór wielu zależnych od siebie programów), dzięki któremu użytkownik może porozumiewać się ze sprzętem komputerowym. System operacyjny tworzy podkład, środowisko do uruchamiania innych programów zwanych programami użytkownika. System operacyjny powinien wspomagać pracę tych programów tak, by mogły one wykonywać swoje funkcje w sposób jak najbardziej wydajny. Rzadko można ujrzeć w literaturze ogólną definicję systemu operacyjnego. Często podaje się stwierdzenie, że jest to program komputerowy o konkretnych właściwościach. Przede wszystkim jest to program dość rozległy i mocno złożony, ponieważ musi działać pomiędzy użytkownikiem i programami wysokiego poziomu a sprzętem komputerowym. Oprócz tego, najczęściej sterowanie w systemie operacyjnym działa na zasadzie tak zwanych przerwań systemowych. Przerwanie jest impulsem elektrycznym, który mówi, że w systemie zaszło jakieś zdarzenie. Może to być na przykład ruszenie myszką czy wciśnięcie klawisza klawiatury, jednak większość przerwań ma charakter bardziej złożony. Charakterystyczną cechą systemu operacyjnego jest fakt, ze jest to program, który zostaje uruchomiony jako pierwsza aplikacja po włączeniu komputera (jest to sterowane także przerwaniem systemowym mówiącym o włączeniu zasilania) i najczęściej działa do końca pracy komputera, zamyka wszystkie programy i dopiero sama się wyłącza jako ostatnia.

Często mówi się, że systemy operacyjne napisane przez jedno pokolenie służą następnemu. Rzeczywiście, jest w tym trochę prawdy, chociaż obecnie rozwój systemów operacyjnych jest zdecydowanie szybszy niż dawniej, kiedy jedyną możliwością wyboru był UNIX lub DOS.

Okazuje się, że system operacyjny jest jednym z najważniejszych parametrów komputera, wraz z wydajnością procesora czy rozmiarem i szybkością pamięci operacyjnej. Dobry komputer bez równie dobrego systemu operacyjnego nie jest w stanie pokazać wszystkich swoich możliwości. Dlatego decyzję o tym, jaki system operacyjny będzie najlepszy dla naszego komputera, dla sprzętu i zastosowań należy podjąć świadomie.

 

Rodzaje systemów operacyjnych

Istnieje wiele różnych rodzajów systemów operacyjnych. Pierwszy podziała stosuje się ze względu na to, jak system komunikuje się z użytkownikiem. Są zatem systemy tekstowe, takie jak DOS, gdzie wydaje się polecenia poprzez pisanie rozkazów z klawiatury. Drugim rodzajem systemów są systemy graficzne, najczęściej oparte o system ikon i okienek, sterowane głównie za pomocą myszki. Tego typu rozwiązanie jest oczywiście stosowane w Windows, ale także w graficznych wersjach Linuxa oraz w wielu systemach operacyjnych dla komputerów Macintosh.

 

Drugim podziałem systemów operacyjnych na pewne klasy jest podział ze względu na architekturę systemu.

I tak, mamy systemy operacyjne monolityczne, takie jak DOS, gdzie system jest jednowątkowy i w jednym czasie może być na nim uruchomiony tylko jeden program. Jest to system bardzo prosty, bez obsługi wielowątkowości, która jest kluczowa w nowoczesnych systemach operacyjnych.

Drugim rodzajem systemów są systemy warstwowe, gdzie różne elementy systemu są ułożone w sposób hierarchiczny. Systemy warstwowe potrafią wykonywać kilka czynności naraz.

No i w końcu mamy systemy operacyjne o architekturze klient-serwer. Są to systemy bardzo złożone i skomplikowane. Pojawiają się najczęściej tam, gdzie mamy sieć w której jeden z komputerów musi sprawować nadzór nad wieloma systemami istniejącymi w sieci. Wówczas każdy z komputerów sieciowych może wysłać do serwera żądanie uruchomienia jakiejś aplikacji klienckiej. Każdy z komputerów działających w sieci działa w swojej przestrzeni adresowej, dzięki czemu nie ma mowy o jakiejś kolizji czy pisaniu po czyjejś pamięci operacyjnej.

Serwery działają na dwa sposoby. Pierwszym z nich jest możliwość wykonywania wszystkich działań przez serwer i wysyłanie tylko wyników działań do komputera klienta. W ten sposób działają na przykład serwery baz danych. Wysyłamy zapytanie do bazy, serwer wykonuje je i zwraca wyniki. Drugą możliwością jest wysłanie tylko danych do komputera klienta, a ten tworzy sam odpowiedzi na pytania. W ten sposób działają na przykład strony internetowe. Serwery wysyłają czysty hipertekst, który jest interpretowany przez przeglądarkę po stronie klienta. Jeśli na przykład na stronie znajduje się funkcja języka JavaScript, wykonywana jest ona właśnie przez przeglądarkę klienta.

Oczywiście w sieci nie musi być wykorzystywana architektura klient-serwer. Często, zwłaszcza w małych lub tymczasowych sieciach, wykorzystuje się architekturę "peer-to-peer", czyli "równy z równym". W takiej sieci każdy komputer ma takie same prawa i każdy korzysta na tych samych zasadach z zasobów innych komputerów. Często wówczas zdarza się, że tymczasowo jeden komputer jest zarówno serwerem, ponieważ ktoś korzysta z jego zasobów, i klientem, ponieważ sam korzysta z pracy innego komputera w sieci.

 

Cechy systemu operacyjnego

Istnieje wiele różnych kryteriów, które określają jak dobry jest dany system operacyjny.

Liczy się oczywiście łatwość instalacji i obsługi, zwłaszcza jeśli system ma być użytkowany w sposób amatorski, na przykład jako komputer biurowy czy domowy. Dlatego większość użytkowników decyduje się na zakup systemu okienkowego, o intuicyjnej obsłudze i instalacji.

Kolejnym kryterium doboru systemu powinien być fakt, czy dobrze "dogaduje się" on z różnorodnymi programami. Dlatego warto wiedzieć, czy na przykład jeśli w sieci będzie inny system operacyjny, to czy nasz będzie w stanie odczytać coś z jego partycji? Oczywiście większość systemów ma możliwość podłączenia do sieci lokalnych czy Internetu, jednak warto zaopatrzyć się w system, który nie będzie miał problemów z innymi systemami operacyjnymi. Tutaj wybór jest trudny, ponieważ największym potentatem na rynku europejskim jest oczywiście Windows, który raczej z zasady nie chce współpracować z innymi systemami operacyjnymi.

Wybierając system operacyjny należy sprawdzić, czy w ogóle ruszy on na naszym komputerze. Najnowsze systemy operacyjne wymagają na przykład dużo pamięci operacyjnej, przez co są bezużyteczne dla starych komputerów. Również nie należy stawiać systemu Windows na Macintoshu, ponieważ architektura Windowsa jest przeznaczona do komputerów klasy IBM PC. Często zdarza się także, że dana konfiguracja komputera jest na tyle dziwna, że jakiś system może nie posiadać odpowiednich sterowników sprzętowych.

Kolejną rzeczą na którą należy zwrócić uwagę jest fakt, czy dany system operacyjny potrafi działać z aplikacjami, które zapisują dokumenty w innym formacie? Innymi słowy, czy przeznaczony dla Windowsa Microsoft Office będzie w stanie otworzyć napisany pod Linuxem dokument tekstowy? Okazuje się, że najczęściej w tę stronę nie ma problemów, jednak w drugą często nie jest to możliwe. Microsoft skutecznie broni się przez wprowadzeniem jednego standardu plików dokumentów.

Warto także zastanowić się, czy dla danego systemu operacyjnego istnieje na rynku wiele różnych aplikacji użytkowych. Co nam po systemie, który jest sam sobie, a aplikacji do niego nie ma? Dlatego na przykład warto zastanowić się czy rzeczywiście zainstalować Linuxa, skoro prawie nie ma do niego gier komputerowych.

Ostatnimi elementami na które należy zwrócić uwagę jest oczywiście cena oraz lokalizacja, czyli czy dany system operacyjny działa w lokalnym języku. Często bariera językowa jest zbyt duża, by zdecydować się na zakup systemu operacyjnego na przykład w języku angielskim. Jeśli chodzi o cenę, wśród systemów operacyjnych oczywiście wygrywa Linux, który jest systemem darmowym, a z kretesem przegrywa Windows, którego cena woła o pomstę do nieba.

 

Zadania systemu operacyjnego

Istnieje wiele różnych zadań, jakie systemy operacyjne muszą spełniać w dzisiejszych komputerach.

Przede wszystkim, systemy operacyjne zarządzają działaniem innych programów uruchomionych przez użytkownika. System pilnuje, aby każdy z programów miał przydzieloną izolowaną przestrzeń adresową, tak by nie pisał po nie swojej pamięci.

Oprócz tego system steruje także zasobami komputera. Mowa tu nie tylko o optymalizacji działania procesora i pamięci operacyjnej, ale także o zarządzaniu różnymi urządzeniami podłączonymi do komputera. System może kierować działaniem urządzeń dzięki specjalnym pakietom i narzędziom, zwanym sterownikami. Każdy sterownik udostępnia programom użytkownika pewien interfejs, dzięki któremu za pośrednictwem systemu aplikacje współdziałają ze sprzętem zainstalowanym w komputerze. Większość produkowanego obecnie sprzętu posiada dołączone na płycie sterowniki dla najpopularniejszych systemów operacyjnych.

Każdy system operacyjny ma za zadanie współdziałać z plikami przechowywanymi na dyskach. Systemy operacyjne tworzą na partycjach własny system plików, dzięki któremu wiedzą, gdzie dany plik się znajduje. Pliki w komputerze oprócz tego, że istnieją gdzieś fizycznie zapisane na dysku, posiadają także strukturę logiczną - są ułożone hierarchicznie w katalogi. System musi wiedzieć, gdzie znajduje się na dysku plik o danej lokalizacji logicznej.

System operacyjny współdziała z aplikacjami klienta, dostarczając im potrzebnych im elementów bez wdawania się w szczegóły. Kiedy aplikacja potrzebuje jakiegoś pliku, system odnajduje go, czy to w zasobach lokalnych, czy też w sieci, i udostępnia go aplikacji. Przy czym sama aplikacja nie wie, czy plik został ściągnięty przez system z sieci, czy też znajduje się na komputerze lokalnym. Wszystkie tego typu zadania ukrywania niepotrzebnych szczegółów przed programami użytkownika wykonuje właśnie system operacyjny.

Bardzo ważną cechą współczesnych systemów operacyjnych jest zapewnienie wielozadaniowości lub wielowątkowości. Dzięki temu system operacyjny jest w stanie obsługiwać wiele programów naraz. System sam stwierdza i decyduje, której aplikacji należy przydzielić w danej chwili procesor, a którą można odsunąć od wykonywania, bo na przykład czeka ona na jakieś informacje z dysku.

Istnieje w systemie konkretny proces, zwany powłoką systemową. W wielu systemach jest to integralna część całego programu, często jest też tak, że możemy wymieniać powłoki systemowe na inne, które bardziej pasują do naszej pracy (tak jest na przykład w systemach z rodziny UNIX). Zadaniem powłoki systemowej jest współpraca z użytkownikiem. Wiemy, że współpraca taka może się odbywać graficznie lub tekstowo. Zadaniem powłoki jest odbieranie rozkazów od użytkownika i przekazywanie ich do systemu operacyjnego w celu wykonania.

Ważnym zadaniem systemu operacyjnego jest współdziałanie z innymi komputerami w sieci. W dawnych czasach istniało wiele systemów operacyjnych, które nie były w stanie obsługiwać połączeń sieciowych. Dziś raczej trudno jest sobie wyobrazić działanie z komputerem bez możliwości podłączenia go do sieci. Dzięki sieci komputerowej mamy dostęp do zasobów innych komputerów, do drukarek sieciowych czy w końcu do wielu serwerów WWW za pośrednictwem sieci Internet.

Większość użytkowników działa z systemem operacyjnym na zasadzie amatorskiej. Ich znajomość systemu operacyjnego ogranicza się do zarządzania plikami.

 

Warstwy systemu operacyjnego

Obecnie na rynku komputerów osobistych królują systemy o architekturze sieciowej. W ogólności wyróżnia się trzy warstwy systemu, są to warstwa fizyczna, która decyduje o tym, jak wygląda współpraca ze sprzętem komputerowym, warstwa jądra systemu, czyli wszystkie narzędzia będące pośrednikami pomiędzy użytkownikiem a sprzętem, oraz wspominana już powłoka systemowa, czyli interfejs, do którego dostęp ma użytkownik. Różne systemy różnie realizują nie tylko poszczególne warstwy (zwłaszcza jądro systemowe jest w każdym z systemów inne), ale także połączenia i współpracę pomiędzy poszczególnymi warstwami systemu.