Programowanie Systemów Wbudowanych
|
|
- Bogumił Czajkowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie Systemów Wbudowanych Zarzadzanie pamięcia Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 19, 2017
2 Pamięć fizyczna - liniowa ( flat ) wszystkie procesy współdziela ten sam obszar pamięci przykładowe CPU: , ARM Cortex-M, 8- i 16-bit PIC, AVR, większość systemow 8- i 16-bitowych GUT Intel 2015/16 2/50
3 Pamięć fizyczna - model x86 GUT Intel 2015/16 3/50
4 Pamięć fizyczna - model x86 Pamięć fizyczna podzielona jest na strony Rozmiar strony jest różny dla różnych architektur. W większości przypadków to 4096 B Ograniczona przenośność programów C Trzeba znać (lub sprawdzać) całkowita ilość pamięci RAM Trzeba pilnować, by procesy miały osobne obszary pamięci Źle napisane programy moga powodować awarię całego systemu GUT Intel 2015/16 4/50
5 Linux to system obsługujacy pamięć wirtualna Mapowanie wirtualnej przestrzeni adreswej na: Zalety: przestrzeń pamięci fizycznej RAM urzadzenia, np. PCI, GPU RAM każdy proces może mieć własna przestrzeń adresowa; przestrzenie adresowe sa od siebie odseparowane, przestrzeń adresowa jadra jest niewidoczna dla przestrzeni adresowej użytkownika pamięć fizyczna RAM może być mapowana przez wiele procesów - pamięć współdzielona (shared memory) obszary pamięci moga mieć różne ustawienia dostępu (read, write, execute) GUT Intel 2015/16 5/50
6 Linux to system obsługujacy pamięć wirtualna Dwie przestrzenie adresowe: adresy fizyczne - używane przez urzadzenia (DMA, peryferia) adresy wirtualne - używane przez programy (instrukcje load/store dla procesorów RISC, wszelkie instrukcje dostępu do pamięci RAM dla procesorów CISC) Każdy adres w pamięci (fizycznej lub wirtualnej) można przedstawić jako wielokrotność rozmiaru strony oraz przesunięcia Przestrzeń adresowa pamięci wirtualnej dla procesorów 32-bitowych: od 0 do 0xffffffff, podzielona na strony o rozmiarze 4 kb dla procesorów 64-bitowych: 48 bitów adresu (maks. 256 TB), po połowie dla jadra i przestrzeni użytkownika GUT Intel 2015/16 6/50
7 Linux to system obsługujacy pamięć wirtualna Przestrzeń adresowa podzielona na: przestrzeń użytkownika (user space) - high memory i przestrzeń jadra (kernel space) - low memory GUT Intel 2015/16 7/50
8 Linux to system obsługujacy pamięć wirtualna Segment danych (Data) - globalne i statyczne zmienne o zdefiniowanych, niezmiennych wartościach; wszelkie zmienne nie zdefiniowane wewnatrz funkcji Segment BSS - globalne i statyczne zmienne o wartości 0 lub bez wartości Sterta (Heap) - zmienne dynamiczne - przestrzeń zarzadzana poleceniami malloc, calloc, realloc, free; obszar współdzielony przez wszystkie watki, biblioteki współdzielone, moduły Stos (Stack) - zmienne lokalne; jeśli wskaźnik stosu zrówna się ze wskaźnikiem sterty, to oznacza koniec wolnej pamięci. GUT Intel 2015/16 8/50
9 Linux to system obsługujacy pamięć wirtualna Podział między przestrzeń użytkownika a przestrzeń jadra: parametr PAGE_OFFSET konfiguracji jadra typowy system 32-bitowy: PAGE_OFFSET = 0xc , niższe 3GB - przestrzeń użytkownika przestrzeń użytkownika alokowana dla procesu przestrzeń jadra - wspólna dla wszystkich procesów. GUT Intel 2015/16 9/50
10 Jednostka zarzadzania pamięcia Memory Management Unit (MMU) - zestaw układów realizujacych dostęp do pamięci fizycznej żadanej przez CPU. Do ich zadań należy: translacja pamięci wirtualnej do pamięci fizycznej, ochrona pamięci, obsługa pamięci podręcznej, zarzadzanie szynami danych przełaczanie banków pamięci (w systemach 8-bitowych) Układy MMU dziela przestrzeń logiczna (wirtualna) pamięci na strony, których rozmiar wynosi 2N (kilka kilobajtów). Page frame number (PFN) - indeks strony pamięci (N starszych bitów adresu pamięci). Młodsze M bitów adresu (przesunięcie) pozostaje niezmienione GUT Intel 2015/16 10/50
11 MMU - Translation lookaside buffer Translation lookaside buffer (TLB) - asocjacyjna pamięć podręczna służaca do mapowania adresów wirtualnych/fizycznych Jeżeli TLB nie posiada odpowiedniego przypisania (rozmiar pamięci TLB jest ograniczony) uruchamiane sa wolniejsze, sprzętowe mechanizmy procesora przeszukujace struktury danych znajdujace się w pamięci, co wymaga niekiedy pomocy ze strony oprogramowania (systemu operacyjnego). Pozycje w tych strukturach nazywaja się wpisami (elementami) tablicy stron pamięci (PTEs - ang. page table entries), a cała struktura nazywana jest tablica stron pamięci (ang. page table). Kompletny adres w pamięci fizycznej jest ustalany poprzez dodanie bitów przesunięcia do przetłumaczonego numeru strony. GUT Intel 2015/16 11/50
12 MMU - Translation lookaside buffer Jeżeli w strukturach TLB lub PTE nie znajduje się odpowiedni opis aktualnie wykorzystywanej logicznej strony pamięci lub znajdujacy się wpis zabrania dostępu w danym trybie, MMU sygnalizuje CPU wyjatek zwiazany z błędnym dostępem do strony pamięci, tzw. page fault. GUT Intel 2015/16 12/50
13 Mapowanie pamięci wirtualnej Każda strona pamięci wirtualnej może być: niemapowana (próba dostępu -> SIGSEGV -> komunikat segmentation fault) mapowana na stronę fizyczna pamięci prywatna dla procesu mapowana na stronę fizyczna pamięci współdzielona z innym procesem mapowana na stronę fizyczna pamięci używana przez jadro j adro może dodatkowo mapować strony p. wirtualnej na obszary pamięci zarezerwowane dla np. buforów pamięci sterowników GUT Intel 2015/16 13/50
14 Mapowanie pamięci wirtualnej - COW mapowanie i współdzielenie z flaga copy on write gdy istnieje potrzeba współdzielenia dużej ilości danych zamiast rzeczywistego, kosztownego kopiowania pamięci zwracany jest wskaźnik do oryginalnych danych; kopiowanie jest wykonywane dopiero, gdy zachodzi potrzeba ich modyfikacji. Przykład: funkcja fork() tworzy proces potomny, który posiada dokładna kopię kontekstu procesu nadrzędnego, jak również kopię jego pamięci (mapowana na ta sama przestrzeń fizyczna). strony pamięci, które moga być zmodyfikowane zarówno przez proces jak i jego potomka, otrzymuja znacznik "kopiowane przy zapisie". gdy jeden z procesów modyfikuje pamięć, kernel przechwytuje to wywołanie i kopiuje modyfikowane strony tak, aby zmiany dokonane przez jeden proces były niewidoczne dla drugiego. Od tej chwili proces nadrzędny i potomny zaczynaja odwoływać się do fizycznie różnych stron. GUT Intel 2015/16 14/50
15 Mapowanie pamięci wirtualnej - COW GUT Intel 2015/16 15/50
16 Zalety pamięci wirtualnej niepoprawne odwołania do pamięci przechwytywane i sygnalizowane przez SIGSEGV proces działa we własnej przestrzeni pamieci, odizolowany od innych procesów efektywne wykorzystanie pamięci - współdzielenie części kodu i danych ( np. bibliotek) możliwość zwiększenia ilości pamięci poprzez pliki wymiany (swap files) GUT Intel 2015/16 16/50
17 Wady pamięci wirtualnej trudno ustalić, jakie jest aktualne zużycie pamięci (przez aplikację) overcommit - praktyka przedzielania pamięci wirtualnej bez gwarancji, że dostępna jest odpowiednia ilość pamięci fizycznej opóźnienia wprowadzane przez zarzadzanie pamięcia i obsługę wyjatków (page faults) GUT Intel 2015/16 17/50
18 Przestrzeń pamięci jadra Przestrzeń pamieci jadra - każdej alokacji w przestrzeni wirtualnej odpowiada przestrzeń fizyczna! Obszary: jadro (kod i dane załadowane z obrazu jadra podczas rozruchu systemu) segmenty:.text,.init,.data,.bss pamięć dla sterowników urzadzeń moduły jadra GUT Intel 2015/16 18/50
19 Przestrzeń pamięci jadra pamięć alokowana przez void * kmalloc(size_t size, int flags) slab allocator - efektywny mechanizm ciagłej alokacji pamięci; zachowanie kmalloc zależy od parametru flags: GFP_KERNEL: zwykła alokacja, może zostać chwilowo wstrzymana (zwolniona) i ponownie zaalokowana. GFP_ATOMIC: alokacja dokonana w całości lub wcale. zwolnienie pamięci: void kfree(const void *objp); pamięć alokowana przez void *vmalloc(unsigned long size); większe obszary pamięci niż kmalloc() (przestrzeń adresowa wirtualna jest ciagła, ale fizyczna - niekoniecznie) odpowiednik malloc() w przestrzeni użytkownika, zwolnienie pamięci: void vfree(const void *addr); Przykład programu: GUT Intel 2015/16 19/50
20 Ile pamięci używa jadro? rozmiar obrazu jadra zwykle jadro jest małe w porównaniu z całkowita ilościa pamięci budowa małego jadra ( Linux-tiny, Linux Kernel Tinification), projekt GUT Intel 2015/16 20/50
21 Ile pamięci używa jadro? Odczyt /proc/meminfo. Kernel memory usage to suma: Slab: pamięć alokowana przez slab allocator więcej informacji - odczyt /proc/slabinfo KernelStack: przestrzeń adresowa stosu PageTables: pamięć do przechowywania tablic stronicowania VmallocUsed: pamięć alokowana przez vmalloc() więcej informacji - odczyt /proc/vmallocinfo GUT Intel 2015/16 21/50
22 Ile pamięci używa jadro? GUT Intel 2015/16 22/50
23 Ile pamięci używa jadro? lsmod - ile pamięci zużywa kod i dane modułów jadra? GUT Intel 2015/16 23/50
24 Obszar pamięci użytkownika Stronicowanie na żadanie (Demand-paging) - Linux mapuje strony pamięci fizycznej tylko wtedy, gdy program odwołuje się do odpowiedniego miejsca w pamięci wirtualnej malloc(3) zwraca wskaźnik do pamięci wirtualnej operacja odczytu/zapisu przechwytywana przez jadro page fault jadro znajduje obszar pamięci fizycznej i dodaje go do tablicy stronicowania GUT Intel 2015/16 24/50
25 Obszar pamięci użytkownika Bład stronicowania (page fault) - gdy jadro przechwytuje dostęp do strony pamięci nie mapowanej na pamięć fizyczna Dwa rodzaje błędów stronicowania: minor - rozwiazaniem jest znalezienie przez jadro wolnego obszaru pamięci fizycznej i powiazanie go z przestrzenia adresowa procesu w pamięci wirtualnej major - pamięć wirtualna jest mapowana na plik (np. za pomoca mmap(2)). Próba odczytu z takiej pamięci: jadro musi znaleźć obszar pamięci fizycznej jadro musi wypełnić pamięć fizyczna danymi z pliku GUT Intel 2015/16 25/50
26 Mapa pamięci procesu Dostęp do mapy pamięci procesu - przez system plików proc Przykład: mapa pamięci procesu init (PID 1)... Pierwsze trzy kolumny: adres poczatku i końca pamięci wirtualnej, flagi uprawnień: r = read w = write x = execute s = shared p = private (copy on write) Mapowanie pamięci zwiazanej z plikiem: kolumna 4: przesunięcie względem poczatku pliku, kolumna 5: numer urzadzenia blokowego, kolumna 6: inod pliku, kolumna 7: nazwa pliku GUT Intel 2015/16 26/50
27 Partycja wymiany (Swap) Partycja wymiany służy do tymczasowego przechowywania danych w sytuacji, gdy ich ilość przekracza zasoby wolnej pamięci RAM lub gdy z różnych powodów korzystniej jest przechowywać je na dysku twardym zwiększenie efektywnego rozmiaru pamięci fizycznej koszt obsługi partycji wymiany jest duży w systemie o małej ilości pamięci fizycznej mechanizm rzadko używany w systemach wbudowanych GUT Intel 2015/16 27/50
28 Wykorzystanie partycji wymiany do kompresji pamięci (zram) sterownik zram tworzy urzadzenia blokowe: /dev/zram0, /dev/zram1, itd. zawartość pamięci jest kompresowana przed zapisem do zram współczynnik kompresji: 30% - 50% całkowity zysk wolnej pamięci: 10% koszt: kompresja (przetwarzanie), zwiększone zużycie mocy stosowane w niektórych urzadzeniach Android GUT Intel 2015/16 28/50
29 Mapowanie pamięci Proces rozpoczyna swoje życie z pewna ilościa pamięci segment kodu programu (text) segment danych (data) biblioteki wspóldzielone Proces może alokować dodatkowa pamięć na stercie (heap), podczas działania, za pomoca malloc(3); domyślnie bez ograniczeń na stosie (stack), za pomoca alloca(3); domyślnie - max. 8 MB; nie zalecane. Alokacja przekraczajaca limit -> sygnał SIGSEGV Ładowanie bibliotek współdzielonych - dlopen(3). GUT Intel 2015/16 29/50
30 Mapowanie pamięci (mmap) Proces może też alokować pamięć za pomoca mmap(2) mapuje length bajtów pamięci z pliku o deskryptorze fd, poczawszy od offset w pliku i zwraca wskaźnik do obszaru pamięci; prot - parametr ochrony (kombinacja read, write, execute i flagi MAP_SHARED lub MAP_PRIVATE) GUT Intel 2015/16 30/50
31 Mapowanie pamięci (mmap) Alokacja pamięci prywatnej flaga MAP_ANONYMOUS i fd = -1. malloc(3) w glibc alokuje pamięć do 128kB, potem woła mmap Alokacja pamięci współdzielonej flaga MAP_SHARED i fd = shm_open() shm_open(3) - create POSIX shared memory objects GUT Intel 2015/16 31/50
32 Mapowanie pamięci (mmap) Alokacja pamięci urzadzenia dokładna implementacja - zależna od sterownika Przykład: Linux frame buffer, /dev/fb0. Interfejs zdefiniowany w /usr/include/linux/fb.h, funkcja ioctl zwraca rozmiar ekranu i liczbę bitów na pixel mmap - prośba do sterownika wideo o udostępnienie bufora ramek dla aplikacji do odczytu/zapisu Przykład: interfejs strumieniowy wideo, V4L2 (/usr/include/linux/videodev2.h) GUT Intel 2015/16 32/50
33 Ile pamięci używa aplikacja? polecenie free - ile wolnej pamięci widzi jadro jadro wykorzystuje wolna pamięć na bufory i cache-e, które moga być zwolnione/skompresowane w każdej chwili GUT Intel 2015/16 33/50
34 Ile pamięci używa aplikacja? Wymuszenie zwolnienia cache-ów: echo 3 > /proc/sys/vm/drop_caches Numer 3 (lub 1 lub 2) - maska bitowa: GUT Intel 2015/16 34/50
35 Ile pamięci używa aplikacja? Dwie metryki ilości pamięci używanej przez proces Vss (virtual set size) - nazywana VSZ w komendzie ps i VIRT w top całkowita ilość pamięci mapowanej przez proces (suma obszarów pokazanych w /proc/<pid>/maps) Rss (resident memory size) - nazywana RSS w ps i RES w top całkowita ilość pamięci mapowanej na pamięć fizyczna wartość większa od rzeczywistej pamięci fizycznej zużywanej przez proces - obszary współdzielone policzone wielokrotnie! GUT Intel 2015/16 35/50
36 Komenda ps Komendy top i ps z BusyBox - ograniczona ilość informacji Pakiet procps - pełne wersje top i ps Komenda ps - pokazuje VSZ i RSS GUT Intel 2015/16 36/50
37 Komenda top top - podsumowanie pamięci wolnej i zużywanej przez procesy Jesli Rss procesu ciagle rośnie -> przeciek pamięci (memory leak)! GUT Intel 2015/16 37/50
38 Narzędzie smem Rok dwie nowe metryki Uss (unique set size) - ilość pamięci zwiazanej z pamięcia fizyczna, unikalna dla procesu; ilość pamięci, ktora się zwolni po zakończeniu działania procesu Pss (propotional set size) - dzieli sumę obszarów pamięci współdzielonej, zwiazanych z pamięcia fizyczna, na liczbę procesów mapujacych te obszary; GUT Intel 2015/16 38/50
39 Narzędzie smem Informacja dostępna w /proc/<pid>/smaps GUT Intel 2015/16 39/50
40 Narzędzie smem smem - narzędzie zbierajace dane z plików smaps Strona projektu: Napisane w Python-ie, instalacja w systemie wbudowanym wymaga obecności środowiska Python, co może być problemem smemcap - program zbierajacy informacje z plików smaps i zapisujacy je w formie archiwum TAR, które moga być następnie analizowane na komputerze hosta GUT Intel 2015/16 40/50
41 Narzędzie smem GUT Intel 2015/16 41/50
42 Narzędzie smem GUT Intel 2015/16 42/50
43 Narzędzie smem GUT Intel 2015/16 43/50
44 Wykrywanie przecieków pamięci Przeciek pamięci (memory leak) - pamięć jest alokowana, ale nie jest zwalniana, kiedy przestaje być używana W systemach wbudowanych: urzadzenia maja mało pamięci urzadzenia działaja długo bez ponownego uruchomienia Narzędzia do wykrywania przecieków: mtrace i Valgrind. GUT Intel 2015/16 44/50
45 Wykrywanie przecieków pamięci - mtrace mtrace - komponent glibc śledzacy wywołania malloc(3), free(3) i pokrewnych funkcji Wywołanie mtrace() w programie - rozpoczęcie śledzenia (mtrace-example.c) Runtime: przypisanie log-a do zmiennej środowiskowej MALLOC_TRACE komenda mtrace do odczytu log-a informacja o przecieku - po zakończeniu programu GUT Intel 2015/16 45/50
46 Wykrywanie przecieków pamięci - Valgrind Valgrind - narzędzie do identyfikacji problemów z pamięcia nie trzeba re-kompilować sprawdzanych programu i bibliotek, ale warto kompilować z opcja -g (symbole debuggera) uruchamia program w środowisku emulowanym wada: program działa z obniżona wydajnościa (słaba możliwość testowania programów działajacych w czasie rzeczywistym) GUT Intel 2015/16 46/50
47 Wykrywanie przecieków pamięci - Valgrind Narzędzia diagnostyczne Valgrind: memcheck: domyślne narzędzie, wykrywa przecieki pamięci cachegrind: zwraca liczbę odwołań do pamięci cache procesora (cache hit rate) callgrind: zwraca koszt wywołań funkcji helgrind: wskazuje na niepoprawne użycie Pthread API, potencjalne zakleszczenia, wystapienia wyścigu DRD: inne narzędzie analizy użycia Pthread API massif: użycie stosu i sterty Wybór narzędzia: opcja -tool Dostępne jako pakiet zarówno dla Yocto Project jak i Buildroot GUT Intel 2015/16 47/50
48 Wykrywanie przecieków pamięci - Valgrind Wykrywanie przecieków - narzędzie memcheck z opcj a leakcheck=full (drukuje linie gdzie wykryto przeciek) GUT Intel 2015/16 48/50
49 Brak pamięci Standardowy mechanizm alokacji pamięci to over-commit - jadro pozwala na alokację pamięci dla aplikacji bez sprawdzania, czy dostępna jest pamięć fizyczna Out of Memory (OOM): gdy cała pamięć wirtualna została przydzielona. System operacyjny próbuje odzyskać pamięć i wyjść ze stanu OOM wywołujac nisokopriorytetowy proces OOM Killer (zabija procesy, aż problem zniknie). Działajace procesy, które napotykaja na stan OOM próbujac zarezerwować pamięć za pomoca malloc(), napotykaja bład. Dobrze napisane programy powinny być przygotowane na taka sytuację. Oblicza badness score pomiędzy 0 i 1,000 dla każdego procesu i zamyka ten z najwyższym wynikiem GUT Intel 2015/16 49/50
50 Brak pamięci Zmiana parametru sposobu alokacji pamięci przez jadro: /proc/sys/vm/overcommit_memory: Option 0: heuristic over-commit (default) Option 1 (always over-commit, never check) przydatne tylko gdy program pracuje z dużymi, rzadkimi tablicami i alokuje duże obszary pamięci, ale zapisuje tylko mała część tego obszaru rzadko spotykane w systemach wbudowanych Option 2 (always check, never over-commit) systemy czasu rzeczywistego, aplikacje safety-critical nie udaje się alokacja obszaru większego niż dopuszczalny limit, który wynosi: limit = sizeof(swap)+(total memory)*over-commit ratio over-commit ratio jest kontrolowane przez /proc/sys/vm/overcommit_ratio (domyślnie 50%) GUT Intel 2015/16 50/50
Zarządzanie zasobami pamięci
Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli
Schematy zarzadzania pamięcia
Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana
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
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
3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy
Optymalizacja programów Open-Source. Pamięć część 1. Krzysztof Lichota
Optymalizacja programów Open-Source Pamięć część 1 Krzysztof Lichota lichota@mimuw.edu.pl Dlaczego pamięć jest ważna Współczesne systemy operacyjne stosują wirtualizację pamięci i symulują większą pamięć
architektura komputerów w. 8 Zarządzanie pamięcią
architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności
Architektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
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,
SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
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
Zarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Zarządzanie pamięcią operacyjną zagadnienia podstawowe
Zarządzanie pamięcią operacyjną zagadnienia podstawowe Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych. Z punktu widzenia systemu pamięć jest zasobem o strukturze
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
Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).
Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154
Podstawowe zagadnienia informatyki
Podstawowe zagadnienia informatyki Artur Opaliński (pokój E112) e-mail: (p. wykład administracyjny) URL: (p. wykład administracyjny) Obsługa pamięci Treść wykładu Adresowanie pamięci Architektury pamięci
Od programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++
Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Sprzętowe wspomaganie pamięci wirtualnej
Sprzętowe wspomaganie pamięci wirtualnej Stanisław Skonieczny 6 grudnia 2002 Spis treści 1 Intel 2 1.1 Tryby pracy procesora............................... 2 1.2 Adresowanie liniowe................................
Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania
Współpraca procesora ColdFire z pamięcią
Współpraca procesora ColdFire z pamięcią 1 Współpraca procesora z pamięcią zewnętrzną (1) ROM Magistrala adresowa Pamięć programu Magistrala danych Sygnały sterujące CS, OE Mikroprocesor FLASH, SRAM, DRAM
Mikroinformatyka. Tryb wirtualny
Mikroinformatyka Tryb wirtualny Tryb wirtualny z ochroną Wprowadzony w 80286. Rozbudowany w 80386. - 4 GB pamięci fizycznej, - 64 TB przestrzeni wirtualnej, - pamięć podzielona na segmenty o rozmiarze
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
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
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ć
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ż
Q E M U. http://www.qemu.com/
http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama
Programowanie na poziomie sprzętu. Tryb chroniony cz. 1
Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie
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ą
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
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Programowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki
Hierarchia pamięci w systemie komputerowym
Hierarchia pamięci w systemie komputerowym Aby procesor mógł do końca wykorzystać swą wysoką częstotliwość taktowania musi mieć możliwość odpowiednio szybkiego pobierania danych do przetworzenia. Pamięć
Wybrane zagadnienia elektroniki współczesnej
Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina
Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Komputery przemysłowe i systemy wbudowane
Komputery przemysłowe i systemy wbudowane Systemy operacyjne w systemach wbudowanych 2 KSEM WETI PG October 7, 2015 System operacyjny System operacyjny (OS) - opcjonalny w systemach wbudowanych. zbiór
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
Model pamięci w systemie Linux
Model pamięci w systemie Linux Patryk Konopka Paweł Piecyk Wydział Fizyki i Informatyki Stosowanej 2013.05.08 Plan prezentacji 1. Tryb rzeczywisty i segmentowy model pamięci 2. Tryb chroniony i płaski
1.1 Definicja procesu
1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)
Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) System IT ogólna budowa Historia wirtualizacji Pierwsze komputery lata 40 i 50 Komputer bezpośrednio wykonuje program
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
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ść
U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)
http://user-mode-linux.sourceforge.net/ System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux) Autor: Jeff Dike Koncepcja powstała w 1999 r. Początkowo jako patch do jądra 2.0
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ść
UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci
UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX
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
System plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Podstawy. Pamięć wirtualna. (demand paging)
Pamięć wirtualna Podstawy Podstawy Stronicowanie na żądanie Wymiana strony Przydział ramek Szamotanie (thrashing) Pamięć wirtualna (virtual memory) oddzielenie pamięci logicznej użytkownika od fizycznej.
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
Zarządzanie pamięcią. Zarządzanie pamięcią. Podstawy. Podsystem zarządzania pamięcią. Zadania podsystemu: W systemie wielozadaniowym:
W systemie wielozadaniowym: Wpamięci wiele procesów jednocześnie Każdy proces potrzebuje pamięci na: Instrukcje (kod lub tekst) Dane statyczne (w programie) Dane dynamiczne (sterta, stos). System operacyjny
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)
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ęć
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
dr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
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
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
System plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
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
Podstawy programowania komputerów
Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana
System pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
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
Podstawy. Podsystem zarządzania pamięcią - zadania: Wiązanie (binding) rozkazów i danych z adresami pamięci. W systemie wielozadaniowym:
W systemie wielozadaniowym: W pamięci wiele procesów jednocześnie Każdy proces potrzebuje pamięci na: Instrukcje (kod lub tekst) Dane statyczne (w programie) Dane dynamiczne (sterta, stos). System operacyjny
Struktury systemów operacyjnych
Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Architektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego
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
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
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
1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?
Temat. Architektura systemu Windows 7. 1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7? 3) Do czego służy narzędzie BCD. Edit?
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
Lab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
DYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Stronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
16MB - 2GB 2MB - 128MB
FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami
QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:
QEMU Stosunkowo szybki emulator procesora, korzystający z tzw. dynamicznej translacji i kilku innych ciekawych technik programistycznych i optymalizacyjnych. działa na procesorach procesorach: Intel x86,
ZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Pamięć wirtualna w AS/400
Pamięć wirtualna w AS/400 Jan Posiadała 19 listopada 2002 1 Spis treści 1 Wpowadzenie - co to takiego AS/400 3 2 Organizacja pamięci 4 2.1 Koncepcja wymiany................................. 4 2.2 Koncepcja
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
TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ
TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ TESTOWAĆ Testowanie i naprawa Loxima You cannot control what you cannot measure. Tom DeMarco Grzegorz Timoszuk gt219709@students.mimuw.edu.pl Plan
dr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
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
Poniższe funkcje opisane są w 2 i 3 części pomocy systemowej.
Procesy Proces (zwany też zadaniem) jest jednostką aktywną, kontrolowaną przez system operacyjny i związaną z wykonywanym programem. Proces ma przydzielone zasoby typu pamięć (segment kodu, segment danych,
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ć
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie
Monitor maszyn wirtualnych
Monitor maszyn wirtualnych Jest to oprogramowanie nadzorujące działanie systemów gości Może być to oddzielny software lub zintegrowany z systemem operacyjnym System gospodarza Oznaczany zazwyczaj jako
Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak
Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to
Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)
Spis treści Dzień 1 I Konfiguracja sterownika (wersja 1410) I-3 Zadanie Tworzenie konfiguracji sprzętowej I-4 Co jest potrzebne by zacząć? I-5 TIA Portal ekran startowy I-6 Tworzenie nowego projektu I-7
System komputerowy. System komputerowy
System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,
Wykład 11 Zarządzanie pamięcią
Wykład 11 Zarządzanie pamięcią część druga: przestrzeń adresowa procesu Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Pamięć wirtualna Idea: W danej chwili większość procesów potrzebuje
Zarządzanie pamięcią. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.
Zarządzanie pamięcią Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem. Zarządzanie pamięcią podstawy pamięć operacyjna (główna) (main memory,
Kernel Kompilacja jądra
Kernel Kompilacja jądra systemu Co to jest jądro systemu operacyjnego Jądro systemu operacyjnego jest rozpowszechniane na licencji GNU General Public License (GPL) określonej przez konsorcjum Free Software
Komunikacja między sterownikami przez protokół ADS
Komunikacja między sterownikami przez protokół ADS Poziom trudności: łatwy Wersja dokumentacji: 1.0 Aktualizacja: 20.03.2015 Beckhoff Automation Sp. z o. o. Spis treści 1. Komunikacja ADS... 3 2. Konfiguracja
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.
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ą