Real-Time Linux. Wprowadzenie
|
|
- Krzysztof Góra
- 8 lat temu
- Przeglądów:
Transkrypt
1 Real-Time Linux Wprowadzenie
2 Co to jest Real-Time? Zdolność systemu do udzielenia odpowiedzi (prawidłowej) w z góry określonym czasie. A więc od systemu czasu rzeczywistego będziemy wymagali, aby reagował na czynniki zewnętrzne w czasie który jesteśmy w stanie przewidzieć.
3 Czy zawsze? Rzeczywiście, wymaganie,,punktualności jest podstawowym obok poprawności wykonywanych działań (obliczeń) wymaganiem stawianym systemom realtime owym. W pewnych sytuacjach są dopuszczalne jednak niewielkie!!! odstępstwa.
4 Soft Real-Time W niektórych zastosowaniach nie jest konieczne, aby system odpowiadał zawsze w ściśle określonym czasie. Może się zdarzyć, jednak nie zbyt często, że system nie odpowie na czas. W tym przypadku nie jest to uznawane za błąd, pod warunkiem, że opóźnienie nie będzie zbyt długie. Systemy znajdujące zastosowanie w takich sytuacjach określamy mianem Soft Real-Time.
5 A co z Hard? Systemy z grupy Hard Real-Time z kolei muszą ZAPEWNIĆ spełnienie wymogów czasowych i to za każdym razem. Przekroczenie dopuszczalnego czasu reakcji na zdarzenie (,,Deadline ) jest w tych systemach uważane za poważny błąd.
6 Kto tego potrzebuje? Każdy. Przykłady zastosowań systemów czasu rzeczywistego znajdziemy praktycznie w każdej dziedzinie naszego życia. systemy przetwarzania audio-video telekomunikacja sterowanie sprzętem w fabrykach loty kosmiczne i wiele, wiele innych
7 Soft vs Hard W większości przypadków zastosowanie systemu typu Soft RT jest wystarczające. Np. systemy obsługujące bankomaty. Opóźnienia rzędu kilku sekund nie mają większego znaczenia. W przypadku jednak gdy przekroczenie czasu reakcji może być okupione dużymi stratami (np.obsługa maszyn w fabrykach czy sterowanie aparaturą monitorującą życie pacjentów w szpitalu) konieczne staje się zastosowanie systemów Hard RT.
8 Przykład dydaktyczny Sterowanie urządzeniem malującym
9 Problemy z malowaniem nie można zacząć zbyt wcześnie nie można zacząć zbyt późno nie można zakończyć zbyt wcześnie nie można zakończyć zbyt późno Czyli w RTOS nie chodzi tylko o wykonanie zadania przed,,deadline, ale przede wszystkim o wykonanie zadania w dokładnym przedziale czasowym.
10 Wiele taśm Niezależnie od liczby procesów obsługujących taśmy system zawsze musi spełniać wymagania czasowe. Okresowe wyłączenie niektórych taśm nie może wpływać na działanie pozostałych.
11 Pozostałe wymagania deterministyczny czas wykonania (już było) wieloprogramowość i zarządzanie wykonaniem procesów komunikacja międzyprocesowa dynamiczna alokacja pamięci zarządzanie urządzeń I/O zegary
12 Czy Linux jest RT? jest systemem wieloprogramowym posiada mechanizmy komunikacji międzyprocesowej (IPC) umożliwia dynamiczną alokację pamięci umożliwia zarządzanie sprzętem I/O dostarcza funkcje wspierające odmierzanie czasu nie umożliwia dokładnej kontroli czasu wykonania, niezależności od liczby procesów
13 Wiele taśm, a schedule() Aby niezależność od liczby procesów mogła być osiągnięta funkcja schedule() w jądrze linux a musiałaby działać w czasie stałym. W rzeczywistości jest to O(n). Nawet dla procesów czasu rzeczywistego funkcja schedule() przegląda całą kolejkę runqueue i w ten sposób wybiera proces do wykonania.
14 Przełączanie procesów
15 Wywłaszczanie w trybie jądra Rozważmy scenariusz (taśma c.d.): 1. proces o niskim priorytecie wykonuje funkcję systemową 2. w kolejce procesów gotowych pojawia się proces o wysokim priorytecie który jest sterowany czujnikiem na taśmie w fabryce 3. proces o niskim priorytecie wykonuje funkcję trybu jądra i wcale mu się nie spieszy 4. element nie zostaje pomalowany ponieważ proces obsługujący maszynę nadal czeka w kolejce 5. nikt nigdy więcej nie użyje Linux a jako systemu RT
16 Przerwanie zegarowe W standardowym jądrze Linux a przerwanie zegarowe jest wywoływane co ok. 10 ms (100 Hz). Oznacza to, że jeżeli nasza aplikacja, której nakażemy zasnąć na 15 ms zostanie tak naprawdę obudzona dopiero po czasie ok. 20 ms. Dla niektórych zastosowań taka dokładność jest niezadowalająca. W takiej sytuacji trzeba szukać innych rozwiązań.
17 Jak można to rozwiązać? uniezależnić scheduler od liczby procesów (scheduler przynajmniej dla procesów czasu rzeczywistego SCHED_FIFO i SCHED_RR powinien działać w czasie O(1) wprowadzić wywłaszczanie procesów w trybie jądra wprowadzenie dodatkowych (dokładniejszych) mechanizmów odliczania czasu przebudowanie całego jądra systemu (sub-kernel)
18 Wprowadzenie schedulera O(1) Można poprawić scheduler dla procesów czasu rzeczywistego tak, aby wybór procesu odbywał się w czasie stałym (patche na standardowe jądro Linux a są dostępne w sieci). Okazuje się jednak, że opóźnienia związane z działaniem schedule() nie są tak duże (rzędu mikro sekund) zwłaszcza gdy nasz system będzie pracował jako system Soft RT. Znacznie większe opóźnienia są spowodowane przez odkładanie wywołania schedule()bo np. jakiś proces jest teraz w trybie jądra.
19 Jądro wyłaszczalne Poprzez szereg badań i obserwacji zauważono, że można znacznie zwiększyć interakcyjność systemu Linux gdy istnieje możliwość wywłaszczania procesów pracujących w trybie jądra (przykład). Nie zawsze jednak możemy dopuścić do tego, aby kod jądra był wykonywany przez procesy w dowolnym przeplocie (dostęp do niektórych krytycznych danych). Nie wszystkie funkcje systemowe są wielowejściowe.
20 Dwa podejścia do sprawy Na przestrzeni kilku ostatnich lat wypracowano dwa rozwiązania problemu wywłaszczania procesu w trybie jądra: jądro w pełni wywłaszczalne (preemptible) wywłaszczanie tylko w określonych miejscach (preemption points low latency) Obydwa podejścia mają swoich zwolenników i przeciwników. Praktyka natomiast pokazuje, że najlepsze wyniki uzyskuje się łącząc obydwa rozwiązania w jedno.
21 Preemptible kernel Pierwsze podejście zakłada, że dopuszczamy wywłaszczanie procesu działającego w trybie jądra poza pewnymi miejscami kodu (sekcje krytyczne) gdzie byłoby to niebezpieczne. Istnieje grupa łatek na standardowe jądro (preemption patches) które umożliwiają korzystanie z wywłaszczania. Aby unikać wywłaszczania w sekcjach krytycznych przerabia się funkcje działające na spin lock ach tak, aby blokowały wywłaszczanie na czas gdy proces posiada blokadę. W momencie kiedy blokada jest zwalniana sprawdzane jest czy nie zdarzyło się coś co może wymagać uruchomienia schedule() i jeżeli tak było (ustawiona flaga need_resched w task_struct jest wywoływane schedule()).
22 Low Latency Termin ten określa drugie podejście do sprawy wywłaszczania procesów pracujących w trybie jądra. Zastosowano tu sprytną sztuczkę. W kodzie jądra są wstawiane fragmenty kodu (preemption points) mające za zadanie dać szanse funkcji schedule()na zamianę wykonywanego procesu na inny. Preemption point: if (current->need_resched) schedule(); Punkty te oczywiście nie są losowe. Miejsca takie dobiera się poprzez długie, doświadczalne analizy działania procesów. Poza tym patch e low latency wprowadzają jeszcze jedno ciekawe rozwiązanie.
23 Lock Breaking Załóżmy, sytuację w której przeszukujemy listę pewnych elementów. Nasz proces posiada blokadę związaną z tą listą tak, aby nikt nam się nie wtrącał. Jeżeli lista jest długa to przeglądanie będzie trwało długo. Jeżeli w trybie jądra proces przeszukuje jakąś listę (zwykle zabezpieczoną spin lock iem) to nie moglibyśmy go wywłaszczyć. Dzięki zastosowaniu Lock Breaking możemy przerwać przeszukiwanie listy jeżeli uznamy, że trwa to zbyt długo. Wówczas musimy oddać spin lock i sprawdzić czy nikt nie próbuje wywołać schedule(). Jeżeli możemy kontynuować działanie to pobieramy blokadę i szukamy dalej. Jednak jeżeli need_resched = 1 to musimy dać szanse innym. W tym przypadku musimy uważać, aby następnym razem zacząć przeszukiwać listę od początku!!!
24 Dokładne odmierzanie czasu Dokładne mierzenie czasu jest bardzo ważne dla systemu czasu rzeczywistego. Dla niektórych zastosowań standardowa dokładność 10 ms oferowana przez funkcje jądra jest wystarczająca, w innych jest to zdecydowanie za mało. Linux korzysta z zegara programowalnego do liczenia czasu. Aby zwiększyć dokładność można go przeprogramować, ale to spowoduje zwiększenie narzutu na obsługę przerwania zegarowego. Trzeba poszukać lepszego rozwiązania.
25 TSC (Time Stamp Counter) Procesory x86 od Pentium począwszy, są wyposażone w 64-bitowy rejestr znacznika czasu TSC zwiększany przy każdym cyklu zegara. Rejestr ten można odczytać za pomocą instrukcji rdtsc. Oznacza to, że na procesorze o częstotliwości zegara 1GHz można uzyskać dokładność pomiaru rzędu 1 ns!!! (64-bity starczy na ok. 600 lat ). Wiele implementacji Real-Time Linux a wykorzystuje TSC do odmierzania czasu, uzyskując w ten sposób rewelacyjną dokładność.
26 Coś nowego Sub-Kernels W systemach czasu rzeczywistego, zwłaszcza tych typu Hard, konieczne jest odpowiadanie na przerwania sprzętowe w deterministycznym czasie. Sprytnym wydaje się więc stworzenie mini-systemu operacyjnego, zajmującego się obsługą przerwań. Warto by było jednak zachować pełną funkcjonalność Linux a. Rozwiązaniem jest system w którym jądro Linux a traktowane jest jako proces RT o najniższym priorytecie.
27 Sub-Kernel i Kernel
28 Rola i zadania Sub-Kernel Sub-Kernel jest małym systemem operacyjnym. Musi więc udostępniać procesom pewne usługi. zarządzanie procesami czasu rzeczywistego oparte na priorytetach funkcje obsługi przerwań funkcje komunikacji z procesami Linux a Czyli system ten przejmuje na siebie wszystkie zadania krytyczne dla systemu RT. Aby nie tracić jednak wszystkich zalet jądra Linux a jest ono utrzymywane, ale jego priorytet nie może być wyższy niż procesy Real- Time. W ten sposób są konstruowane systemy RT o największych wymaganiach (RTLinux,RTAI).
29 Inne pomysły różne wersje schedulera ładowane jako moduły jądra funkcje obsługi przerwań ustalane z poziomu użytkownika API do rezerwowania sprzętu przez procesy proces o wyższym priorytecie może odebrać siłą zasób procesowi o niższym priorytecie (ma to zapobiegać tzw. priority inversion)
30 Gwarancja spełnienia wymagań Aby ktoś mógł zagwarantować, że system spełni wymagania konieczne jest przebadanie wszystkich ścieżek wykonania procesów. Samo testowanie nie wystarczy ponieważ nie jesteśmy w stanie przewidzieć wszystkich warunków pracy systemu. Aby system gwarantował konieczne jest skonstruowanie matematycznej formuły i jej dowód. Ze względu na liczbę możliwych wykonań i trudność analizy nikt tego jednak nie robi. Z tego też względu sprzedawcy systemów RT nie dają gwarancji na spełnienie wymagań, a jedynie stwierdzają, że przekroczenie jakiegoś czasu jest uważane w systemie za błąd.
31 Informacje o RT w sieci - ogromny zbiór artykułów, opinii, komentarzy strony producentów systemów Real-Time
Prezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14
Jadro Linux 2.6 a zadania czasu rzeczywistego Artur Lewandowski al167167@students.mimuw.edu.pl Jądro Linux 2.6 p.1/14 1 Wprowadzenie Linux 2.6 wprowadza dużo nowych cech polepszajacych wydajność zadań
Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.
Systemy wbudowane - wykład 9 Przemek Błaśkiewicz 26 maja 2017 1 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; 2 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system
Układy czasowo-licznikowe w systemach 80x86
Układy czasowo-licznikowe w systemach 80x86 Semestr zimowy 2014/2015, WIEiK-PK 1 Układy czasowo-licznikowe w systemach 80x86 W komputerach osobistych oprogramowanie w szczególności, jądro systemu musi
Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski
Szeregowanie zadań w Linux Kernel 2.6 Daniel Górski Przemysław Jakubowski Plan prezentacji Szeregowanie procesów - Szeregowanie - Cele szeregowania - Scheduler 2.6 - Struktury danych używane w 2.6 - Multiprocesorowość
Systemy wbudowane. Systemy operacyjne czasu rzeczywistego
Systemy wbudowane Systemy operacyjne czasu rzeczywistego Definicje System czasu rzeczywistego to taki, w którym wynik przetwarzania nie zależy tylko i wyłącznie od jego logicznej poprawności, ale również
Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1
Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Podstawowe zagadnienia
SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego
System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego
Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI
Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją
1. Szeregowanie w systemach czasu rzeczywistego
J. Ułasiewicz Systemy Czasu Rzeczywistego 1 1. Szeregowanie w systemach czasu rzeczywistego 1.1 Definicje Zadanie - proces lub wątek Gotowych do wykonania zadań jest zwykle dużo więcej niż mogących je
REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile)
KRÓTKO O HISTORII RT-LINUX STAN PRAWNY - NIEFORTUNNY PATENT INNE ROZWIĄZANIA ZGODNOŚĆ Z POSIX (1003.13 PSE51 (minimal realtime system profile) KLUCZOWE ELEMENTY KONCEPCJI RTL WIRTUALNY SYSTEM PRZERWAŃ
Metody obsługi zdarzeń
SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału
Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 6 Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Rodzaje planowania Planowanie długoterminowe. Decyzja o
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Przykłady implementacji planowania przydziału procesora
Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem
J. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 7. procesów W środowisku systemu pracuje zwykle więcej procesów gotowych do wykonania niż dostępnych jest procesorów. Stąd istnieje potrzeba decydowania
Przerwania, polling, timery - wykład 9
SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń
przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem 2.6 Szeregowanie w systemie Windows 2000/XP (2) Szeregowanie
Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.
Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).
projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro
projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro Rygorystyczny (twardy) system operacyjny czasu rzeczywistego. Jego charakterystyczną
Planowanie przydziału procesora
Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy
Planowanie przydziału procesora
Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista
Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy
Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa
Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler
Planowanie przydziału procesora CPU scheduling Koncepcja szeregowania Koncepcja szeregowania (Basic Concepts) Kryteria szeregowania (Scheduling Criteria) Algorytmy szeregowania (Scheduling Algorithms)
IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com
IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Systemy operacyjne II
Systemy operacyjne II Wojciech Kwedlo Wydział Informatyki PB, p. 205 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Pracownia specjalistyczna: Wojciech Kwedlo Krzysztof Bandurski Wojciech
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Linux - Real-Time (?)
Linux - Real-Time (?) Marcin Bis marcin@bis.org.pl 6 marca 2012 Marcin Bis Linux - Real-Time (?) O czym to będzie? Linux w systemach wbudowanych (głównie) dużo gotowego oprogramowania w wielu przypadkach
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008
Systemy operacyjne oparte na mikrojądrze na przykładzie Minix3. Maciej Łaszcz, Wojciech Łowiec, Patryk Spanily 2 XII 2008 Systemy oparte na mikrojądrze Jądro systemu jest bardzo małe Architektura mocno
Planowanie przydziału procesora
Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja
Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy
ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci
Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu
Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja
Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie
Systemy operacyjne wykład 11- Zakleszczenia dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 17grudnia2015r. POJĘCIE ZAKLESZCZENIA Zakleszczenie to zbiór
Jądro systemu operacyjnego
Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między
Jesień LinuksowaLinux - Real-Time w systemach wbudowanych
Jesień Linuksowa Linux - Real-Time w systemach wbudowanych marcin@bis-linux.com 13 padziernika 2012 Jesień LinuksowaLinux - Real-Time w systemach wbudowanych O mnie http://bis.org.pl/ GNU/Linux (administracja,
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści
Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna
Projekt i implementacja systemu obsługi kart chipowych
Seminarium dyplomowe. Autor: Adam Grześko morel@pifpaf.pl Projekt i implementacja systemu obsługi kart chipowych Promotor: prof. dr hab in ż. T. Morzy 1 Plan prezentacji: Cel pracy, wykorzystane narzędzia,
Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych
Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych 3.2. Implementacja planowania przydziału procesora http://wazniak.mimuw.edu.pl/index.php
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów
Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008
Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania
Systemy czasu rzeczywistego wstęp
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Systemy wbudowane Często system sterujący stanowi integralną część urządzenia. Jest to system wbudowany. Nie posiada on żadnych elementów pozwalających
Systemy operacyjne. Paweł Pełczyński
Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Uniwersalny Konwerter Protokołów
Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy
Budowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
PAMIĘCI SYNCHRONICZNE
PAMIĘCI SYNCHRONICZNE SDRAM SDRAM Synchroniczna, dynamiczna pamięć RAM Pamięci SDRAM to moduły 168-pinowe z 64-bitową magistralą (lub 72-bitową z kontrolą parzystości). Jest ich kilka rodzajów, ale te
Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne
Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów
SYSTEMY OPERACYJNE WYKLAD 6 - wątki
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
MIKROPROCESORY architektura i programowanie
SYSTEM PRZERWAŃ (dla µ-kontrolerów rodziny 51) pomysł przerwań zewnętrznych i programowych to kolejny, genialny fundament konstrukcji procesorów cyfrowych Naturalnie sekwencyjne wykonywanie programu może
Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Motywacja Przewiduje się że w dalszej perspektywie głównym motorem wzrostu mocy przetwarzania komputerów
Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady
Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,
Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
Linux vs rootkits. - Adam 'pi3' Zabrocki
Linux vs rootkits - Adam 'pi3' Zabrocki /usr/bin/whoami ADAM ZABROCKI /usr/bin/whoami ADAM ZABROCKI /usr/bin/whoami ADAM ZABROCKI http://pi3.com.pl pi3@itsec.pl (lub oficjalnie adam.zabrocki@wcss.pl) Plan
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Przetwarzanie potokowe pipelining
Przetwarzanie potokowe pipelining (część A) Przypomnienie - implementacja jednocyklowa 4 Add Add PC Address memory ister # isters Address ister # ister # memory Wstęp W implementacjach prezentowanych tydzień
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Zarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Systemy Czasu Rzeczywistego (SCR)
Systemy Czasu Rzeczywistego (SCR) Wykład 13: Elementy systemów operacyjnych czasu rzeczywistego (2/2) SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
projektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
Wykład 6 Planista procesora funkcja schedule. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 6 Planista procesora funkcja schedule Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Typowe punkty wywołania planisty Procedura sleep_on (usypanie procesu). Powrót z wywołania
Linux Scheduler Szeregowanie procesów w systemie Linux. Andrzej Ambroziewicz Piotr Marat Mieszko Michalski
Linux Scheduler Szeregowanie procesów w systemie Linux Andrzej Ambroziewicz Piotr Marat Mieszko Michalski Zawartość prezentacji Linux Scheduler 2.4 Linux Scheduler 2.6 CFS ( Completely Fair Scheduler )
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora
A. Korzystanie z panelu sterowania
A. Korzystanie z panelu sterowania EN PL Timer Timer Memory/Screen lock (unlock) Blokada (odblokowanie) pamięci/ekranu Downward movement Przesunięcie w dół Upward movement Przesunięcie w górę Memory 1/2/3
Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady
Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,
Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie podejść do planowania przydziału procesora w najbardziej popularnych
Modułowy programowalny przekaźnik czasowy firmy Aniro.
Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały
Programowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
Planowanie przydziału procesora
Planowanie przydziału procesora Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania Przykłady implementacji przydziału czasu
Logiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Część I - Sterownik przerwań 8259A i zegar/licznik 8253
Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń
Wykład 3: Implementacja programów wbudowanych
Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane
Mikroinformatyka. Wielozadaniowość
Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt
Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu
Wprowadzenie do systemu Minix
Opis powstał na podstawie pracy dyplomowej Adama Pogorzelskiego Opracowanie laboratoryjnej wersji systemu Minix 2.0 wykonanej w 1998 roku w IAiIS PW. 1. Wprowadzenie System operacyjny (SO) to program lub
Materiały pomocnicze 1
JĄDRO SYSEMU Jądro systemu stanowi główny interfejs między sprzętem (surową maszyną), a systemem operacyjnym. JĄDRO SYSEMU inne elementy systemu jądro systemu surowa maszyna 2 PODSAWOWE UDOGODIEIA SPRZĘOWE
System czasu rzeczywistego
System czasu rzeczywistego Definicje System czasu rzeczywistego (real-time system) jest to system komputerowy, w którym obliczenia prowadzone równolegle z przebiegiem zewnętrznego procesu mają na celu
Architektury systemów czasu rzeczywistego RTOS. Wykonał: Bartłomiej Bugański
Architektury systemów czasu rzeczywistego RTOS Wykonał: Bartłomiej Bugański System operacyjny czasu rzeczywistego ( ang. Real-Time Operating System - RTOS) to komputerowy system operacyjny, który został
SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH
Zastosowania procesorów sygnałowych SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH Opracowanie: Grzegorz Szwoch Politechnika Gdańska, Katedra Systemów Multimedialnych Programowanie bez OS Proste programy na
Wątki jądra. Maciej Szwaja
Wątki jądra Maciej Szwaja Czym są wątki jądra? Lekkie procesy, działające asynchronicznie w przestrzeni jądra (podobnie jak zwykłe wątki w przestrzeni użytkownika), niezwiązane z żadnym procesem użytkownika
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Architektura systemów komputerowych. Przetwarzanie potokowe I
Architektura systemów komputerowych Plan wykładu. Praca potokowa. 2. Projekt P koncepcja potoku: 2.. model ścieżki danych 2.2. rejestry w potoku, 2.3. wykonanie instrukcji, 2.3. program w potoku. Cele
procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
Analiza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH
1 ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH WFAiS UJ, Informatyka Stosowana II stopień studiów 2 Wnioskowanie statystyczne Czyli jak bardzo jesteśmy pewni że parametr oceniony na podstawie próbki jest
Proces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz