1. Etapy rozwoju systemów komputerowych



Podobne dokumenty
Sieciowe Systemy Operacyjne

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

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

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

Jądro systemu operacyjnego

W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

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

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Czujniki obiektowe Sterowniki przemysłowe

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

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

Wprowadzenie do systemów operacyjnych

Warstwy systemu Windows 2000

Systemy operacyjne. Paweł Pełczyński

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

Systemy operacyjne III

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Prezentacja systemu RTLinux

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

E-I-0006-s3. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Działanie systemu operacyjnego

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Mechanizmy pracy równoległej. Jarosław Kuchta

KARTA PRZEDMIOTU. Systemy czasu rzeczywistego: D1_9

Działanie systemu operacyjnego

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

System komputerowy. System komputerowy

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

4. Procesy pojęcia podstawowe

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

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

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

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

5. Model komunikujących się procesów, komunikaty

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Struktury systemów operacyjnych

E-1IZ2-06-s4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

7. zainstalowane oprogramowanie zarządzane stacje robocze

Szkolenie autoryzowane. MS Administracja i obsługa Windows 7. Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Systemy GIS Systemy baz danych

Działanie systemu operacyjnego

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

Wprowadzenie. Dariusz Wawrzyniak 1

Plan wykładu. Sieci Komputerowe. Literatura. Historia 1/3

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

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

PRZEWODNIK PO PRZEDMIOCIE

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Kernel Kompilacja jądra

4. Procesy pojęcia podstawowe

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

KARTA PRZEDMIOTU. Projektowanie systemów czasu rzeczywistego D1_13

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

PI-12 01/12. podłączonych do innych komputerów, komputerach. wspólnej bazie. ! Współużytkowanie drukarek, ploterów czy modemów

KARTA PRZEDMIOTU. Management of networks and ICT resources

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Działanie systemu operacyjnego

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

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

KARTA PRZEDMIOTU. Integracja sieci komputerowych D1_4. The integration of computer networks

PRZEWODNIK PO PRZEDMIOCIE

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Synchronizacja czasu - protokół NTP

KARTA KURSU. Systemy operacyjne

Sieci komputerowe Wykład

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

76.Struktura oprogramowania rozproszonego.

Middleware wprowadzenie października 2010

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Historia modeli programowania

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

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

5R]G]LDï %LEOLRJUDğD Skorowidz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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

Podstawowe zagadnienia

Komputery przemysłowe i systemy wbudowane

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Seria i7-n9500. Uwagi: 1.Urządzenia NVR są dostarczane bez dysków HDD 2.Należy używać dysków HDD zalecanych przez producenta.

Wstęp do Informatyki. Klasyfikacja oprogramowania

Transkrypt:

1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane i nienazwane 1 Kolejki komunikatów POSIX 1 Pamięć dzielona 1 Komunikacja międzyprocesowa, synchronizacja 1 procesów, problem producenta konsumenta Semafory POSIX 1 Programowanie w interfejsie gniazd BSD 2 Protokoły TCP i UDP - właściwości, programowanie, 1 aplikacje Usługi sieciowe: telnet, FTP, ssh, DNS, dhcp, demon 1 sieciowy inetd Zdalne wywoływanie procedur RPC, standard XDR, 1 aplikacje Kolokwium zaliczeniowe 1 RAZEM 15 Literatura: [1] K. Haviland, Dina Gray, Ben Salama, UNIX Programowanie systemowe, wyd. RM Warszawa 1999. [2] John Shapley Gray, Komunikacja między procesami w Unixie, wyd RM 1998 [3] Marc J. Rockhild, Programowanie w systemie Unix dla zaawansowanych, WNT 2007 [4] Tannenbaum Andrew, Systemy operacyjne wyd. III, Helion 2010 [5] Douglas E. Commer, Sieci komputerowe i intersieci, WNT Warszawa 2000. [6] Podręcznik języka C - http://pl.wikibooks.org/wiki/c

2 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy połączeni poprzez zdalne terminale znakowe polączenia modemowe Sieć WAN Mainframe Terminale szeregowe Rys. 1-1 Struktura systemu scentralizowanego 1.2 System sieciowy System sieciowy składa się z wielu stacji roboczych i serwerów połączonych siecią. System sieciowy zawiera komponenty pozwalające na współdziałanie pomiędzy stacjami roboczymi a serwerami. Użytkownik jest świadomy że pracuje w sieci złożonej z wielu komputerów. Stosowana jest wspólna struktura komunikacji. Sieciowy system operacyjny tworzy środowisko w którym użytkownicy mają dostęp do wspólnych zasobów. Pierwszy szeroko rozpowszechniony system sieciowy Unix BSD Zastosowane mechanizmy: Sieciowy system plików NFS (ang. Network File System) Zdalne wywoływanie procedur RPC (ang. Remote Procedures Calls) Sieciowe usługi informacyjne NIS (ang. Network Information Services)

3 Stacje robocze Sieć WAN Router Sieć lokalna Drukarka Serwery Rys. 1-2 System sieciowy Właściwości: Luźno powiązany sprzęt - różnego typu stacje robocze i serwery połączone siecią LAN. Różne systemy operacyjne - UNIX, Windows Obliczenia wykonywane przeważnie na maszynie lokalnej Pewien zbiór wspólnych usług i protokołów współpracy wspólne serwery plików, poczta elektroniczna, TCP/IP Zalety: Dzielenie zasobów Łatwa komunikacja między stacjami Wady: Użytkownicy koncentrują coraz więcej zasobów w swoich komputerach które w większości pozostają niewykorzystane. Zasoby niewykorzystane nie mogą być udostępnione innym Istnieją zadania niewykonalne na indywidualnych stacjach roboczych Przykłady sieciowych systemów operacyjnych: Unix BSD, Linux, Novel Netware, Microsoft Windows 2000, XP, Solaris.

4 1.3 System rozproszony Czynniki które umożliwiły powstanie systemów rozproszonych: Rozpowszechnienie tanich i wydajnych komputerów Rozwój sieci komputerowych Naturalna jest tendencja aby dokonać ściślejszego połączenia komputerów co prowadzi do systemów rozproszonych. Główna idea systemów rozproszonych: Integracja zasobów sprzętowych i programowych wielu komputerów za pomocą sieci w celu wzajemnego udostępnienia ich użytkownikom. Definicja: System rozproszony jest to układ niezależnych komputerów który sprawia na jego użytkowniku wrażenie że jest jednym komputerem. Własności: Komputery połączone mniej lub bardziej ściśle Na wszystkich komputerach wykonywany jednego typu system operacyjny Komputery mogą być różnego typu Jednolity mechanizm komunikacji pomiędzy procesami System plików wszędzie wygląda jednakowo Stacje robocze Pula procesorów P1 Router Sieć lokalna P2 Pn Serwery plików, uslug,... drukarka Rys. 1-3 Architektura sprzętowa systemu rozproszonego

5 Oprogramowanie systemu rozproszonego rozproszony system operacyjny Przykłady rozproszonych systemów operacyjnych: Amoeba, Mach, Chorus, DCE

6 2. Systemy Operacyjne 2.1 Funkcje systemu operacyjnego System operacyjny jest warstwą oprogramowania leżącą pomiędzy sprzętem a programami aplikacyjnymi. Najważniejsze funkcje systemu operacyjnego są następujące: 1. Implementacja współbieżności - procesów i wątków 2. Zarządzanie urządzeniami wejścia wyjścia 3. Implementacja pamięci wirtualnej 4. Implementacja systemu plików 5. Implementacja protokołów komunikacyjnych 6. Implementacja interfejsu z użytkownikiem 7. Zapewnienie bezpieczeństwa System operacyjny umożliwia efektywne wykorzystanie mocy obliczeniowej procesorów poprzez umożliwienie współbieżnego ich wykorzystania poprzez wielu użytkowników, wiele procesów i wątków. Dostarcza narzędzi do bezpiecznego współdzielenia zasobów systemu pomiędzy użytkownikami i procesami. Zwalnia użytkowników od uciążliwości programowania złożonych urządzeń wejścia - wyjścia. Dostarcza abstrakcyjnego mechanizmu pamięci operacyjnej w postaci pamięci wirtualnej oraz abstrakcyjnej pamięci trwałej w postaci systemu plików. Komunikacja pomiędzy programami aplikacyjnymi a systemem operacyjnym odbywa się poprzez wywołania systemowe (ang. system calls). Ma ono najczęściej postać funkcji lub procedury w której znaczenie parametrów i ich typy są dokładnie zdefiniowane i opisane. Zbiór wywołań systemowych tworzy interfejs do systemu operacyjnego API (ang. Application Program Interface). System operacyjny komunikuje się ze sprzętem za pomocą instrukcji wejścia - wyjścia i reaguje na zgłaszane przez sprzęt przerwania.

7 System operacyjny pozwala ukryć przed programistą złożoność sprzętu. Komputer widziany jest przez programistę jako abstrakcyjny mechanizm zdolny wykonywać instrukcje języka programowania i zbiór wywołań systemowych. Mechanizm ten nazywa się maszyną wirtualną. Procesy aplikacyjne PA1 PA2... PAn wywołania systemowe Maszyna wirtualna System operacyjny instrukcje wejścia instrukcje wyjścia SPRZĘT przerwania Rys. 2-1 System operacyjny jako interfejs pomiędzy sprzętem a oprogramowaniem

8 2.2 Podstawowe struktury systemów operacyjnych: system monolityczny system z mikrojądrem. 2.2.1 Systemy z jądrem monolitycznym W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem. Procesy aplikacyjne i systemowe P1 P2 Pn Wywołania systemowe Jądro Interfejs użytkownika system plików Sterowniki urządzeń Zarządzanie procesami szeregowani komunikacja międzyprocesowa urządzenia znakowe Pamięć wirtualna urządzenia blokowe kbd serial myszka dyski sieć usb ster. MMU instrukcje we/wy przerwania Sprzęt Sprzęt Rysunek 2-1 Jądro monolityczne Fragmenty kodu jądra wykonywane są: pod wpływem przerwań uruchamiania wywołań systemowych. Cechy systemu z jądrem monolitycznym: Jądro nie podlega szeregowaniu Awaria w jego obrębie skutkuje awarią całego systemu. Wysoka szybkość działania Systemy monolityczne: Linux

9 2.2.2 Systemy z mikrojądrem Budowa systemu z mikrojądrem: - Mikrojądro (ang. Microkernel) - Procesy systemowe (ang. System Processes) - Procesy aplikacyjne (ang. Application Processes) PA1 PA2... PAn Procesy aplikacyjne Mikrojądro Administrator plików IPC - komunikacja międzyprocesowa Administrator dysku Procesy systemowe... Administrator sieci Rysunek 2-2 Struktura systemu z mikrojądrem (na przykładzie QNX6 Neutrino) Funkcje mikrojądra: 1. Implementacja podstawowych mechanizmów komunikacji międzyprocesowej: komunikatów, impulsów, zdarzeń, sygnałów. 2. Implementacja funkcji synchronizacji wątków takich jak muteksy, semafory, zmienne warunkowe, bariery, blokady, operacje atomowe. 3. Szeregowanie procesy i wątki szeregowane są przez mikrojądro zgodnie z dostępnymi algorytmami szeregowania: FIFO, karuzelowy, sporadyczny. 4. Implementacja czasomierzy (ang. Timers). 5. Obsługa przerwań.

10 PA1 MIKROJĄDRO Administrator plików PA2 synchronizacja timery szeregowanie wątków IPC Administrator sieci PAn transformacja przerwań Procesy aplikacyjne przerwania Rysunek 2-3 Struktura mikrojądra Administrator procesów procnto Administratory systemowe Zalety systemu z mikrojądrem: 1. Niezależne szeregowanie procesów systemowych - obsługa urządzeń wejścia / wyjścia - procesy, które podlegają zwykłemu szeregowaniu. Mechanizm umożliwia osiągnięcie lepszych charakterystyk czasowych systemu - ważne w systemach RTS. 2. Modularność - prowadzi do zwiększenia niezawodności. 3. Wzajemna izolacja procesów - każdy z procesów systemowych wykonywany jest w oddzielnie chronionym segmencie przestrzeni adresowej. Awaria jednego z procesów nie powoduje awarii innego procesu. 4. Możliwość dynamicznego uruchamiania procesów systemowych - procesy systemowe są zwykłymi procesami.

11 3. System Linux System składa się z trzech głównych elementów Jądro odpowiada za realizację wszystkich istotnych abstrakcji systemu: pamięci witrualnej, procesów i plików. Biblioteki systemowe określają standardowy zestaw wywołań systemowych za pomocą których aplikacje mogą współdziałać z jądrem. Programy i demony systemowe programy wykonujące funkcje systemowe i pomocnicze. W tym demony systemowe programy pracujące w sposób ciągły i realizujące różne funkcje (ftp, demon sieciowy, itd.). Programy zarządzające systemem Procesy aplikacyjne Biblioteki systemowe Programy pomocnicze Wywołania systemowe Sprzęt instrukcje we/wy Jądro Sprzęt Ładowalne moduy jądra przerwania Rys. 3-1 Ogólny schemat systemu Linux Jądro dostarcza wszystkich podstawowych funkcji niezbędnych do wykonywania procesów. Jednak interfejs do usług jądra realizowany jest poprzez biblioteki systemowe. Dostarczają one bardziej złożonych wersji podstawowych usług systemowych. System Linux zawiera wiele programów działających w trybie użytkownika. Są to narzędzia niezbędne do rozpoczęcia pracy systemu, konfigurowania urządzeń, ładowania modułów jądra a także serwery systemowe. Serwery systemowe obsługują informacje napływające z sieci, inicjują pracę użytkowników itd. W skład systemu wchodzą też programy służące do obsługi systemu plików, graficznego interfejsu użytkownika, kompilatory i inne narzędzia niezbędne do codziennej pracy użytkownika.

12 4. Sieciowe systemy operacyjne Dziedziny zastosowań: Serwery plików Serwery bazy danych Serwery WWW Serwery Aplikacji Funkcje: 1. Zapewnienie komunikacji międzyprocesowej 2. Implementacja usług nazewniczych 3. Implementacja sieciowego systemu plików 4. Dostarczenie standardowych usług i aplikacji sieciowych: FTP, poczta elektroniczna, WWW, Corba.