Rola i zadania systemu operacyjnego

Transkrypt

Rola i zadania systemu operacyjnego
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
Rola i zadania systemu operacyjnego
Pierwsze komputery budowane były w celu rozwiązania konkretnego problemu. Jeżeli za
pomocą komputera miało być rozwiązane inne zadanie, należało zbudować inny komputer lub w
najlepszym razie zmienić fizyczną budowę już istniejącego.
Sytuacja zmieniła się od momentu opracowania przez Johna von Neumanna modelu logicznego komputera, który składa się z trzech podstawowych bloków: procesora, pamięci
i urządzeń zewnętrznych, które służą do wprowadzania danych i programów oraz wyprowadzania wyników (urządzenia wejścia-wyjścia, ang. I/O devices). Do połączenia wszystkich elementów komputera służy magistrala. Wyróżniamy w niej szynę sterującą (przesyła sygnały
sterujące pracą urządzeń), szynę adresową (przesyła adresy do komórek pamięci) oraz szynę
danych (przesyła dane między elementami komputera).
Dzięki zastosowaniu architektury Johna von Neumanna uwolniono się od konieczności dokonywania zmian w fizycznej budowie komputera. Przy zmianie obliczeń wystarczyło odtąd
umieścić w pamięci operacyjnej inny program. Pojawił się jednak kolejny problem: każdy program był tworzony dla konkretnej maszyny i potrafił współpracować ze ściśle określoną elektroniką komputera i urządzeń peryferyjnych. Nie można było zatem raz napisanego programu
przenieść na komputer innej firmy, a dodatkowo każda modernizacja sprzętu w celu zwiększenia
szybkości jego działania wymuszała konieczność napisania nowej wersji programu.
Istotą wynalazku maszyny von Neumanna było utrzymywanie w pamięci komputera zarówno programu, jak i danych oraz możliwość wymiany programu i danych
na inne. Zarówno program, jak i dane są przechowywane w pamięci w kodzie dwójkowym, a ich przetwarzanie odbywa się w arytmometrze.
Praktycznie wszystkie komputery są budowane według pomysłu von Neumanna, nazywanego też architekturą vonneumannowską.
W latach sześćdziesiątych ubiegłego wieku projektanci komputerów i programiści wpadli
na pomysł odseparowania programów użytkowych od sprzętu komputerowego. Pracą komputera miało zarządzać specjalne oprogramowanie, zwane systemem operacyjnym.
Pierwsze systemy operacyjne, tworzone głównie przez producentów komputerów, były
przypisane określonemu typowi komputera. Najczęściej takie systemy operacyjne był na stałe
zapisane w pamięci typu ROM w komputerze. Rozwiązanie to sprawdzało się w czasach, gdy
systemy oferowały jedynie podstawowe usługi w zakresie zarządzani komputerem. Gdy systemy
operacyjne zaczęły realizować coraz bardziej zawansowane zadania przy coraz szybciej modernizującym się sprzęcie, powstała idea pisania systemów, które będą niezależne od elektroniki
maszyny. Systemy takie nazywamy systemami otwartymi. Wszystkie powszechnie używane
współcześnie systemy przeznaczone dla komputerów osobistych są systemami otwartymi.
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
Obecnie nie tylko komputery wyposażone są w systemy operacyjne. Posiadają
je również palmtopy, telefony komórkowe, sprzęt audiowizualny oraz wiele innych
elektronicznych urządzeń. Na potrzeby małych urządzeń powstają specjalistyczne
systemy operacyjne, takie jak Windows CE, PalmOS, Symbian i różne tzw. embedded Linux (ang. embedded - osadzony).
Definicja systemu operacyjnego
System operacyjny to oprogramowanie operujące bezpośrednio na sprzęcie, którego celem jest:
a) zarządzanie zasobami systemu komputerowego
b) stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania
podczas pracy
Zadaniem systemu operacyjnego jest utworzenie środowiska dla uruchamiania i pracy
programów. Jest ono realizowane poprzez bardzo wiele funkcjonalnych pakietów systemu operacyjnego.
Użytkownik i programy uruchamiane na komputerze z systemem operacyjnym nie odwołują się bezpośrednio do maszyny fizycznej (elektroniki komputera), tylko do funkcji udostępnianych przez system operacyjny, będący dla innych programów maszyną wirtualną.
Idea systemu otwartego nie miała by sensu, gdyby system ten musiał się komunikować
bezpośrednio z elektroniką sprzętu. Przy tak dużej liczbie producentów różnych rodzajów płyt
głównych, architektur procesorów czy typów pamięci albo powstawałoby wiele odmian jednego
systemu operacyjnego albo wszystkie firmy produkowałyby identyczne urządzenia. Dlatego
współczesne systemy operacyjne są uruchamiane na maszynie wirtualnej, jaką stanowi dla
niego BIOS i sterowniki urządzeń.
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
Ogólna charakterystyka systemu operacyjnego
System komputerowy można przedstawić w postaci modelu warstwowego. System odwołuje się do elektroniki komputera poprzez BIOS i sterowniki, chociaż możliwe jest jego bezpośrednie komunikowanie się ze sprzętem. Istnieją również aplikacje, które bezpośrednio odwołują się do sprzętu. Nie jest to jednak korzystne dla stabilności i zasobów komputera.
System operacyjny jest zbiorem programów, wśród których możemy wyodrębnić:

jądro - jest najważniejszą częścią systemu operacyjnego, która działa zawsze.
Zajmuje się ono przydzielaniem czasu procesora poszczególnym programom, przydzielaniem pamięci i obsługą pamięci masowych

powłokę – pozwala na komunikację programów użytkownika i użytkownika z jądrem systemu; powłoki mogą być tekstowe lub graficzne. Najbardziej znane powłoki tekstowe to: command.com w systemie DOS oraz bash, sh, csh w systemach linuksowych. Najbardziej popularne powłoki graficzne to z kolei: Eksplorator w systemie Windows oraz GNOME i KDE w systemach Linuksowych.

programy użytkowe
Większość współczesnych systemów operacyjnych ma budowę warstwową.
Najniższą jest BIOS. Warstwa ta udostępnia różne usługi pozostałej części systemu operacyjnego, związane z wymianą informacji pomiędzy urządzeniami komputerowymi — dyskiem,
klawiaturą, ekranem, portami. Drugą, wyższą warstwę tworzy jądro systemu (ang. Kernel),
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
który pośredniczy pomiędzy programami a usługami BIOS. Kernel oddaje do dyspozycji funkcje
znane razem jako API, (ang. Application programing interface). Trzecią warstwą jest powłoka
systemowa, która odpowiada za komunikację z użytkownikiem — do jego zadań należą min.
operacje na plikach czy uruchamianie programów użytkowych.
System operacyjny zarządza czterema typami operacji:

uruchamianiem, nadzorem i zakończeniem procesów aplikacji. Zadaniem
systemu operacyjnego jest wczytanie aplikacji do pamięci i jej uruchomienie

alokacją pamięci. Zadaniem systemu jest przydzielenie aplikacji potrzebnej jej
ilości pamięci i zwolnienie obszarów pamięci dłużej nie używanych

operacjami wejścia-wyjścia (I/O) plików. System plików (ang. File system)
jest integralną częścią systemu operacyjnego. Jego zadaniem jest zarządzanie likami przechowywanymi w pamięci masowej. System plików nadzoruje: tworzenie, otwieranie, kasowanie, zmienianie nazw plików i katalogów, oraz przesyłanie
danych do i z pliku. Zadaniem systemu operacyjnego jest również zlokalizowanie
pliku na dysku i odtworzenie jego logicznej struktury

urządzeniami wejścia-wyjścia. Ostatnim zadaniem systemu operacyjnego
jest porozumiewanie się z urządzeniami wejścia-wyjścia, takimi jak karta graficzna, klawiatura czy myszka. Program komunikuje się z urządzeniem przez systemowy sterownik urządzenia (ang. Device driver).
Wszystko, co producent udostępnia w ramach zbioru oprogramowania nazywanego systemem operacyjnym, stanowi jego cześć. (Podejście takie było przyczyną wielu problemów prawnych firmy Microsoft).
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL

W ogólnym przypadku w strukturze systemu operacyjnego wyróżnia się:
o
Jądro (ang. kernel) – to zbiór modułów, który ukrywa szczegóły sprzętowej pracy systemu komputerowego udostępniając zestaw usług
o
Programy systemowe, które dostarczane są razem z systemem operacyjnym,
ale nie stanowią integralnej części jądra
Efektywność zarządzania zasobami oraz wygodny interfejs dla użytkownika są dwoma ogólnymi, niezależnymi celami projektowymi systemów operacyjnych. Pierwszy z tych celów
był kluczowy w rozwoju rodziny systemów uniksowych. Dopiero w późniejszych etapach ich
rozwoju pojawił się intuicyjny okienkowy interfejs użytkownika.
Systemy rodziny MS Windows zorientowane były natomiast przede wszystkim na interfejs
użytkownika, na bazie którego w późniejszych etapach rozwoju powstawał pełnowartościowy
system operacyjny, uwzględniający szerzej rozumiane zarządzanie zasobami.
Początki systemu operacyjnego DOS
System CP/M uznawany jest za protoplastę DOS-a, ponieważ po ukazaniu się mikroprocesorów 16-bitowych z rodziny x86 i pochodnych, doczekał się, opracowanego przez Seattle
Computer Products, emulatora 86-QDOS, który został sprzedany firmie Microsoft, posiadającej
kontrakt z IBM na dostarczenie systemu operacyjnego do przygotowywanego wówczas komputera IBM PC. W efekcie w 1981 r. ujrzał światło dzienne MS-DOS 1.0.
Pierwsza wersja beta zaczyna pracować na IBM PC w lutym 1981 roku. W sierpniu 1981
roku pokazany zostaje MS-DOS 1.0, zajmujący 13 KB dysku i pracujący na 8 KB pamięci operacyjnej.
W 1983 roku, wraz z IBM PC/XT pojawia się napisany praktycznie od nowa MS-DOS 2.0,
z hierarchiczną strukturą katalogów i możliwością instalowania sterowników do urządzeń; zajmuje 41 KB, pracuje na 24 KB pamięci. Na początku 1984 roku dodane jest wsparcie dla języków narodowych.
Oddany do użytku w sierpniu 1984 roku MS-DOS 3.0 pozwala na stworzenie rozszerzonej partycji na dysku, liczącej do 32 MB i ma wbudowaną obsługę stacji 1,2 MB; system zajmuje 60 KB na dysku. Wersja 3.1 dodaje obsługę sieci, 3.2 — obsługę dyskietek 3,5-calowych
720 KB.
W listopadzie 1985 roku pojawia się Microsoft Windows — nakładka graficzna na DOS.
Wersja 3.3 z maja 1987 roku pozwala na definiowanie dysków logicznych w rozszerzonej partycji dysku twardego, wprowadzone zostają strony kodowe. W czerwcu 1988 roku MS-DOS 4.0
przekracza barierę 32 MB dla partycji.
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
UNIX
UNIX to jednym z najpopularniejszych systemów operacyjnych na świecie. Znak towarowy UNIX należy do The Open Group, ale pierwotnie system ten był opracowywany przez Kena
Thompsona i Dennis Ritchie.
System UNIX od zawsze był wielodostępnym i wielozadaniowym sieciowym systemem
operacyjnym, co oznacza, że z założenia mógł łatwo łączyć się z innymi maszynami, obsługiwać
jednocześnie wielu użytkowników i wykonywać dla nich wiele zadań w tym samym czasie. Jego
początki sięgają czasów, gdy w powszechnym użyciu były nie komputery osobiste, lecz mainframe-y, zaś dostęp do centralnych zasobów odbywał się za pomocą terminali.
Dla niemal każdej platformy sprzętowej istnieje wersja systemu UNIX. Wielu producentów
zakupiło kod źródłowy i wydało swoje własne wersje systemu. Na przestrzeni lat duży wpływ na
obecny wygląd systemu mieli producenci, tacy jak IBM, Hewlett-Packard, Sun i inni, ale nie tylko oni go modyfikowali. Gdy powstała pierwsza wersja UNIX-a, jej kod źródłowy darmowo udostępniono szkołom średnim i uniwersytetom. Od samego początku istnienia UNIX-a olbrzymi
wpływ na jego rozwój miały dwie szkoły — University of California w Berkeley oraz Massachusetts Institute of Technology. Jednocześnie ludzie na całym świecie zaczęli tworzyć własne programy narzędziowe pracujące w tym środowisku. Niestety, rozwój ten nie był w żaden
sposób koordynowany, co zaowocowało wieloma różnicami między różnymi wersjami systemu.
W końcu jednak zaczęły pojawiać się standardy. W systemie UNIX wiele z nich objęto standardem IEEE POSIX.1.
System UNIX ma też i wady. Jedną z nich jest duża pojemność dysku, jakiej wymaga nawet do standardowej instalacji. Jest również drogi, szczególnie w wersji dla komputerów PC.
Środowisko graficzne Windows
Koncepcja interfejsu graficznego, z oknami, w których będą uruchamiane programy, powstała w latach siedemdziesiątych w laboratoriach firmy Xerox w Palo Alto w Kalifornii. W 1977
roku zaprezentowano komputer Xerox Star, w którym posługiwano się myszką do pracy z oknami i ikonami na ekranie, nie wszedł jednak do masowej produkcji. W połowie 1993 roku w
zespole przygotowującym Windows znalazł się jeden z pracowników ośrodka PARC. Później pojawił się komputer o nazwie Lisa — prekursor komputerów Macintosh — stworzony przez Apple, z oknami i myszką jako urządzeniem wejściowym.
Microsoft tworząc Windows nie wymyślił więc ani środowiska graficznego, ani myszki czy
okien — potrafił jednak skorzystać z doświadczeń swoich poprzedników, tworząc swoje środowisko graficzne Microsoft Windows, a później rozwijając je w systemy operacyjne Windows NT i
Windows 98.
O istnieniu Microsoft Windows świat dowiedział się 10 listopada 1983 roku, ale dopiero
dwa lata później, 18 listopada 1985 roku, można było obejrzeć gotowy produkt. Pierwsza wersja
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL
Windows nie cieszyła się dużą popularnością. Konkurencja ze strony komputerów Apple Macintosh i ich graficznego systemu operacyjnego była jeszcze wtedy zbyt silna. Dopiero od czasu
pojawienia się wersji 3.0 w 1990 roku Windows-y zyskują na popularności. Sukces firmy Microsoft przypieczętowała premiera, w październiku 1992 roku, wersji Windows for Workgroups
3.1. Nowa wersja Windows posiadała wbudowaną obsługą sieci dla grupy roboczej, oraz sieci
bezpośrednich połączeń miedzy komputerami. Jest to środowisko pomyślane dla połączenia małych grup komputerów, udostępnienia w sieci ludziom pracującym obok siebie dysków i drukarek, możliwości wymiany poczty, bez stawiania specjalnych serwerów. Zawiera ona między
innymi okrojoną wersję programu poczty elektronicznej Microsoft Mail, terminarz Microsoft
Schedule+ oraz sieciową grę karcianą Hearts. Poprawiona wersja tej odmiany Windows —
Windows for Workgroups 3.11 — zawiera oprogramowanie do wysyłania i odbierania faksów,
oraz 32-bitowy dostęp do plików.
Były to ostatnie wersje Windows zaprojektowanego jako środowisko graficzne dla DOS-a.
Produkt początkowo znany jako Windows 4.0 ukazał się już jako system operacyjny Windows
95, by po kilku latach przejść w Windows 98.
Ocenia się, że do czasu ukazania się Windows 95 na świecie używano ponad pięćdziesięciu milionów egzemplarzy systemu Windows.
Linux
Linux został stworzony przez Linusa Torvaldsa z Uniwersytetu Helsińskiego w Finlandii.
Linus oparł Linuksa na niewielkiej implementacji UNIX-a dla komputerów PC o nazwie MINIX.
Linux po raz pierwszy został pokazany publicznie pod koniec 1991 r. W listopadzie tego samego
roku opublikowano wersję 0.10. Już miesiąc później, w grudniu, pojawiła się wersja 0.11. Linus
postanowił, że kod źródłowy systemu będzie dostępny darmowo, i zachęcił wszystkich do rozwijania go w przyszłości.
Zalety Linuksa:

Pełna wielozadaniowość — system pozwala na równoczesne wykonywanie wielu
zadań i odczyt z wielu urządzeń.

Pamięć wirtualna — Linux może wykorzystywać część twardego dysku jako pamięć wirtualną, zwiększając tym samym wydajność systemu dzięki przechowywaniu aktywnych procesów w pamięci RAM i umieszczaniu rzadziej wykorzystywanych
lub nieaktywnych obszarów pamięci na dysku twardym. Pamięć wirtualna pozwala
na wykorzystanie całej pamięci komputera oraz lepszą obsługę systemu plików i
zabezpiecza przed wystąpieniem segmentacji pamięci.

System X Window — system X Window jest graficznym środowiskiem użytkownika w systemach UNIX-owych. Ma on duże możliwości, obsługuje wiele aplikacji i
jest standardem przyjętym w przemyśle.

Wbudowana obsługa sieci — Linux wykorzystuje protokoły TCP/IP, IPX/SPX oraz
usługi sieciowe, łącznie z NFS (Network File System) i NIS (Network Information
Service).
Opr.: Grzegorz Szymkowiak
SYSTEM OPERACYJNY – WWW.EDUNET.TYCHY.PL

Dzielone biblioteki — każda aplikacja korzysta i dzieli z innymi standardową bibliotekę podprocedur, co oszczędza sporo miejsca na dysku twardym, ponieważ
procedury te nie muszą być pisane od nowa i ich kopie nie muszą towarzyszyć aplikacjom.

Kompatybilność ze standardem IEEE POSIX.1 — dzięki temu Linux jest zgodny z wieloma standardami ustanowionymi dla wszystkich systemów UNIX-owych.

Oprogramowanie GNU — w systemie Linux można uruchamiać dużą liczbę darmowego oprogramowania udostępnianego na zasadzie licencji GNU GPL. W Internecie można znaleźć od narzędzi i aplikacji (GNU C i GNU C++) poprzez programy
do administrowania systemem (linuxconf itd.) i gry (na przykład GNU Chess, GNU
Civilization i Quake).
Obecnie dostępnych jest wiele dystrybucji systemu operacyjnego Linux. Najbardziej znane
to:

Debian

Fedora

Gentoo

Knoppix

Linspire (dawniej Lindows)

Mandriva Linux (dawniej Mandrake)

PCLinuxOS

Red Hat Linux

SimplyMEPIS

Slackware

SUSE

Ubuntu
Opr.: Grzegorz Szymkowiak

Podobne dokumenty