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

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

Sieciowe Systemy Operacyjne

1. Etapy rozwoju systemów komputerowych

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

Jądro systemu operacyjnego

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

Wprowadzenie do systemów operacyjnych

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

Warstwy systemu Windows 2000

Czujniki obiektowe Sterowniki przemysłowe

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

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

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

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

Prezentacja systemu RTLinux

MODEL WARSTWOWY PROTOKOŁY TCP/IP

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

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

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

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

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

Systemy operacyjne III

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Podstawowe zagadnienia

SMB jako rozproszony system plików Prezentacja na SO

Działanie systemu operacyjnego

Systemy rozproszone System rozproszony

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

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Q E M U.

System komputerowy. System komputerowy

System operacyjny MACH

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

Urządzenia wejścia-wyjścia

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

Systemy czasu rzeczywistego wstęp

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

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

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

4. Procesy pojęcia podstawowe

Działanie systemu operacyjnego

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

Inteligentny czujnik w strukturze sieci rozległej

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Działanie systemu operacyjnego

Architektura komputerów

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

Bazy danych 2. Wykład 1

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Systemy czasu rzeczywistego wstęp

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

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

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

L4Ka::Pistachio Mikrojądra mogą być wydajne

Budowa systemów komputerowych

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

Kolejki FIFO (łącza nazwane)

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

Działanie systemu operacyjnego

Systemy operacyjne. Paweł Pełczyński

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

Prezentacja systemu plików NFS

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

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.

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Instrukcja konfiguracji funkcji skanowania

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Komputery przemysłowe i systemy wbudowane

Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański

4. Procesy pojęcia podstawowe

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

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

Konfiguracja komputera przeznaczonego do pracy z IndustrialSQL Server 8.0 (komputer serwer)

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

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

Systemy operacyjne II

NFS jest protokołem zdalnego wywoływania procedur (RPC)

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

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

Wprowadzenie do systemu Minix

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

POSIX ang. Portable Operating System Interface for Unix

Architektura komputerów

Komputery bezdyskowe - wprowadzenie

System plików. Warstwowy model systemu plików

System czasu rzeczywistego

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

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

Wprowadzenie. Dariusz Wawrzyniak 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Rodzaje pamięci masowych by Silas Mariusz

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Transkrypt:

1 1 SYSTEM QNX 6 Neutrino 1.1 Wiadomości ogólne o systemach operacyjnych Funkcje systemu operacyjnego: Zarządzanie zasobami systemu o zarządzanie procesami, o obsługa urządzeń, o obsługa pamięci wirtualnej o obsługa komunikacji Zapewnienie abstrakcyjnego dostępu do usług systemu Zapewnienie bezpieczeństwa Wywołania systemowe PA1 PA2 PAn Procesy aplikacyjne System operacyjny Sprzęt Rysunek 1-1 Rola systemu operacyjnego Podstawowe struktury systemów operacyjnych: system monolityczny system z mikrojądrem. W systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.

2 Jądro PA1 PA2 PAn Obsluga plików, sieci, urządzeń wejścia wyjścia synchronizacja timery szeregowanie wątków komunikacja międzyprocesowe obsługa przerwań Procesy aplikacyjne Wywołania systemowe przerwania Rysunek 1-2 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, RTLinux.

3 1.2 System QNX6 Neutrino Wielozadaniowy, sieciowy system operacyjny czasu rzeczywistego Podstawowe własności: 1. Architektura mikrojądra. System jest zbiorem procesów wymieniających komunikaty w środowisku lokalnym i rozproszonym. 2. System od podstaw zaprojektowany został jako wieloplatformowy: Intel x86, MIPS, PowerPC, SH-4, ARM, StrongARM i xscale. 3. System spełnia wymagania stawiane systemom czasu rzeczywistego, posiada wywłaszczającą strategię szeregowania i rozwinięty mechanizm priorytetów. 4. Zapewnia wysoką zgodność ze standardami POSIX 1003.1. Zawiera większość zawartych tam mechanizmów czasu rzeczywistego tym wątki. 5. Zapewnia wsparcie dla maszyn wieloprocesorowych SMP. 6. Zawiera wiele mechanizmów tolerowania awarii, w tym pakiet wspierania wysokiej dostępności HAM (ang. High Availability Manager). 7. Możliwe jest zastosowanie wielu systemów plików: RAM, Flash, QNX, Linux, DOS, CD-ROM, NFS. 8. Zapewnia wparcie dla wielu protokołów komunikacyjnych, w tym IPv4, IPv6. POSIX - Standard na interfejs pomiędzy systemem operacyjnym a aplikacją. Określa: Niezbędny zestaw wywołań systemowych Postać funkcji systemowych (język C) Wady systemu: 1. Wysoka cena 2. Utrata zgodności z istniejącym oprogramowaniem dla systemu QNX4 3. Wsparcie tylko dla ograniczonej liczby urządzeń peryferyjnych 4. Mała ilość oprogramowania użytkowego

4 1.3 Budowa systemu Budowa systemu: - Mikrojądro - microkernel - Procesy systemowe - system processes - Procesy aplikacyjne - application processes PA1 PA2... PAn Procesy aplikacyjne Mikrojądro plików IPC - komunikacja międzyprocesowa dysku Procesy systemowe... sieci Rysunek 1-3 Struktura systemu 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ń.

5 PA1 MIKROJĄDRO plików PA2 synchronizacja timery szeregowanie wątków IPC sieci PAn Procesy aplikacyjne transformacja przerwań przerwania procesów procnto y systemowe Rysunek 1-4 Struktura mikrojądra 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.

6 1.4 Komunikaty i komunikacja międzyprocesowa Przesłanie komunikatu (ang. message passing) Przesłanie komunikatu pomiędzy procesami jest przesłaniem pomiędzy nimi pewnej liczby bajtów według ustalonego protokołu. Przesłanie komunikatu jest operacją atomową. komunikat proces aplikacyjny klient serwer administrator zasobu odpowiedź Rysunek 1-5 Klient przesyła komunikat do serwera Przesłanie komunikatu składa się z trzech faz: 1. Wysłania komunikatu od procesu klienta do serwera. Proces klienta ulega zablokowaniu a komunikat odblokowuje proces serwera (o ile był zablokowany). 2. Serwer przetwarza komunikat i przesyła odpowiedź do klienta. 3. Proces klienta po otrzymaniu odpowiedzi ulega odblokowaniu. klient serwer Odbiór komunikatu komunikat blokada blokada Wysłanie komunikatu odpowiedź Odpowiedź na komunikat Rysunek 1-6 Transakcja przesłania komunikatu

7 Mechanizmy komunikacji międzyprocesowej implementowane w mikrojądrze: 1. Komunikaty i impulsy - (ang. messages, pulses) 2. Sygnały - (ang. signals) 3. Zegary - (ang. clocks) 4. Czasomierze - (ang. timers) 5. Procedury obsługi przerwań - (ang. interrupt handlers) 6. Semafory - (ang. semaphores) 7. Blokady wzajemnego wykluczania - muteksy (ang. mutual exclusion lock ) 8. Zmienne warunkowe (ang. conditional variables) 9. Bariery (ang. barriers) Mechanizmy IPC zewnętrzne względem mikrojądra 1. Łącza nienazwane - (ang. pipes), 2. Łącza nazwane - (ang. named pipes) 3. Wspólna pamięć - (ang. shared memory) 4. Kolejki komunikatów - (ang. message queues)

8 1.5 y zasobu i procesy systemowe y zasobu zapewniają jednolity dostęp do różnego rodzaju urządzeń. Urządzenia rzeczywiste: dyski, porty szeregowe, porty równoległe sieć Urządzenia wirtualne: sieciowy system plików okno pseudo terminal zasobu jest procesem serwerowym który akceptuje komunikaty od innych procesów. zasobu obsługuje zlecenia klientów odnoszące się do abstrakcji pliku. Plik jest abstrakcyjną strukturą na której można przeprowadzać operacje: otwarcie, odczyt, zapis, zamknięcie, zmianę bieżącej pozycji, ustawianie praw dostępu. Każde urządzenie w systemie QNX6 Neutrino widziane jest jako plik specjalny. Rodzaje plików: pliki specjalne (urządzenia, gniazdka, kolejki, semafory, segmenty pamięci dzielonej) pliki regularne katalogi

9 /dev/hd0 /dev/fd0 /dev/par1 /dev/ser1 /dev/con / fsqnx4.so devb-eide Proces obsługi dysków stałych typu IDE devb-fdc Proces obsługi stacji dyskietek devc-par Proces obsługi portu równoległego devcser8250 szeregowego RS232 Proces obsługi portu devc-con Proces obsługi konsoli Proces obsługi systemu plików QNX4 Tabela 1-1 Ścieżki do urządzeń i obsługujące je administratory fd = open("/dev/ser1",...) administrator procesów procnto 2 1 3 rejestracja urządzenie klient 4 devc- ser 8250 układ 8250 read(fd,buf,1) administrator zasobu Rysunek 1-7 Współpraca procesu klienta z portem transmisji szeregowej. Współpraca procesu klienta z portem transmisji szeregowej: 1. Przy starcie systemu proces devc-ser8250 rejestruje się w administratorze procesów procnto. 2. Proces klienta wysyła komunikat do lokalnego administratora procesów procnto z zapytaniem w gestii jakiego procesu leży ścieżka /dev/ser1. 3. Lokalny administrator procesów odpowie że należy się kontaktować z procesem devc-ser8250. 4. Proces klienta wysyła komunikaty do procesu devc-ser8250.

10 proces klienta administrator zasobu rejestracja ścieżki wysłanie komunikatu oczekiwanie odbiór odpowiedzi odbiór komunikatu przetwarzanie komunikatu wysłanie odpowiedzi Rysunek 1-8 Współpraca pomiędzy procesem klienta a administratorem zasobu procnto Zarządzanie pamięcią, wątkami i procesami devb-eide Proces obsługi dysków stałych typu IDE devb-fdc Proces obsługi stacji dyskietek devc-par Proces obsługi portu równoległego devc-ser8250 Proces obsługi portu szeregowego RS232 devc-con Proces obsługi konsoli io-net Ogólny administrator sieci io-graphisc Proces obsługi karty graficznej Photon Proces interfejsu graficznego Tabela 1-2 Ważniejsze procesy systemowe systemu QNX6 Neutrino

11 1.6 System plików W systemie QNX6 Neutrino zaimplementowano wiele różnych systemów plików. Każdy z systemów plików obejmuje fragment przestrzeni nazw i obsługuje drzewo katalogów i plików leżące poniżej punktu jego montowania. Własności: 1. Systemy plików mogą być startowane i zatrzymywane dynamicznie w trakcie pracy systemu. 2. Równocześnie może współistnieć wiele systemów plików. 3. System plików wykonywany na jednym węźle może być w przeźroczysty sposób dostępny z innego węzła. Najważniejsze systemy plików dostępne w QNX6 Neutrino:. 1. Bezpośredni system plików - Stosowany jest w wielu sterownikach wbudowanych. 2. System plików RAM - prosty system plików pozwalający na zapis i odczyt plików umieszczonych w pamięci RAM w katalogu /dev/shmem. 3. System plików QNX4 - jest to podstawowy system plików. Charakteryzuje się wysoką odpornością na awarie, wydajnością i architekturą wielowątkową, obsługiwany przez proces fs-qnx4.so. 4. System plików DOS - System plików jest obsługiwany przez proces fs-dos.so. 5. System plików CD-ROM - Obsługuje format ISO9660 System obsługiwany przez proces fs-cd.so. 6. System plików FFS3 - system plików przeznaczony jest dla pamięci Flash typu NOR (Compact Flash i Smart Media). System zawiera zabezpieczenia chroniące przed utratą integralności w przypadku wyłączenia zasilania w trakcie operacji zapisu. Stosowany jest w sterownikach wbudowanych. 7. Sieciowy system plików NFS - Stacja kliencka może sięgać poprzez sieć do plików położonych na zdalnym serwerze. System oparty jest na technologii RPC (ang. Remote Procedures Calls). Jako warstwę transportowa stosuje protokół TCP/IP. Procesem obsługującym NFS jest fs-nfs2 lub fs-nfs3.

12 8. Sieciowy system plików CIFS - CISF jest sieciowym systemem plików wspieranym przez Microsoft (uprzednio SMB). Stacja kliencka może uzyskać dostęp poprzez sieć do systemów plików na serwerze Windows lub Linux na którym uruchomiono serwer SMB. Jako warstwę transportowa stosowany jest protokół TCP/IP a system utrzymywany jest przez proces fs-cifs. 9. System plików Ext2 - system plików Ext2 jest używany przez Linux a. Procesem obsługującym ten system plików jest fs-ext2.so.

13 1.7 Onet rodzima sieć komunikacyjna systemu QNX6 Neutrino Unikalność mikrojądra Neutrino polega na łatwości implementacji środowisk rozproszonych (ang. distributed enviroments). Osiągnięto to dzięki paradygmatowi przekazywania komunikatów, który dla pracy lokalnej i sieciowej pozostaje zasadniczo taki sam. Fundamentem tego systemu protokół Qnet umożliwia jednolitą metodę dostępu do zasobów, tak lokalnych jak i zdalnych. Standardowe programy narzędziowe operujące na takich zasobach systemu jak pliki działają tak samo dla zasobów lokalnych i zdalnych. Zastosowanie sieci Qnet pozwala na osiągnięcie następujących korzyści: 1 Przeźroczysty dostęp do zdalnego systemu plików. 2 Łatwość budowy aplikacji skalowalnych. 3 Łatwość tworzenia aplikacji rozproszonych składających się z komunikujących się procesów. 4 Łatwość tworzenie aplikacji równoległych wykonywanych na połączonych siecią komunikacyjną komputerach. Przykład: $ cat /net/qumak/home/juka/infor.txt Komputer astra / Komputer qumak / /dev /net /bin Qnet /dev /bin /home /net/qumak/ /home/juka /net/qumak/home/juka infor.txt infor.txt Rysunek 1-9 Odwzorowanie przestrzeni nazw komputera qumak w katalogu /net/qumak komputera astra fh = open( /net/qumak/home/juka/infor.txt, O_RDWR)

14 Z komputera astra Lokalnie Zasób /net/qumak/dev/ser1 /dev/ser1 Port szeregowy /net/qumak/dev/par /dev/par Port równoległy /net/qumak/home/ /home Katalog /net/qumak /home/juka/infor.txt Plik regularny /home/juka/infor.txt Tabela 1-3 Zasoby komputera qumak lokalnie i poprzez sieć aplikacja 1 procesów 4 3 2 Qnet 3 4 Qnet 4 3 dysków stałych infor.txt procesów Komputer astra Komputer qumak Rysunek 1-10 Dostęp klienta do zasobu położonego na komputerze zdalnym Katalog sieciowy - odwzorowuje nazwy komputerów połączonych siecią Standardowo katalog sieciowy nazywa się /net. Zawartość katalogu sieciowego a tym samym nazwy komputerów pracujących w sieci Qnet uzyskać można poleceniem: $ls /net $ astra qumak Sieć Qnet obsługuje wielokrotne połączenia sieciowe. Z połączeniami wielokrotnymi łączy się pojęcie QoS (ang. Quality of Service) połączenie równoważące obciążenie, połączenie preferowane, połączenie wyłączne.