Zbigniew S. Szewczak Systemy Operacyjne
Transkrypt
Zbigniew S. Szewczak Systemy Operacyjne
Zbigniew S. Szewczak Systemy Operacyjne Wykład 1 Systemy komputerowe i operacyjne Toruń, 2003 O czym będzie? ☛Arytmetyka komputerowa ☛System komputerowy ☛Struktura komputera ☛System operacyjny ☛Sieciowy system operacyjny ☛Instalowanie systemu Linux ☛Instalowanie systemu Windows ☛Materiały pomocnicze Arytmetyka komputerowa ☛B - bajt (ang. Byte); b - bit ☛B = 8b ☛kB = 1024B= 2^10B - podstawowa jednostka ☛MB = 1024kB=2^10kB ( producenci - MB=10^3kB) ☛GB = 2^20kB (10^6kB) - giga ☛TB = 2^30kB (10^9kB) - tera ☛PB = 2^40kB (10^12kB) - peta ☛EB = 2^50kB (10^15kB) - exa ☛ZB = 2^60kB (10^18kB) - zetta ☛YB = 2^70kB (10^21kB) - yotta ☛?B = 2^?*10kB (10^?*3kB) - ???? ☛EB - podstawową jednostką? MEB = 2^20EB=2^70kB Prefiksy metryczne ☛10^-3 ☛10^-6 ☛10^-9 ☛10^-12 ☛10^-15 ☛10^-18 ☛10^-21 ☛10^-24 - mili (m); 10^3 - kilo (k) micro (µ); 10^6 - Mega (M) nano (n); 10^9 - Giga (G) pico (p); 10^12 - Tera (T) femto (f); 10^15 - Peta (P) atto (a); 10^18 - Exa (E) zepto (z); 10^21 - Zetta (Z) yocto (y); 10^24 - Yotta (Y) Przykłady wykorzystania ☛1.7 yg - masa protonu ☛1 as - czas przejścia światła przez atom ☛1 pg - masa bakterii ☛1 µL - kropelka wody ☛1 Ms - 11,6 dni ☛0,3 Gm - sekunda świetlna ☛9,5 Pm - rok świetlny ☛1 ZL - objętość Pacyfiku ☛1 YL - pojemność Ziemii System komputerowy ☛Sprzęt komputerowy(ang. hardware) - zasoby o specyficznej architekturze oraz organizacji zarządzane przez system operacyjny ☛System operacyjny - program, który nadzoruje i koordynuje dostęp programów do zasobów ☛Programy użytkowe - realizują potrzeby użytkowników systemu komputerowego (kompilatory, bazy danych, gry,....) ☛Użytkownicy - ludzie, maszyny, komputery.. Struktura komputera Peryferia Komputer Jednostka centralna (CPU) Komputer Pamięć główna Magistrala systemowa WejścieWyjście Linie komunikacyjne Struktura komputera Peryferia Komputer Jednostka centralna (CPU) Komputer Pamięć główna Magistrala systemowa WejścieWyjście Linie komunikacyjne Magistrala systemowa ☛System bus (ang.) ☛Droga zapewniająca komunikację między (modułami): procesorem, pamięcią i wejściemwyjściem ☛Tryb rozgłaszania (ang. broadcast) ☛50 do 100 oddzielnych linii pogrupowanych w 8, 16, 32 linii zwanych szynami ☛linie danych - do przenoszenia danych ☛np. szyna danych 8b a rozkaz 16b: 2 x transfer z pamięci ☛linie adresowe - do określenia adresu danych ☛linie sterowania - do sterowania liniami ☛linie zasilania Przykład Pentium ☛cache(L2), local bus, memory bus ☛PCI bridge chip: local, memory, PCI ☛ISA (ang. Industry Standard Architecture) ☛I/O bus: EIDE (ang. Enhance Integrated Drive Electronics), ATA (ang. Advanced Technology Attachment) - dyski 16,67MB/sec ☛PCI (ang. Peripheral Component Interconnect) ☛SCSI (ang. Small Computer System Interface) ☛szybkie we/wy do 160MB/sec (dyski,..) ☛USB (ang. Universal Serial Bus) ☛wolne urządzenia we/wy do 1.5MB/sec (mysz, skaner,..) ☛IEEE 1394 (FireWire) - do 50MB/sec (multimedia) Struktura komputera Peryferia Komputer Jednostka centralna (CPU) Komputer Pamięć główna Magistrala systemowa WejścieWyjście Linie komunikacyjne Funkcje jednostki centralnej ☛CPU = procesor = jednostka centralna ☛Pobieranie rozkazów z pamięci ☛Interpretowanie rozkazów ☛Pobieranie danych (z pamięci lub we/wy) ☛Przechowywanie danych w pamięci ☛Przetwarzanie danych - wykonywanie rozkazów ☛Zapisywanie wyników (do pamięci lub na we/wy) Rejestry procesora ☛licznik programu (PC) - adres rozkazu do pobrania ☛rejestr rozkazu (IR) - kod rozkazu ☛rejestr adresowy pamięci (MAR) - adres lokacji ☛rejestr buforowy pamięci (MBR) - dane do/z pamięci ☛rejestry PSW (ang. program status word) słowo stanu programu, informacje o stanie Struktura komputera Peryferia Komputer Jednostka centralna (CPU) Komputer Pamięć główna Magistrala systemowa WejścieWyjście Linie komunikacyjne Wejście/Wyjście ☛Dlaczego nie łączy się urządzeń peryferyjnych bezpośrednio z magistralą systemową? ☛wielka różnorodność urządzeń we/wy ☛przesyłanie różnej ilości danych ☛z różną prędkością ☛w różnym formacie ☛urządzenia we/wy za wolne dla procesora i pamięci ☛Potrzeba modułu we/wy ☛interfejs z procesorem i pamięcią przez magistralę ☛interfejs z urządzeniami peryferyjnymi Sposoby realizacji we/wy ☛programowane - dane są wymieniane między procesorem a modułem we/wy, procesor czeka na zakończenie operacji we/wy ☛sterowane przerwaniami - procesor wydaje operację we/wy i wykonuje dalsze rozkazy do momentu zakończenia operacji we/wy (przerwanie we/wy) ☛bezpośredni dostęp do pamięci (ang. direct memory access - DMA) - moduł we/wy wymienia dane bezpośrednio z pamięcią bez udziału procesora Struktura komputera Peryferia Komputer Jednostka centralna (CPU) Komputer Pamięć główna Magistrala systemowa WejścieWyjście Linie komunikacyjne Pamięć - lokalizacja, miara ☛CPU ☛wewnętrzna (główna) ☛zewnętrzna (pomocnicza) ☛długość słowa - 8, 16, 32 bitów (b) ☛pojemność pamięci mierzona w ilości słów ☛lub w Bajtach Pamięć - własności fizyczne ☛półprzewodnikowa (ang. semiconductor) ☛RAM, ROM, Flash ☛magnetyczna ☛dysk & taśma ☛magneto-optyczna ☛CD & DVD zanikanie, rozpad (ang. decay) ☛zanikanie, rozpad (ang. decay) ☛ulotność (ang. volatility ) ☛wymazywalność (ang. erasable) ☛zasilanie do utrzymania zawartości Pamięć - metody dostępu (1) ☛dostęp sekwencyjny (ang. sequential) ☛dostęp liniowy blok po bloku wporzód lub wtył ☛czas dostępu zależy od pozycji bloku względem pozycji bieżącej ☛np. taśmy ☛dostęp bezpośredni (ang. direct) ☛każdy blok ma unikalny adres ☛czas dostępu realizowany przez skok do najbliższego otoczenia i sekwencyjne przeszukiwanie ☛np. dysk magnetyczny Pamięć - metody dostępu (2) ☛dostęp swobodny (ang. random) ☛każda adresowalna lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm adresowania ☛czas dostępu nie zależy od poprzednich operacji i jest stały ☛np. RAM ☛ dostęp skojarzeniowy (ang. associative) ☛dane są lokalizowane raczej na podstawie porównania z ich zawartością niż na podstawie adresu ☛czas dostępu nie zależy od poprzednich operacji i jest stały ☛np. pamięć podręczna (ang. cache) Pamięć - wydajność (definicje) ☛ czas dostępu ☛dostęp swobodny : czas niezbędny do zrealizowania operacji ☛dostęp nieswobodny : czas potrzebny na ustawienie głowicy ☛ czas_cyklu pamięci ☛ czas dostępu + czas, który musi upłynąć aby mógła nastąpić kolejna operacja ( zapis, odczyt) ☛ szybkość transferu ☛ dostęp swobodny : 1/czas_cyklu ☛ dostęp nieswobodny : T_n = T_a + n/r ☛ T_n - śr. czas operacji na n-bitach;T_a = śr. czas dostępu ☛ r - szybkość transferu w b/sek Co to jest system operacyjny ? ☛System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym ☛Brak zadowalającej definicji systemu operacyjnego System operacyjny - definicje ☛Dystrybutor zasobów (ang. resource allocator) przydziela zasoby poszczególnym zamawiającym (programom) ☛Program sterujący (ang. control program) nadzoruje wykonanie programów użytkowych oraz operacji wejścia/wyjścia, kontrola błędów ☛Jądro systemu (ang. kernel, ang. nucleus) program działający w komputerze nieustannie, często jest synonimem systemu operacyjnego Po co nam system operacyjny? ☛System operacyjny jest ceną jaką płacimy za wygodę w posługiwaniu się zasobami systemu komputerowego ☛System operacyjny musi mieć wiedzę o wszystkich możliwych sytuacjach i sposobach reagowania na nie Po co na system operacyjny? (c.d) ☛System operacyjny powinien być szczególnie kontrolowany i rozliczany z każdego wykorzystania zasobów w ramach zleconych mu do wykonania zadań ☛Architektury systemów operacyjnych ☛monolityczna (scentralizowana) ☛mikrojądra (zdecentralizowana) ☛Przykłady systemów ☛Linux, FreeBSD - dostępny kod źródłowy ☛Windows 9X\NT\2K\XP, SunOS, OS/2 - płatne Struktura systemów operacyjnych ☛System zarządzania zadaniami (procesami) ☛System zarządzania pamięcią operacyjną ☛System zarządzania plikami ☛System zarządzania wejściem-wyjściem ☛Sieciowy system operacyjny ☛System ochrony ☛System interpretacji poleceń ☛Instalacja (generacja) systemu Proste systemy wsadowe ☛Wynajęty operator (bardzo ważna osoba!) do wczytywania zadań tzw. wsadu (ang. batch) ☛Dodany czytnik kart perforowanych ☛Redukcja czasu wykonania przez wsad o podobnych parametrach ☛Automatyczne kolejkowanie zadań ☛Rezydentny monitor (system) ☛inicjowanie zadań, komendy operatorskie ☛przekazywanie kontroli wykonywanym zadaniom (ang. job) ☛przejęcie kontroli po zakończeniu zadania Spooling ☛Simultaneous Pheripheral Operation On-Line umożliwia wykonanywanie zadań w czasie operacji we/wy innych zadań ☛wczytanie zadania z czytnika kart na dysk do kolejki zadań (ang. job queue) ☛wyprowadzenie wydruku zakończonego zadania do kolejki na dysku (ang. print queue) a potem drukarkę ☛Pula zadań (ang. job pool ) - zadania na dysku są wybierane do wykonania w taki sposób aby zwiększyć wykorzystanie procesora Wieloprogramowane systemy wsadowe ☛Wiele zadań jest przechowywanych w pamięci operacyjnej a procesor, w czasie oczekiwania jednego zadania na jakąś usługę np. operację wejścia/wyjścia lub zamontowanie taśmy jest przydzielany innemu zadaniu ☛pierwszy przypadek gdy monitor decyduje za użytkowników a w zasadzie za operatora systemu (stąd możliwe wytłumaczenie nazwy system operacyjny) ☛początek końca wszechwładzy operatora systemu komputerowego Systemy z podziałem czasu ang. Time-Sharing Systems ☛Rozszerzenie wieloprogramowości (ang. multiprogramming) ☛Procesor jest przydzielony jedynie zadaniom w pamięci operacyjnej i wykonuje na przemian wiele zadań, przy czym przełączenia następują tak często, że użytkownicy mogą współdziałać z programem podczas jego wykonania ☛Jedno z zadań w pamięci: dialog z użytkownikiem (sesja) Systemy rozproszone ☛Rozproszone przetwarzanie za pomocą wielu procesorów zwanych węzłami (ang. nodes) ☛Systemy luźno powiązane (ang. loosely coupled) lub rozproszone (ang. distributed systems) każdy procesor ma własną pamięć lokalną; procesory komunikują się szybkim łaczem ☛Powody: ☛podział zasobów: zdalne drukowanie plików ☛przyspieszenie obliczeń, dzielenie obciążeń (ang.load sharing) ☛niezawodność, komunikacja: poczta (ang. e-mail) Sieci komputerowe ☛Aby systemy operacyjne mogły się komunikować potrzebne są sieci komputerowe ☛Komunikacja w sieci komputerowej odbywa się na podstawie ściśle określonego zbioru reguł zwanego protokołem sieciowym ☛Przykłady protokołów sieciowych: TCP/IP Internet, IPX/SPX - Novell, NetBEUI - Microsoft ☛Inne protokoły sieciowe: PPP, SLIP, AX.25, FDDI, ATM ☛Protokoły zwykle przedstawia się za pomocą modelu Protokoły - model OSI ☛Użytkowa (ang. Application) - usługi sieciowe (e-mail, FTP) ☛Prezentacja (ang. Presentation) - reprezentacja danych (format) ☛Sesja (ang. Session) - zarządzanie sesjami (login, exit) ☛Transport - niezawodność transmisji ☛Sieć (ang. Network) - wybór trasy (routing) ☛Łącze (ang. Data Link) - transfer przez łącza ☛Fizyczna (ang. Physical) - transfer binarny Model OSI Porównanie protokołów - model OSI Protokoły - model TCP/IP ☛Użytkowa (ang. Application) - FTP, TFTP, HTTP, SMTP, DNS ☛Transport - TCP ☛Internet ( Network ) - IP ☛Interfejs sieci (ang. Network Access) (Data Link + Physical ) - Ethernet ☛Rudymentarne warstwy - Prezentacji i Sesji Sieciowe systemy operacyjne ☛Sieciowy system operacyjny (ang. network operating system) tworzy środowisko, w którym użytkownicy - świadomi wielości maszyn - mają dostęp do zdalnych zasobów, rejestrując się na odpowiednich zdalnych maszynach lub przesyłając do własnych maszyn dane z maszyn zdalnych ☛Przykłady: NFS - Unix, SMB - Windows, NCP Novell Sieciowy system komputerowy ☛Sieciowy system komputerowy jest częścią systemu komputerowego odpowiedzialną za komunikowanie się komputerów przez łącza ☛sprzęt - medium transmisji danych, karta sieciowa, modem ☛system operacyjny - implementacja protokołu (TCP/IP, NetBEUI, IPX/SPX ) w jądrze ☛sieciowy podsystem operacyjny : SMB, NFS, NCP ☛programy użytkowe - przeglądarka WWW, telnet, ftp ☛użytkownicy : zdalny komputer, osoba używająca ftp, itp. Współczesne systemy operacyjne ☛Cechy wspólne ☛architektura mikrojądra- zawiera jedynie niezbędne funkcje ☛architektura monolityczna ☛wielowątkowość ☛proces (zadanie) składa się z wątków ☛SMP ☛(pod)system sieciowy ☛systemy grafiki (GUI) i wydruku ☛Windows: 2K/XP ☛Unix: Solaris 2.x, 4.4BSD, Linux ☛Maszyny wirtualne: JavaVM, VMware Literatura ☛A. Silberschatz, P.B. Gavin, Podstawy systemów operacyjnych, wyd. III, WNT, 2000 (tł. 5th ed.) ☛http://www.bell-labs.com/topic/books/os-book ☛W. Stallings, Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność, PWN, Warszawa, 2000 (tł. 4th ed.) ☛http://William.Stallings.com/