Systemy Operacyjne Systemy Operacyjne Definicje systemu operacyjnego są różne zależą od specyficznego rozumienia czym jest użytkownik i maszyna są określane przez potrzeby i wymagania odbiorcy są wielopoziomowe Jak zdefiniować system operacyjny? odwołajmy się do wiedzy zbiorowej Systemy Operacyjne Definicja Per Brinch Hansena System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej. Distinguished professor Of computer science Electrical Engineering and Computer Science 2-175 Center for Science and Technology Syracuse University Syracuse, New York 13244, U.S.A. Telefon: (315) 446-4813 Email: [email protected] Systemy Operacyjne Definicja Abrahama Silberschatza System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w sposób wygodny i wydajny. Professorship in Computer Sciences M.S. (1973), Ph.D. (1976), S.U.N.Y. at Stony Brook Systemy Operacyjne Definicja Andrewa Tanenbauma System operacyjny jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania. Dept. of Computer Science Faculty of Sciences Vrije Universiteit De Boelelaan 1081A 1081 HV Amsterdam , The Netherlands Telefon: +31 20 598-7780 Email: [email protected] Systemy Operacyjne Zespół programów, które sterują wprowadzaniem danych do pamięci operacyjnej i działaniem innych programów, a także sterują pracą urządzeń wejściowych i wyjściowych, tłumaczeniem programów przydzielaniem pamięci i zarządzaniem danymi. Umożliwia także wykrywanie nieprawidłowości w działaniu komputera i pośredniczy w komunikowaniu się użytkownika z komputerem, często przez stosowny interfejs graficzny. Systemy Operacyjne Jak to zobaczyć? Czas na oględziny… Systemy Operacyjne Krótka historia Microsoft Windows MS Windows 1.x MS Windows 2.x MS Windows 3.0 MS Windows 3.1 MS Windows 3.11 dla Grup Roboczych MS Windows Chicago Beta-1 MiS Windows 95 (Wersja 4.0) MS Windows 98 (Wersja 4.1) MS Windows ME (Wersja 4.9) 98Lite 1.3 98Lite 2.0 98Lite 4.5 Microsoft Windows NT MS Windows NT 3.1 MS Windows NT 3.51 MS Windows NT 4.0 MS Windows 2000 Professional MS Windows XP MS Windows Server 2003 Apple Linux/Unix Pozostałe Start Apple Lisa Apple Lisa Office System 1.0 Apple Lisa Office System 3.1 Apple II Desktop GEOS dla Apple II GS/OS dla Apple IIgs Apple Macintosh w 1984 MacOS 1.1 MacOS 7.5.5 MacOS 8.1 MacOS 9.2.2 At Ease 2.0 At Ease for Workgroup 4.0 OPENSTEP Rhapsody MacOS X 10.1 MacOS X 10.3.4 Redhat Linux 5.0 DECWindows Wine Mandrake Linux 9.0 Redhat Linux 8.0 IRIX Interactive Desktop 6.5 Solaris 8 CDE i OpenWindow Solaris 10 Zdalne Xerox Alto Xerox Star Xerox GlobalView 2.1 VisiCorp Visi On GEM 1.1 GEM 2.0 GEM 3.11 Atari TOS 1.0 Deskmate Commodore 64 GEOS Apple II GEOS GeoWorks w PC/GEOS NewDeal Office 3.2a BreadBox Ensemble DESQview/X AmigaOS 3.5 RISC OS wersja 3 RISC OS wersja 4 BeOS 5 Personal Edition QNX z dyskietki 1.44MB QNX 6.2.1 z CD MS OS/2 v1.3 IBM OS/2 2.0 IBM OS/2 Warp 4 Demo CD eComStation MS BOB Amstrad PcW16 Citrix Metaframe Microsoft Terminal Server X11 - X Windowing System VNC Telnet Aplikacje Klient/Serwer Śieć Systemy Operacyjne Jak doszło do takiej różnorodności? Historia systemów operacyjnych… Systemy Operacyjne Historia systemów operacyjnych Zaczyna się w szalonych latach ‘60… 1966 - rozpoczęcie prac na Multicsem, zespół naukowców z Bell Labs, MIT i General Electric, wśród tych pierwszych Ken Thompson 1969 - AT&T porzuca projekt Multicsa; pierwsza wersja Unix napisana w asemblerze w ośrodku Bell Labs firmy AT&T (stan New Jersey, USA) przez Dennisa Ritchie i Kena Thompsona Systemy Operacyjne Historia systemów operacyjnych Trwa przez lata ’70… 1971 - port Uniksa na nowy komputery PDP-11 firmy DEC 1972 - Unix Second Edition, pojawia się potok (ang. pipe) 1973 - Unix Fourth Edition, pierwsza napisana w C, co zaowocowało przenośnością systemu 1975 - Unix Sixth Edition - inaczej Wersja Szósta - rozprowadzana nieodpłatnie w uczelniach dla zastosowań akademickich, dał początek rozszerzeniom BSD 1976 - John Lions na Uniwersytecie Nowej Południowej Walii pisze komentarz do kodu Uniksa. tzw. Lions Book zawiera pełny kod v.6 1977 - pod koniec roku ukazują się pierwsze taśmy 1BSD, rozszerzenia Uniksa z Uniwersytetu Kalifornijskiego Berkeley 1979 - Unix 7th edition - the last true Unix - zawiera C, UUCP i powłokę Bourne'a. Przeniesiony na nowe komputery VAX kernel liczył 40 Kb. Systemy Operacyjne Historia systemów operacyjnych PDP-11 Digital Equipment Corporation, 1970 Oprócz tego modelu – także cała seria PDP-4 do PDP-16 Dwie książki: - Processor Handbook - Peripherials Handbook Systemy Operacyjne Historia systemów operacyjnych PDP-4 Digital Equipment Corporation, 1962 Systemy Operacyjne Historia systemów operacyjnych PDP-10 Console Digital Equipment Corporation, 1980 Systemy Operacyjne Historia systemów operacyjnych VAX Digital Equipment Corporation, 1970 Systemy Operacyjne Historia systemów operacyjnych Trwa przez lata ’80… 1980 - w Santa Cruz Operation (aka. SCO) na licencji od AT&T i na zamówienie MS powstaje Xenix, pierwszy Unix dla PC 1982 - Silicon Graphics prezentuje IRIX 1983 - rozpoczęcie projektu GNU (GNU's Not UNIX); System V - pierwsza komercyjna wersja Uniksa AT&T 1984 - 4.2BSD - wprowadzenie rozszerzeń TCP/IP; DEC wydaje pierwszą wersję Ultriksa 1986 - Hewlett-Packard prezentuje HP-UX, własną wersję Uniksa 1989 - SVR4 - 4 wydanie System V; unifikacja Systemu V, BSD oraz Xeniksa; SCO UNIX System V/386, pierwszy Unix spoza AT&T, który ma prawo być sprzedawany pod tą nazwą. Systemy Operacyjne Historia systemów operacyjnych Trwa przez lata ’90… 1990 - luty, IBM wydaje AIX (Advanced Interactive eXecutive) 1991 - Solaris 2 (oparty na SysV) wydany przez Sun Microsystems; wrzesień, powstanie jądra Linux, wersja 0.01 1993 - 4.4BSD; 20 kwietnia - ukazuje się NetBSD 0.8; grudzień - premiera FreeBSD 1.0 (na bazie 4.3BSD Net/2); koniec roku - SVR4.2MP, ostatnia wersja Systemu V z Unix System Laboratories (USL) 1994 - 4.4BSD-Lite; powstają firmy Red Hat oraz Caldera; 13 marca - Linux 1.0; 26 października - wydanie NetBSD 1.0; listopad - FreeBSD 2.0 (oparte na kodzie 4.4BSD Lite) 1996 – Linux 2.0 1999 – Linux 2.2 Potem: 4 stycznia 2001 - Linux 2.4; 19 stycznia 2003 - prezentacja FreeBSD 5.0; 17 grudzień 2003 - Linux 2.6 Systemy Operacyjne Historia systemów operacyjnych 1991 - powstanie jądra Linux, wersja 0.01 Jak to się odbyło? Istnieją już Multisc, UNIX, XENIX, AIX, HP-UX, SunOS, Xenix, Ultix, SVR4, Solaris, Mach, OSF1, IRIX, BSD. Cała historia sięga końca lat 80., kiedy Linus Torvald's tworzył system operacyjny na komputer oparty na procesorze Intel 80386. Dołączył do niego polecenia znane z UNIXa, możliwość zarządzania zadaniami i korzystania z wirtualnych konsol. Źródła systemu ukazały się w Internecie w 1991r. Pierwsza wersja Linuxa (0.01) mogła obsługiwać dyski oraz mały system plików. Nie miała jednak jeszcze zaimplementowanej obsługi napędu dyskietek. Wersja oznaczona była numerem 0.02 i posiadała już możliwość uruchomienia bash'a (Bourne Again Shell) a także gcc. Niestety poza tym prawie nic nie działało. Systemy Operacyjne Historia systemów operacyjnych Trwa przez lata ’90… 1990 - luty, IBM wydaje AIX (Advanced Interactive eXecutive) 1991 - Solaris 2 (oparty na SysV) wydany przez Sun Microsystems; wrzesień, powstanie jądra Linux, wersja 0.01 1993 - 4.4BSD; 20 kwietnia - ukazuje się NetBSD 0.8; grudzień - premiera FreeBSD 1.0 (na bazie 4.3BSD Net/2); koniec roku - SVR4.2MP, ostatnia wersja Systemu V z Unix System Laboratories (USL) 1994 - 4.4BSD-Lite; powstają firmy Red Hat oraz Caldera; 13 marca - Linux 1.0; 26 października - wydanie NetBSD 1.0; listopad - FreeBSD 2.0 (oparte na kodzie 4.4BSD Lite) 1996 – Linux 2.0 1999 – Linux 2.2 Potem: 4 stycznia 2001 - Linux 2.4; 19 stycznia 2003 - prezentacja FreeBSD 5.0; 17 grudzień 2003 - Linux 2.6 Systemy Operacyjne Nazwy systemów UNIX i Linux UNIX = (Uniplexed Information and Computing System - UNICS) Linux = LINUs + uniX Linux jest rozprowadzany w tzw. dystrybucjach Dystrybucja: Dystrybucja w odniesieniu do systemu operacyjnego Linux to zestaw programów rozpowszechnianych łącznie i dający po zainstalowaniu gotowy do użycia system. Cechy dystrybucji: Programy występują w pakietach (DEB, RPM, Ebuild, lub skompresowane Tar) System pobierania, instalacji, deinstalacji i aktualizacji pojedynczych pakietów (APT, DPKG, RPM, make, i inne) Systemy Operacyjne Najbardziej rozpowszechnione dystrybucje Debian - http://www.debian.org/ Fedora Core - http://fedora.redhat.com/ Gentoo - http://www.gentoo.org/ Knoppix - http://www.knoppix.net/ ☺ Mandriva Linux (dawniej Mandrake) - http://www.mandrivalinux.com/ PLD Linux (polska) - http://www.pld-linux.org/ Red Hat Linux - http://www.redhat.com/ Slackware - http://www.slackware.org/ SUSE - http://www.opensuse.org/ Ubuntu - http://www.ubuntulinux.org/ Innych jest jeszcze ponad 200, w tym jednodyskietkowe! Systemy Operacyjne Co to jest Knoppix? Knoppix to dystrybucja Linuksa oparta na Debianie możliwa do uruchomienia z CD-ROMu bez instalacji na twardym dysku (LiveCD) rozwijana przez niemieckiego inżyniera Klausa Knoppera Systemy Operacyjne Podział systemów …. Systemy operacyjne związane z producentem Nie związane z producentem Apple CP/M Atari DOS Commodore W indows ZX Spectrum UNIX Systemy Operacyjne Podział systemów: Systemy wsadowe Systemy wieloprogramowe Systemy z podziałem czasu Systemy biurkowe Systemy wieloprogramowe Systemy rozproszone Systemy klient – serwer Systemy partnerskie (peer-to-peer) Systemy zgrupowane Systemy czasu rzeczywistego Systemy kieszonkowe Systemy Operacyjne CP/M Control Program for Microcomputers • Opracowany w 1974r przez Kanadyjczyka Gary Kildalla, ówczesnego pracownika firmy Intel. Firma Intel nie była zainteresowana dystrybucją i dlatego założono firmę Digital Research. • System dla procesorów Intel 8080 oraz Zilog Z80 pomyślany jako system do uruchamiania programów stał się standardem mikroprocesorów 8-bitowych Systemy Operacyjne CP/M Control Program for Microcomputers • Umożliwia pracę jednego programu, obsługę urządzeń we/wy - w tym pamięci dyskowych – oraz gospodarkę plikami. • Zyskał popularność ze względu na możliwość adaptacji na różnych komputerach, zawarte narzędzia do uruchamiania programów. • Tak znane programy jak Turbo Pascal, dBase, Word Star, CBasic były implementowane pierwotnie w tym systemie. Systemy Operacyjne MS-DOS Historia Wywodzi się z systemu o nazwie QDOS opracowanego przez Seatle Computers dla procesorów 8086. Kolejne wersje systemu o nazwie 86 DOS zostały w 1981 roku zakupione przez firmę Microsoft i nazwane MS-DOS. Firma IBM nazwała ten system dla swojego komputera jako PC-DOS Systemy Operacyjne Charakterystyka System wzorowany na CP/M, przejęta ogólna struktura systemu, automatyczna konwersja programów CP/M do postaci DOS. Bardziej efektywny system zarządzania pamięcią dyskową. Kolejne wersje udoskonalają korzystanie z dysków: 1.0 – obsługuje dyskietki jednostronne 1.1 – dwustronne 2.0 – dyski twarde i in. urządzenia zewnętrzne, hierarchiczny system zbiorów, 2.1 – mechanizm przetwarzania potokowego (łączy wyjście jednego programu z wyjściem drugiego), możliwość pracy jednego programu pod nadzorem drugiego (np. wydruki), pliki wsadowe (batch) Systemy Operacyjne Charakterystyka Rozwój systemu PC/MS DOS Wersje 3.1 i 3.2 obsługują dyskietki o pojedynczej, podwójnej i poczwórnej gęstości (1,2/1,44 MB), pliki dyskowe otrzymują atrybuty (np. read only), dyski wirtualne Wersje 4.0 i 5.0 zapewniają zautomatyzowany sposób instalacji na dysku twardym, umożliwiają wprowadzenie sieci i pracę w środowisku wielodostępnym Wersje 6.0-6.22 ułatwiony sposób ładowania ustawień narodowych, rozszerzone środowisko graficzne Wersje 7.0-> dostępne tylko w połączeniu z systemem Windows. Planowane wyłączenie systemu DOS ze środowiska Windows MS/PC-DOS Ograniczenia Systemy Operacyjne • System przeznaczony w założeniu tylko dla jednego użytkownika. Brak typowego środowiska wielodostępu. • Brak wieloprogramowości, uruchamianie wielu programów możliwe tylko przez specjalne nakładki. • Brak środowiska graficznego, chociaż programy graficzne działają z reguły szybciej niż w Windows. • Konieczność poznania określonej liczby rozkazów. • Brak jednolitości programów użytkowych. 5 Systemy Operacyjne Windows • Wersje 1.0 do 3.1 bazują na GEM firmy Digital Research, są wczytywane jako dodatek do środowiska DOS, bez możliwości obsługi sieci, ale umożliwiają uruchomienie wielu programów równocześnie • Wersja 3.11 wprowadza możliwość pracy w sieci, ale wykorzystuje dalej procedury DOS • Wersja 95 pracuje samodzielnie, posiada wzbogacone możliwości pracy w sieci lokalnej i rozległej oraz nowy interfejs graficzny (powielany w wersjach 98, 2000...) 3 Systemy Operacyjne System operacyjny Windows • • • • • • Command Promt - połączenie z systemem MS-DOS. Control Panel - panel sterowania. Instalacja i usuwanie oprogramowania. Modyfikacje konfiguracji systemu. Obsługa multimediów (Media/CD player/odtwarzacz) Elementy sieciowe systemu Windows – Grupy robocze, domeny i konta użytkowników. – Poczta elektroniczna, połączenie z siecią rozległą. – Obsługa drukarek. 6+3 Windows Ograniczenia Systemy Operacyjne • Stosunkowo wolny interfejs graficzny wymaga stosowania drogich kart graficznych i szybkich procesorów • Złożoność systemu powoduje liczne błędy pojawiające się w nieoczekiwanych momentach. • Brak dostępu do wielu podstawowych procedur uruchamiających i konfiguracyjnych. 3