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