Wykład 13. Linux 2.0.x na maszynach SMP. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
|
|
- Karol Kucharski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Wykład 13 Linux 2.0.x na maszynach SMP Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
2 Architektura SMP Skrót od słów Symmetric Multiprocessing (Symetryczne Przetwarzenie Wieloprocesorowe) W systemie znajduje się kilka procesorów, które wpółdzielą całą pamięć operacyjną. Wszystkie procesory adresują pamięć (oraz wejście/wyjście) w ***taki sam*** sposób - stąd słowo symetryczne. Pamięć może być podzielona na wiele modułów. Na ogół średni czas dostępu dowolnego procesora do dowolnego modułu pamięci jest taki sam (UMA uniform memory architecture), chociaż może być inaczej (np. AMD Opteron każdy procesora ma bliższą i dalszą pamięć architektura NUMA). Konflikty w dostępie do współdzielonej pamięci ograniczają skalowalność takiej architektury. W rozwiązaniach typu high-end (SGI Origin, SUN) maks procesorów. Wojciech Kwedlo, Systemy Operacyjne II -2- Wydział Informatyki PB
3 Implementacja SMP M 1 M 2 M 3 M K Sieć Połączeń P 1 P 2 P 3 P N W ogólnym przypadku mamy N procesorów P 1,P 2,...,P N oraz K modułów pamięci: M 1,M 2,...,M N Moduły połączone są z procesorami siecią połączeń. Idea: w danej chwili kilka procesorów może jednocześnie odwoływać się do różnych modułów pamięci. Wymaga to np. Sieci połączeń w typu crossbar switch (przełącznica krzyżowa). Stosowane jest to w drogim sprzęcie, ponieważ potrzebujemy N*K przełączników Wojciech Kwedlo, Systemy Operacyjne II -3- Wydział Informatyki PB
4 SMP na architekturze x86 Pamięć P 1 P 2 P 3 P 4 Na ogół stosuje się szynę danych do której mogą być podłączone co najwyżej cztery procesory. Upraszcza to budowę systemu Jednocześnie znacznie ogranicza wydajność w danej chwili dane może przesyłać tylko jeden procesor. Aby zlikwidować wpływ wąskiego gardła każdy procesor ma indywidualną pamięć podręczną (ang. cache). Począwszy od Pentium Pro, także pamięć podręczną drugiego poziomu (L2). Wojciech Kwedlo, Systemy Operacyjne II -4- Wydział Informatyki PB
5 Pamięć podręczna Pamięć podręczna przechowuje najczęściej wykorzystywane dane. W przypadku odczytu, gdy dane są w pamięci podręcznej, procesor nie musi sięgać do pamięci głównej. Wykonuje odczyt z pamięci podręcznej, co nie obciąża szyny. Gdy odczytywanych danych nie ma w pamięci podręcznej, wczytywane są najpierw z pamięci głównej. Pamięć podręczna podzielona jest na wiersze o stałej długości (typowo 64 lub 128 bajtów). Komunikacja pomiędzy pamięcią podręczną i główną odbywa się zawsze na poziomie wierszy. Problemy pojawiają się przy zapisie danych (zakładamy że odpowiedni wiersz już jest w pamięci podręcznej). Mamy do wyboru dwie strategie: write-through (486) zapisuj jednocześnie do pamięci podręcznej i głównej. write-back (Penitum) zapisz do pamięci podręcznej, odkładjąc zapis do pamięci głównej na później Wojciech Kwedlo, Systemy Operacyjne II -5- Wydział Informatyki PB
6 Pamięć podręczna a systemy wieloprocesorowe Zastosowanie indywidualnej pamięci podręcznej (typu write-back) komplikuje niezmiernie architekturę systemu, ponieważ utrudnia utrzymanie spójności danych. Rozważmy sytuację: Procesor A zapisał dane (zgodnie ze strategią write-back) na razie do pamięci podręcznej. Ale jeszcze wcześniej Procesor B pobrał do swojej pamięci podręcznej poprzednią kopię danych. System może się znaleźć w stanie niespójnym => Obydwa procesory widzą inne dane pod tym samym adresem. Na szczęście inżynierowie firmy Intel rozwiązali za nas ten problem. W tej architekturze spójność pamięci podręcznej jest zapewniana na poziomie sprzętu. Powyższa sytuacja nie wystąpi!!! Pomimo tego twórcy (i to nie tylko systemu, ale i aplikacji) powinni się orientować w zarysach tego rozwiązania, ponieważ ma ono potencjalnie olbrzymi wpływ na wydajność. Wojciech Kwedlo, Systemy Operacyjne II -6- Wydział Informatyki PB
7 Utrzymywanie spójności pamięci podręcznych Każdy procesor śledzi magistralę i akcje podejmowane przez inne procesory (bus snooping). Dzięki temu wykrywa fakt współdzielenia wiersza pamięci podręcznej. Próba zapisu do współdzielonego wiersza powoduje wysłanie sygnału innym procesorom w celu unieważnienia tego wiersza w ich pamięci cache. Gdy Procesor B usiłuje wczytać zmodyfikowany (dirty nie zapisany do pamięci głównej) przez procesor A wiersz, A przejmuje kontrolę nad magistralą i przesyła poprawne dane. Wniosek: Zapis danych, które są jednocześnie współdzielone przez inny procesor jest o wiele wolniejszy (nawet kilkadziesiąt razy) od zapisu danych które nie są współdzielone. Spowolnienie jest związane z koniecznością podjęcia akcji utrzymującej spójność pamięci podręcznych obydwu procesorów. W programach należy unikać niepotrzebnego współdzielenia związanego z częstymi zapisami danych. Wojciech Kwedlo, Systemy Operacyjne II -7- Wydział Informatyki PB
8 Fałszywe współdzielenie (ang. false scharing) int x; int y; Niech procesor A cyklicznie odczytuje zmienną x, a procesor B cyklicznie zapisuje zmienną y. Formalnie współdzielenia nie ma. Ale pamięć podręczna operuje ***wierszami*** o typowym rozmiarze 64 bajtów. Dwie sąsiednie zmienne prawie na pewno znajdują się w tym samym wierszu. A wiersz ten jest wpółdzielony. Aby uniknąć współdzielenia pomiędzy x a y należy wstawić odstęp równy długości wiersza pamięci podręcznej. Linux to robi! Nie jest to problem akademicki. Przykładowy program wykazuje duże spowolnienie związane ze współdzieleniem. Wojciech Kwedlo, Systemy Operacyjne II -8- Wydział Informatyki PB
9 Systemy operacyjne dla maszyn SMP Pierwsze próby: Przeznacz jeden procesor na wykonywanie kodu systemu, pozostałe na kod procesów. Obecnie: dowolny procesor może wykonywać kod systemu, bądź kod użytkownika - ale nie w Linuksie 2.0. Linuks 2.0: w danej chwili maksymalnie jeden procesor może wykonywać kod jądra, a pozostałe kod użytkownika. Użytkownicy mogą wykorzystywać wieloprocesorowość poprzez: Uruchamianie wielu niezależnych procesów procesy będą wykonywane na różnych procesorach. Uruchamianie procesów wielowątkowych (PosixThreads). Różne wątki wykonywane są na różnych procesorach i aplikacja może szybciej wykonać działanie. Wojciech Kwedlo, Systemy Operacyjne II -9- Wydział Informatyki PB
10 Kontroler I/O APIC w x86 Advanced Programmed Interrupt Contoler Specyfikacja Intel MPS (Multi-Processor specification) określa, że w miejsce kontrolera 8259, w systemie musi być obecny specjalny kontroler przerwań APIC (kompatybilny z 8259). Umożliwia on: Dystrybucję przerwań w do różnych procesorów (tryb SMP obsługi przerwań) - ten tryb nie jest wykorzystywany w Linuksie 2.0 i przerwania odbiera procesor z którego uruchomiono system. Zgłaszanie przez jeden procesor przerwań pozostałym procesorom; są to przerwania międzyprocesorowe (IPI - inter-processor interrupt) Odczyt przez procesor swojego numeru (procesor może się zidentyfikować) Ponadto zwiększono liczbę przerwań sprzętowych, dodano timer, etc... Linuks 2.0 wykorzystuje przerwania IPI przy starcie jądra (początkowo BIOS uruchamia jeden procesor, a pozostałe zatrzymuje). szeregowaniu procesów. unieważnianiu bufora TLB. zatrzymywaniu systemu w wyniku paniki. Wojciech Kwedlo, Systemy Operacyjne II -10- Wydział Informatyki PB
11 Synchronizacja jądra typu SMP Sytuacja w której kilka procesów wykonuje się w trybie użytkownika na różnych procesorach nie stwarza (dla jądra) problemów z synchronizacją. Problemy te pojawiają się gdy kilka procesów zechce naraz wejść do jądra. W klasycznym Unixie ochrona spójności danych jądra jest zapewniona przez (a) zagwarantowanie że proces wykonujący się w trybie jądra nie zostanie wywłaszczony o ile sam nie zażąda wywłaszczenia i (b) możliwość zablokowania przerwań (cli()/sti()) w Linuksie w celu ochrony danych jądra które są zmieniane podczas przerwań. W systemie wieloprocesorowym kilka procesów wykonywujących się na różnych procesorach w trybie użytkownika może wywołać funkcje systemowe i jednocześnie próbować modyfikować/odczytywać krytyczne dane jądra. W systemie wieloprocesorowym przerwanie może być obsłużone przez inny procesor. W związku z tym para cli/sti nie stanowi wystarczającego zabezpieczenia. cli wyłącza przerwania tylko na ****lokalnym**** procesorze. Co się stanie, gdy przerwanie zostanie obsłużone przez inny procesor? Wojciech Kwedlo, Systemy Operacyjne II -11- Wydział Informatyki PB
12 Rozwiązanie przyjęte w Linuxie 2.0.x Jest to pierwsza wersja Linuxa, w której wprowadzono możliwość obsługi maszyn SMP. Starano się to zrobić kosztem jak najmniejszych zmian w jądrze. Tzn. pozostawić stary model, w którym do zapewnienia synchronizacji potrzeba co najwyżej lokalnego wyłączenia przerwań. Aby zachować stary model niezbędne było zapewnienie, aby w danej chwili co najwyżej jeden procesor (z pewnym wyjątkiem - przerwanie IPI IRQ 13) mógł wykonywać kod jądra. Każdy procesor, który chce wejść do jądra w wyniku (a) wywołania funkcji systemowej lub (b) odbioru przerwania musi wejść w posiadanie tzw. blokady jądra (ang. BKL - Big Kernel Lock) Blokada jądra jest to semafor binarny, zrealizowany poprzez aktywne czekanie - procesor czekający na zwolnienie blokady (przez inny procesor) sprawdza w pętli wartość znacznika. Blokada jądra jest realizowana przez makra ENTER_KERNEL, LEAVE_KERNEL oraz funkcje lock_kernel(), unlock_kernel(). Blokada jądra ma charakter rekurencyjny - tzn. procesor który wszedł w jej posiadanie może założyć ją ponownie (bez żadnych konsekwencji) w przypadku normalnego semafora binarnego prowadziłoby to do zakleszczenia trzeba pamiętać, aby liczba wywołań operacji lock była taka sama co unlock. z taką sytuacją mamy do czynienia gdy np. ten sam procesor, który wykonuje kod jądra odbierze przerwanie. Wojciech Kwedlo, Systemy Operacyjne II -12- Wydział Informatyki PB
13 Blokada jądra - algorytm Wykorzystywane są funkcje, dla których sprzętowo gwarantowane jest wykonanie atomowe (w x86 instrukcje btsl i btrl oraz przedrostek lock powodujący blokadę szyny systemowej na czas wykonania instrukcji - na czas trwania takiej instrukcji żaden procesor nie uzyska dostępu do pamięci) int set_bit(int nr, void *addr) - ustawia bit o numerze nr (0<=nr<=32) pod adresem addr i zwraca poprzednią wartość bitu. int clear_bit(int nr, void *addr) - kasuje bit i zwraca poprzednią wartość, analogicznie do set_bit int test_bit(int nr, void *addr) - zwraca wartość bitu. Zmienna kernel_flag równa oznacza jeden oznacza założoną blokadę, równa zero brak blokady Jeżeli wywołamy set_bit na tej zmiennej, a wynik będzie równy zero - mamy blokadę (udało się ustawić bit, a poprzednio był równy zero). Jeżeli wynik będzie równy jeden - nie udało się założyć blokady - ma ją inny procesor. Naiwna implementacja wywoływałaby set_bit do skutku. Jednakże byłaby ona wyjątkowo nieoptymalna na dowolnej architekturze z indywidualnymi pamięciami podręcznymi procesorów. kernel_flag jest prawie na pewno obecna w pamięciach cache kilku procesorów - i jej zmiana przez dowolny procesor powodowałaby konieczność wysyłania komunikatów przez szynę systemową do innych procesorów. Co gorsza set_bit byłoby wywołane w pętli!!! Wojciech Kwedlo, Systemy Operacyjne II -13- Wydział Informatyki PB
14 Założenie blokady jądra void lock_kernel(void) { unsigned long flags; int proc = smp_processor_id(); // numer procesora save_flags(flags); cli(); while(set_bit(0, (void *)&kernel_flag)) // próbujemy założyć blokadę { // Nie udało się, blokada była przez kogoś założona // Ale jeżeli jest to próba rekurencyjnego założenia blokady przez procesor // który ją już posiada, to nie mamy na co czekać if (proc == active_kernel_processor) break; do { if (test_bit(proc, (void *)&smp_invalidate_needed)) if (clear_bit(proc, (void *)&smp_invalidate_needed)) local_flush_tlb(); // To jest ta optymalizacja: jeżeli nie uda się założyć blokady czekamy w pętli // czytając zmienną aż się zwolni. Odczyt zmiennej współdzielonej nie powoduje // generowania cykli szyny w celu utrzymywania spójności pamięci podręcznej } while(test_bit(0, (void *)&kernel_flag)); } } active_kernel_processor = proc; kernel_counter++; // Zwiększ licznik blokad (blokada jest rekurencyjna) restore_flags(flags); Wojciech Kwedlo, Systemy Operacyjne II -14- Wydział Informatyki PB
15 Założenie blokady - problemy Konieczność zmodyfikowania kodu przełączającego kontekst. Procesor wykonujący się w trybie jądra i posiadający blokadę może zostać przełączony do procesu wykonującego się w trybie użytkownika. Problemy z unieważnieniem bufora TLB. Bufor TLB jest unieważniony po zmianie w tablicy stron. W systemie SMP trzeba jednak unieważnić bufory wszystkich procesorów. Wiąże się to z koniecznością wykonania następującego algorytmu. Procesor zmieniający tablicę stron (i posiadający blokadę) opróżnia swój TLP, po czym ustawia maski bitowe w zmiennej smp_invalidate_needed. Jeden bit odpowiada jednemu procesorowi. Następnie zgłasza przerwanie między-procesorowe (IPI - inter processor interrupt; IRQ 13) i w pętli czeka na wyzerowanie bitów. Pozostałe procesory odbierają przerwania IPI (IPI związane z opróżnieniem TLB jest jedynym przerwaniem którego obsługa nie wymaga założenia blokady jądra), unieważniają swoje bufory TLB po czym kasują swoje bity w smp_invalidate_needed. Gdyby jednak któryś z pozostałych procesorów był w stanie oczekiwania na wejście w posiadanie blokady jądra (odbywa się to z wyłączonymi przerwaniami), to mielibyśmy klasyczny przykład zakleszczenia (ang. deadlock) dwóch procesorów: zmieniającego stronę i chcącego wejść do jądra. Z tej przyczyny procesor próbujący uzyskać blokadę jądra sprawdza i realizuje żądania unieważnienia bufora TLB. Wojciech Kwedlo, Systemy Operacyjne II -15- Wydział Informatyki PB
16 Zdjęcie blokady void unlock_kernel(void) { unsigned long flags; save_flags(flags); cli(); if (kernel_counter == 0) panic("kernel counter wrong.\n"); // Jeżeli licznik blokad rekurencyjnych po dekrementacji jest równy 0 // zwolnij blokadę jądra } if(! --kernel_counter) { active_kernel_processor = NO_PROC_ID; clear_bit(0, (void *)&kernel_flag); } restore_flags(flags); Wojciech Kwedlo, Systemy Operacyjne II -16- Wydział Informatyki PB
17 Planista SMP w Linuksie 2.0 W systemie SMP może wykonywać się jednocześnie wiele procesów, a każdy procesor wywołuje funkcję schedule() aby przydzielić sobie proces. Pojedyncza zmienna struct task_struct *current stała się makrodefinicją: #define current current_set[smp_processor_id()] (element tablicy identyfikowany numerem bieżącego procesora) W systemie SMP pożądane jest zachowanie tzw. afiniczności procesora (ang. processor affinity. Polega ona na tym, że planista stara się przydzielać jednemu procesowi ten sam procesor. Jest to optymalne, ponieważ jeżeli proces wykonywał się poprzednio na tym procesorze, to jest możliwe że w pamięciach podręcznych (L1, L2) pozostały kod i dane tego procesu Linuks stara się osiągać afiniczność zwiększając wartość goodnes procesu o ile numer bieżącego procesora jest równy numerowi procesora na którym proces się ostatnio wykonywał. Rozważmy sytuację w której procesor X wykonuje proces P0. Ten proces usypia a kolejka procesów gotowych jest pusta. Zatem procesor X staje się bezczynny. Po jakimś czasie procesor Y otrzymuje przerwanie i budzi uśpiony proces P0, a po obsłudze przerwania kontynuuje swój proces P1. Zatem w tym momencie pojawił się proces gotowy, ale X o tym nie wie!!!. Linuks rozwiązuje ten problem poprzez wykorzystanie przerwania IPI (które wymaga globalnej blokady jądra). Jeżeli w momencie dodawania procesu do kolejki gotowych jądro stwierdzi, że jeden z procesorów jest bezczynny, wysyła mu przerwanie IPI, powodujące ustawienie zmiennej need_reched. Po powrocie z przerwania IPI (ret_from_sys_call) wywołany zostanie planista. Wojciech Kwedlo, Systemy Operacyjne II -17- Wydział Informatyki PB
18 Podsumowanie Rozwiązanie zastosowane w Linuxie 2.0.x ma dwie zalety: Wymagało minimalnych zmian w kodzie jądra i zasadach synchronizacji. Działa. Niestety jest też mało wydajne. W sytuacji wielu procesów zorientowanych na wejście-wyjście i przebywających długo w trybie jądra, Linux 2.0.x SMP degeneruje się do systemu jednoprocesorowego W kolejnych wersjach jądra wprowadzono możliwość wykonywania kodu jądra przez kilka procesorów jednocześnie. Zamiast chronić całe jądro jedną wielką wirującą blokadą (ang. spin lock) chronione są najpierw poszczególne podsystemy - każdy z nich ma odzielną blokadę. Następnie nastąpiło przejście do bardziej drobnoziarnistego blokowania - chronione są poszczególne struktury danych. W wyniku tej ewolucji 2.0=>2.2=>2.4=>2.6 obecnie (2.6) globalna blokada jądra nie jest wykorzystywana. Oczywiście przejście do drobnoziarnistego blokowania sprawiło wiele problemów programistom (zakleszczenia). W wersji 2.6 każdy procesor ma swoją własną kolejkę procesów; w ten sposób uzyskiwana jest afiniczność procesora Wojciech Kwedlo, Systemy Operacyjne II -18- Wydział Informatyki PB
Wykład 13. Systemy wieloprocesorowe. Wojciech Kwedlo Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 13 Systemy wieloprocesorowe Wojciech Kwedlo Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Ograniczenia w zwiększaniu szybkości procesorów Ograniczenie związane z prędkością światła:
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
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
Wykład 2 Proces, stany procesu i przejścia pomiędzy nimi. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 2 Proces, stany procesu i przejścia pomiędzy nimi. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Przypomnienie z poprzedniego semestru W systemach jednoprogramowych (MS-DOS)
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
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
Wykład 7 Podręczna pamięć buforowa (ang. buffer cache) w systemie Linuks. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 7 Podręczna pamięć buforowa (ang. buffer cache) w systemie Linuks Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Wstęp Przyczyną wprowadzenia pamięci buforowej są ogromne różnice
Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
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
Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
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
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
Wykład 7. Zarządzanie pamięcią
Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona
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ęć
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
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
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 8 Pamięć wirtualna Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wprowadzenie Podstawowa idea: System operacyjny pozwala na wykorzystanie pamięci o pojemności większej,
Mechanizmy z grupy IPC
Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład
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 III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
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.
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Intel Nehalem 4 5 NVIDIA Tesla 6 ATI FireStream 7 NVIDIA Fermi 8 Sprzętowa wielowątkowość 9 Architektury
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
Dr inż. hab. Siergiej Fialko, IF-PK,
Dr inż. hab. Siergiej Fialko, IF-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl 1 Osobliwości przedmiotu W podanym kursie główna uwaga będzie przydzielona osobliwościom symulacji komputerowych
SYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
16. Taksonomia Flynn'a.
16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się
Architektura komputerów
Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD
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 OPERACYJNE WYKLAD 6 - procesy
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu
Pomoc dla użytkowników systemu asix 6. www.asix.com.pl. Strategia buforowa
Pomoc dla użytkowników systemu asix 6 www.asix.com.pl Strategia buforowa Dok. Nr PLP6024 Wersja: 29-01-2010 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście
Architektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
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
Wykład 5 Przerwania i wywołania systemowe. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 5 Przerwania i wywołania systemowe Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Porty wejścia-wyjścia Intel x86 posiada 65536 portów wejścia-wyjścia, do których dostęp możliwy
Podstawy programowania komputerów
Podstawy programowania komputerów Wykład 14: Programowanie współbieżne w C Definicja programowania współbieżnego Programowanie współbieżne jest tworzeniem programów, których wykonanie powoduje uruchomienie
asix5 Podręcznik użytkownika Strategia buforowa
asix5 Podręcznik użytkownika Podręcznik użytkownika Dok. Nr PLP5024 Wersja: 29-07-2007 Podręcznik użytkownika asix5 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące
Wykład 10 Zarządzanie pamięcią
Wykład 10 Zarządzanie pamięcią część pierwsza: pamięć jądra Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Sprzeczności przy projektowaniu systemu zarządzania pamięcią Implementuj możliwie
PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
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
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
Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
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
Architektura komputerów
Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Algorytmy dla maszyny PRAM
Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań
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
Architektura systemu komputerowego
Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie
Działanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Wykład 14. Rozwój systemu w kolenych wersjach jądra. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 14 Rozwój systemu w kolenych wersjach jądra Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Plan wykładu Wstęp Zmiany związane z urządzeniami wejścia wyjścia. Pamięć podręczna
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco
1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu
Wprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Synchronizacja procesów i wątków
SOE Systemy Operacyjne Wykład 12 Synchronizacja procesów i wątków dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Problem sekcji krytycznej Podstawowy problem synchronizacji
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
Futex (Fast Userspace Mutex) Łukasz Białek
Futex (Fast Userspace Mutex) Łukasz Białek Futex informacje podstawowe Stworzony w 2002 roku przez Hubertusa Franke, Matthew Kirkwooda, Ingo Molnára i Rustiego Russella. Jest mechanizmem w Linuxie, który
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
Rys. 1. Podłączenie cache do procesora.
Cel stosowania pamięci cache w procesorach Aby określić cel stosowania pamięci podręcznej cache, należy w skrócie omówić zasadę działania mikroprocesora. Jest on układem cyfrowym taktowanym przez sygnał
SSE (Streaming SIMD Extensions)
SSE (Streaming SIMD Extensions) Zestaw instrukcji wprowadzony w 1999 roku po raz pierwszy w procesorach Pentium III. SSE daje przede wszystkim możliwość wykonywania działań zmiennoprzecinkowych na 4-elementowych
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
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
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
Wykład 12. Zarządzanie pamięcią (część III) oraz urządzenia sieciowe. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB
Wykład 12 Zarządzanie pamięcią (część III) oraz urządzenia sieciowe Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Funkcja mmap na pliku specjalnym Funkcje systemową mmap możemy również
Programowanie współbieżne Wykład 7. Iwona Kochaoska
Programowanie współbieżne Wykład 7 Iwona Kochaoska Poprawnośd programów współbieżnych Właściwości związane z poprawnością programu współbieżnego: Właściwośd żywotności - program współbieżny jest żywotny,
Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
9. Problem wzajemnego wykluczania i sekcji krytycznej
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 9. Problem wzajemnego wykluczania i sekcji krytycznej 9.1 Przeplot i współużywalność zasobów Wyróżniamy dwa rodzaje zasobów: 1. Zasoby współużywalne
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci
Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura
Systemy Operacyjne sprzęt
Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 6 października 2015 Plan wykładu 1 Scenariusze obsługi wejścia-wyjścia 2 Sposób działania 3 Dualny tryb pracy procesora Ochrona pamięci
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ń
Zarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Architektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Procesy wykonują się współbieżnie Potrzeba synchronizacji Jeżeli w 100% są
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ą
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).
Architektura komputera
Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób
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
Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program
Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2
Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2 Architektura - Procesy Proces program załadowany do pamięci; identyfikowany przez id procesu, zwykle nazywany
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 operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo
Systemy operacyjne Wojciech Kwedlo Wydział Informatyki PB, p. 127 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Ten wykład prowadzę pierwszy raz!!! Wojciech Kwedlo, Wykład z Systemów Operacyjnych
PMiK Programowanie Mikrokontrolera 8051
PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0
Jedrzej Ułasiewicz Komputerowe systemy sterowania 1
Jedrzej Ułasiewicz Komputerowe systemy sterowania 1 1 Przerwania 1.1 Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Działanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
2 Implementacja w systemie Linux 2.4
1 IPC IPC (InterProcess Communication) to udostępniane przez jądro systemu operacyjnego mechanizmy służące komunikacji oraz współdzieleniu zasobów i informacji pomiędzy procesami. IPC Systemu V udostępnia
Kompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Komunikacja za pomocą potoków. Tomasz Borzyszkowski
Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania
Operacje grupowego przesyłania komunikatów
Operacje grupowego przesyłania komunikatów 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany jest pomiędzy więcej niż dwoma procesami
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
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ń