Przegląd współczesnych systemów operacyjnych

Podobne dokumenty
Wprowadzenie do systemów operacyjnych

SYSTEMY OPERACYJNE WYKŁAD 2 PRZEGLĄD SYSTEMÓW WINDOWS I UNIX

Krótka Historia Systemów Operacyjnych. Tomasz Borzyszkowski

Komputery przemysłowe i systemy wbudowane

Oprogramowanie Alternatywne

Jądro systemu operacyjnego

Opis efektów kształcenia dla modułu zajęć

Dystrybucje Linuksa c.d.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

System komputerowy. System komputerowy

Systemy operacyjne III

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

1. Etapy rozwoju systemów komputerowych

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Sieciowe Systemy Operacyjne

Przykładowa konfiguracja systemu komputerowego

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

1. Co to jest system operacyjny - wstęp

Temat 8 Systemy operacyjne rodziny UNIX. powłoki graficzny interfejs użytkownika (GUI) 8.1. Cechy systemu UNIX

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program wykładów, c.d. Program ćwiczeń i laboratoriów

Historia systemów operacyjnych - Unix

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program projektów i laboratoriów. Strona WWW przedmiotu:

Tytuł pracy: Interfejs programowy- gniazda BSD. Autor: Marcin Mita IVFDS

Rola i zadania systemu operacyjnego

"Klasyczna" struktura systemu operacyjnego:

Kernel Kompilacja jądra

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

POSIX ang. Portable Operating System Interface for Unix

Wstęp do Informatyki. Klasyfikacja oprogramowania

Systemy operacyjne. Informatyka Zakres rozszerzony

Technologie Informatyczne Wykład XI linux

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Warstwy systemu Windows 2000

Systemy operacyjne. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Podstawy użytkowania systemu Linux

Systemy Operacyjne. informacje dodatkowe

System operacyjny komputera Informacje podstawowe

Czujniki obiektowe Sterowniki przemysłowe

Podstawy Techniki Komputerowej. Temat: System operacyjny komputera - charakterystyka

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Podstawowe zagadnienia

TECHNOLOGIE INFORMACYJNE

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program wykładów, c.d. Program ćwiczeń i laboratoriów

Systemy Operacyjne. informacje dodatkowe

Systemy Operacyjne. Definicje systemu operacyjnego. Jak zdefiniować system operacyjny?


Q E M U.

Systemy operacyjne Charakterystyka systemów operacyjnych

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Podstawy Informatyki. Wykład 3 UNIX

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

-planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom,

1 Sprawy organizacyjne

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

OPROGRAMOWANIE KOMPUTERÓW

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Struktury systemów operacyjnych

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Ewolucja systemów operacyjnych

Charakterystyka sieci klient-serwer i sieci równorzędnej

SOP System Obsługi Parkingów

Systemy operacyjne. Dr inż. Dariusz Skibicki

Technologia Informacyjna

Systemy Czasu Rzeczywistego (SCR)

Wirtualizacja. Metody, zastosowania, przykłady

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Wolne Oprogramowanie i GNU Fortran

SYSTEMY OPERACYJNE WYKŁAD 5 OBSŁUGA PAMIĘCI MASOWYCH

Wstęp do Informatyki dla bioinformatyków

KOMPUTER. Programy użytkowe i systemy operacyjne

Systemy operacyjne. by pio7rek

Podstawy programowania w Qt4

Technologia informacyjna

Wprowadzenie do systemu Minix

1. Co to jest system operacyjny

Linux -- u mnie działa!

O systemach operacyjnych. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Gigabitowa karta ethernetowa PCI EN-9230TX-32 Skrócona instrukcja instalacji (Q.I.G.)

Opis efektów kształcenia dla modułu zajęć

Działanie systemu operacyjnego

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Działanie systemu operacyjnego

Temat. Budowa systemu komputerowego. Zakładka 1. Elementy tworzące stanowisko komputerowe.

Program Windykator I Moduły do programu. Wymagania systemowe oraz środowiskowe dla programów

Systemy Operacyjne 2006/07. Prezentacja o BSD na przykładzie FreeBSD. Maria Donten, Bartłomiej Etenkowski, Aleksander Zabłocki

Struktury systemów operacyjnych

7. zainstalowane oprogramowanie zarządzane stacje robocze

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Transkrypt:

SOE - Systemy Operacyjne Wykład 2 Przegląd współczesnych systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW

Wstęp Cechy współczesnych systemów operacyjnych wielodostęp wielozadaniowość wielowątkowość wieloprzetwarzanie symetryczne SMP uruchamianie zadań w łagodnym czasie rzeczywistym pamięć wirtualna wirtualny system plików VFS obsługa różnych typów rzeczywistych systemów plików obsługa różnych protokołów sieciowych implementacje na różne platformy sprzętowe 32-bitowe i 64-bitowe budowa modularna jądra

System UNIX Jeden z najstarszych systemów operacyjnych Implementacje dla wielu platform sprzętowych komputery 16-, 32- i 64-bitowe komputery osobiste, stacje robocze, serwery wieloprocesorowe, superkomputery

Rys historyczny Początki w AT&T UNIX na PDP-7 (1969) Ken Thompson i Dennis Ritchie, Bell Laboratories, AT&T UNIX na PDP-11 (1970) UNIX Edycja 1 (1971) UNIX Edycja 3 (1973) napisany od nowa w języku C UNIX Edycja 6 (1976) komputer Interdata UNIX Edycja 7 (1978) PDP-11 i Interdata 8/32 UNIX 32V (1978) pierwsza implementacja na komputer 32-bitowy VAX-11

UNIX System V Dystrybucje wewnętrzne w AT&T UNIX Edycja 1 - Edycja 10 Dystrybucje zewnętrzne w AT&T UNIX System III (1982) UNIX System V (1983) UNIX System V Wersja 2 -SVR2 (1984) UNIX System V Wersja 3 -SVR3 (1987) UNIX System V Wersja 4 -SVR4 (1989) UNIX System V Wersja 4.2/ES/MP -SVR 4.2/ES/MP

UNIX BSD UNIX udostępniony uniwersytetom Uniwersytet Kalifornijski w Berkeley wsparcie finansowe DARPA (Defense Advanced Research Projects Agency) UNIX BSD (Berkeley Software Distribution) 1 BSD (1978) -oparta na UNIX Wersja 6 2 BSD (1978) 3 BSD (1979) 4 BSD (1980) 4.x BSD 4.4 BSD (1993) -oparta na UNIX 32V

UNIX BSD c.d. Wkład w rozwój systemu UNIX pamięć wirtualna protokoły TCP/IP system plików FFS (Fast File System) gniazda BSD interpreter poleceń C-shell

Standardy SVID (System V Interface Definition) 4.x BSD POSIX (Portable Operating System Interface) IEEE, ISO IEEE Std 1003.1, POSIX 1003.1, POSIX.1 interfejsy programowania i narzędzi systemowych dla systemu UNIX POSIX.1-1988, POSIX.1-1990, POSIX.1-1996, POSIX.1-2001, POSIX.1-2008 XPG (X/Open Portability Guide) X/Open XPG3, XPG4 SUS (Single UNIX Specification) Open Group SUS1, SUS2, SUS3 (POSIX.1-2001), SUS4 (POSIX.1-2008)

Wersje komercyjne Solaris (Sun OS) AIX HP-UX ULTRIX, OSF/1, Digital UNIX A/UX, MacOS X SCO UNIX, UnixWare UNICOS -Sun Microsystems -IBM -Hewlett-Packard -DEC -Apple -SCO -Cray

Struktura systemu UNIX Procesy Interfejs funkcji systemowych Jądro Sprzęt

Tradycyjne jądro monolityczne Zarządzanie pamięcią Podręczna pamięć buforowa Zarządzanie plikami Sprzęt Zarządzanie procesami Programy obsługi urządzeń Zarządzanie urządzeniami we-wy

Nowoczesne jądro modularne moduł pamięci wirtualnej pliki wykonywalne obsługa urządzeń mechanizmy wspólne moduł szeregowania strumienie (STREAMS) interfejs VFS

Działanie systemu Realizacja funkcji systemowych wywołanych przez procesy jądro realizuje w imieniu procesu wywołującego Obsługa przerwań sprzętowych od urządzeń jądro obsługuje jako zdarzenia globalne, niezwiązane z żadnym procesem Obsługa pułapek (wyjątków) jądro obsługuje w imieniu procesu generującego Wykonywanie zadań dotyczących całego systemu, bezpośrednio przez jądro (szeregowanie procesów) przez procesy systemowe (proces wymiany, demon stronicowania)

System Linux Darmowy system operacyjny pierwszą wersję stworzył Linus Torvalds (1991) licencja GPL (General Public License) dzieło setek programistów z całego świata Związki z systemem UNIX kod jądra niezależny od kodu UNIX-a interfejs programowania i narzędzi systemowych zgodny ze standardem POSIX 1003.1 ściśle związany z projektem GNU Implementacje dla kilku platform sprzętowych Intel i AMD, Sun Sparc, DEC Alpha, Motorola, PowerPC, MIPS

Jądro systemu Linux Struktura jądra jądro podstawowe przechowywane stale w pamięci operacyjnej moduły jądra ładowane i dołączane dynamicznie w pamięci

Konwencja numeracji kolejnych wersji jądra x.y.z x y z -numer wersji -numer podwersji (stabilne -parzyste, eksperymentalne -nieparzyste) -numer zbioru poprawek wprowadzonej do danej podwersji 0.02 -pierwsza wersja Linusa Torvaldsa (1991) 1.0 -Linus Torvalds (1994) 2.6.39, 3.0.4 -ostatnie stabilne wersje jądra

Dystrybucje systemu Linux Dystrybucja zawiera jądro systemu zestaw bibliotek zestaw programów systemowych program instalacyjny dokumentację w formie elektronicznej Popularne dystrybucje Red Hat Fedora CentOS Debian Slackware Caldera LinuxWare Mandrake/Mandriva Knoppix

System Mac OS 1984 - pierwsza wersja systemu Mac OS komputery Macintosh firmy Apple system jednostanowiskowy pierwszy graficzny interfejs użytkownika Mac OS 1.x - Mac OS 9.x Mac OS X oparty na jądrze systemu UNIX wielodostęp, wielozadaniowość, wieloprzetwarzanie symetryczne

Struktura systemu Mac OS X

Jądro systemu Mac OS X Darwin otwarta licencja (Open Source) pełny kod jądra środowisko BSD

Składowe jądra Jądro systemu Mach 3.0 wywłaszczające szeregowanie procesów wielowątkowość pamięć wirtualna przetwarzanie w czasie rzeczywistym Jądro systemu BSD 5 model procesu polityka ochrony wielowątkowość (wątki POSIX) komunikacja sieciowa (gniazda BSD) Programy obsługi urządzeń Wirtualny system plików Protokoły sieciowe

Środowiska programowe (API) Classic -oryginalne środowisko starszej wersji systemu Mac OS Carbon -adaptacja środowiska Mac OS 9 zoptymalizowana dla Mac OS X Cocoa Java BSD AppleScript -nowe, zorientowane obiektowo środowisko systemu Mac OS X - środowisko programów w języku Java - środowisko systemu BSD z tekstowym interpreterem poleceń oraz X11 - środowisko do tworzenia skryptów WebObjects - środowisko do tworzenia aplikacji sieciowych

System Windows MS-DOS DOS 1.0 (1981) DOS 2.0 (1983) -dla IBM PC XT DOS 3.0 (1984) -dla IBM PC AT Windows (1985) Windows 3.x -3.0 (1990), 3.1 (1993) Windows 95 Windows 98 Windows Me

System Windows Windows NT (1993) Windows NT 3.1 (interfejs graficzny Windows 3.1) Windows NT 4.0 (interfejs graficzny Windows 95) Windows 2000 (Windows NT 5.0) Windows XP (Windows NT 5.1) Windows Server 2003 (Windows NT 5.2) Windows XP Professional x64 Windows Vista (Windows NT 6.0) Windows Server 2008 (Windows NT 6.0) Windows 7 (Windows NT 6.1) Windows Server 2008 R2 (Windows NT 6.1)

Struktura systemu Windows XP podsystem bezpieczeństwa aplikacje OS/2 aplikacje Win16 aplikacje Win32 aplikacje MSDOS aplikacje POSIX podsystem bezpieczeństwa podsystem OS/2 podsystem Win16 podsystem MSDOS podsystem POSIX tryb użytkownika podsystem Win32 tryb jądra zarządca wejścia-wyjścia system plików pamięć podręczna sterowniki urządzeń zarządca obiektów monitor bezpieczeństwa odwołań Egzekutor zarządca procesów mikrojądro zarządca plug and play warstwa abstrakcji sprzętu HAL wywołania procedur lokalnych zarządca pamięci wirtualnej zarządca okien sterowniki urządzeń graficznych sprzęt

Mikrojądro Zadania szeregowanie wątków obsługa przerwań i wyjątków niskopoziomowa synchronizacja Jądro zorientowane obiektowo - 2 zbiory obiektów obiekty ekspedytora - zdarzenia, mutexy, semafory, wątki, czasomierze (sterują szeregowaniem i synchronizacją) obiekty sterujące - przerwania, asynchroniczne wywołania procedur, procesy, profile