Model pamięci w systemie Linux
|
|
- Szczepan Włodzimierz Lipiński
- 7 lat temu
- Przeglądów:
Transkrypt
1 Model pamięci w systemie Linux Patryk Konopka Paweł Piecyk Wydział Fizyki i Informatyki Stosowanej
2 Plan prezentacji 1. Tryb rzeczywisty i segmentowy model pamięci 2. Tryb chroniony i płaski model pamięci 3. Pamięć wirtualna Stronicowanie Physical Address Extension Swapowanie Mapowanie pamięci logicznej na fizyczną Problemy dynamicznej alokacji pamięci Pamięć współdzielona 4. Przydatne narzędzia
3 Trochę historii tryb rzeczywisty (real mode) Tryb, który nie zapewnia ochrony pamięci ani wielozadaniowości Procesor pracuje tak jak Intel bitowa szyna danych można zaadresować max. 1MiB pamięci Wszystkie procesory od 286 do obecnie stosowanych konstrukcji startują w real mode w celu zapewnienia kompatybilności 640K ought to be enough for anybody Charakterystyczny dla MS-DOS
4 Trochę historii segmentowy model pamięci Program ma wydzielone w pamięci 3 segmenty: kodu, danych i stos (+ opcjonalne dodatkowe segmenty danych) Adres dwie 16-bitowe liczby: numer segmentu (segment) + przemieszczenie względem początku segmentu (offset) PhysicalAddress = Segment * 16 + Offset Format adresu segment:offset Segmenty mogą na siebie nachodzić przez to wiele adresów logicznych może wskazywać na jeden adres fizyczny (dokładnie 4096) Wszystkie procesory od 286 do obecnie stosowanych konstrukcji startują w real mode w celu zapewnienia kompatybilności
5 Protected mode Tryb pracy mikroprocesorów x86 wprowadzony w mikroprocesorze Intel Umożliwienie adresowania pamięci przekraczającej 1MB. Wprowadzenie wielozadaniowości Podstawowy tryb pracy dla systemów Linux, Windows i BSD
6 Protected mode W rejestrze segmentowym przechowujemy selektor segmentu : Do dyspozycji mamy dwie tablice: -GDT Global Descriptor Table Jedna w systemie zawiera informacje o kodzie OS i jego danych, dostępna dla wszystkich procesów -LDT Local Descriptor Table Osobna dla każdego zadania deskryptorów globalnych deskryptorów lokalnych Physical or
7 Protected mode deskryptor segmentu Limit segmentu wielkość segmentu, połączenie obu pól (20 bitowa liczba) Adres bazowy oraz Baza offset segmentu, połączenie trzech pól (32 bitowa liczba) Typ prawa dostępu do segmentu (Write / Read / Execute) DPL poziom uprzywilejowania segmentu S typ deskryptora, jeżeli 0 to opisuje segment systemowy, w przeciwnym wypadku segment danych lub kodu G ziarnistość (0 ziarnistość 1B, 1 ziarnistość 4kB) P informuje czy segment jest załadowany do pamięci
8 Protected mode
9 Protected mode To system musi zarządzać trybem chronionym. Programy nie mają dostępu do danych lub kodu z wyższym priorytetem. Stosowane w obecnych systemach operacyjnych.
10 Pamięć wirtualna Pamięć wirtualna mechanizm zarządzania pamięcią komputera zapewniający procesowi wrażenie pracy w jednym dużym, ciągłym obszarze pamięci operacyjnej podczas gdy fizycznie może być ona pofragmentowana, nieciągła i częściowo przechowywana na urządzeniach pamięci masowej. Implementacja w systemie Linux: segmentacja + stronicowanie
11 Stronicowanie Przestrzeń adresowa segmentu jest podzielona na równe części strony Rozmiar strony 4kB dla procesora Intel Pamięć fizyczna podzielona jest na części o tej samej wielkości co strony nazywane ramkami Adres logiczny jest tłumaczony na adres fizyczny z wykorzystaniem tablic stron
12 Stronicowanie wielopoziomowe tablice stron Jeśli używalibyśmy prostych jednopoziomowych tablic stron to musiałyby one zawierać 2^20 wpisów (4 bajty na wpis = 4 MB pamięci RAM dla każdego procesu) Dwupoziomowe tablice stron redukują tą ilość przez tworzenie tablic stron tylko dla tych obszarów pamięci wirtualnej, które są aktualnie używane Każdy aktywny proces ma przypisany Page Directory Adres fizyczny PD aktualnie używanego procesu jest przechowywany w rejestrze cr3
13 Stronicowanie wielopoziomowe tablice stron
14 PAE Disabled PAE Enabled PAE Physical Address Extension Rozszerzenie umożliwiające procesorom x86 (32-bit) dostęp do fizycznej przestrzeni adresowej (RAM) o rozmiarze większym niż 4 GB. Rejestr cr3 wskazuje na PDPT, który zawiera wskaźniki do 4 PD Rozszerzenie to nie powiększa liniowej przestrzeni adresowej procesu, więc operowanie na pamięci > 4GB jest możliwe tylko z poziomu kernela
15 Linux paging model 32bit używane 2 poziomy. Nie używamy PUD i PMD 32bit z PAE używane są 3 poziomy. Nie używamy PUD 64bit używane 3 lub 4 poziomy w zależności od architektury procesora
16 Swapping Realizowane przez kswapd kernel swap daemon (kernel thread) kswapd jest inicjalizowany przy uruchamianiu systemu i jest uruchamiany okresowo zgodnie z licznikiem zwanym kernel swap timer Przy każdym uruchomieniu kswapd sprawdza czy ilość wolnej pamięci nie jest zbyt niska, jeśli tak to stara się ją zwolnić Do wyznaczenia stron, które mogą być zapisane na dysk używany jest algorytm postarzania Każda strona ma licznik określający jej wiek Licznik przy alokacji ustawiany jest domyślnie na 3 Przy każdym użyciu strony licznik+=3 (maksymalnie 20) Co pewien czas licznik-- dla każdej ze stron Gdy licznik = 0 dana strona jest dobrym kandydatem do zapisania na dysk
17 Swapping Podczas projektowania aplikacji działającej w obrębie systemu czasu rzeczywistego chcemy zminimalizować czas dostępu do pamięci. Nie chcemy, aby nasza pamięć była swap owana, swap = długi czas odczytu pamięci. Jak się uchronić przed swap owaniem? mlock() lub mlockall() gwarancja na to, że nasza pamięć pozostanie w pamięci fizycznej (nie będzie swap owana) #include <sys/mman.h> int mlock(const void *addr, size_t len); int munlock(const void *addr, size_t len); int mlockall(int flags); int munlockall(void);
18 MMU Memory Management Unit User space Kernel space
19 MMU Memory Management Unit Układ realizujący dostęp do pamięci fizycznej żądanej przez CPU Realizacja translacji pamięci wirtualnej do pamięci fizycznej (hardware owo) Ochrona pamięci Pamięć podręczna Dzielenie pamięci wirtualnej na strony o Motorola MMU dla procesora Motorola w postaci osobnego układu rozmiarze 2 N
20 MMU Memory Management Unit TLB Translation Lookaside Buffer Tablica buforująca strony Szybki dostęp do stron MMU: Odpowiedzialny za Segmentation fault! Sygnał SIGSEGV
21 Segmentation fault - Dereferencja wskaźników wskazujących na NULL - Próba dostępu do pamięci do której nie mamy uprawnień - Próba dostępu do nieistniejącego adresu w pamięci - Próba zapisu do pamięci typu read-only - Przepełnienie bufora - Użycie niezainicjalizowanego wskaźnika - Próba odpalenia źle skompilowanego programu
22 Text segment
23 Text segment Zawiera kod maszynowy przeznaczony do wykonania przez procesor komputera. Segment kodu jest wskazywany przez rejestr segmentowy CS. Pamięć oznaczona przez system jako read-only dane nie mogą być modyfikowane przez proces. Procesy mogą współdzielić kod, w momencie gdy uruchomiona jest kopia programu. Można wyłączyć współdzielenie kodu w momencie kompilacji za pomocą flagi N.
24 Data segment
25 Data segment Miejsce, w którym przechowywane są : -zmienne globalne z przypisaną wartością int i = 1; int main() {} - zmienne statyczne z przypisaną wartością int main() { static char *text = Hello ; }
26 BSS segment
27 BSS segment Wykorzystywane przez kompilatory i linkery w celu przechowywania zaalokowanych, ale niezainicjowanych zmiennych statycznych. void dummy() { static int i; } Przechowywanie niezainicjowanych zmiennych globalnych. int i; int main() {} Język C: int i; == int i = 0; Rozmiar początkowy BSS segment 4 lub 8 bajtów.
28 Funkcje sbrk() oraz brk()
29 Funkcje sbrk() oraz brk() Podstawowe funkcje do zarządzania pamięcią w systemach Unix Kontrolowanie rozmiaru dostępnej pamięci konkretnego procesu w sekcji Heap Funkcje wysokopoziomowe Funkcje wykorzystywane przez malloc() Kiedyś w systemach Unix owych: jedyny sposób na zażądanie dostępu do dodatkowej pamięci.
30 Funkcje sbrk() oraz brk() Program brake wskazuje na pierwszy adres, który jest niedostępny dla procesu (w kontekście sterty). #include <unistd.h> int brk(void *end_data_segment) - ustawia Program brake na adres, który wskazuje end_data_segment i zmienia rozmiar dostępnej pamięci. void *sbrk(intptr_t increment) przesuwa Program brake o ilość bajtów przekazaną w parametrze increment. void * ptr = sbrk(0); zwróci bieżący adres, na który wskazuje Program break.
31 Wywołanie systemowe mmap()
32 Wywołanie systemowe mmap() mmap() wywołanie systemowe, które nakazuje systemowi operacyjnemu odwzorowanie danej części wybranego pliku w przestrzeni adresowej procesu. Do obszaru pliku odnosimy się jak do zwykłej tablicy bajtów w pamięci. Eliminacja wywołań systemowych typu read/write. Przyspieszenie działania na dużych plikach.
33 Wywołanie systemowe mmap() #include <sys/mman.h> void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); start - określa adres, w którym chcemy widzieć odwzorowanie pliku. Nie jest wymagane zazwyczaj 0. length - ilość bajtów jaką chcemy odwzorować w pamięci. prot - flagi określające uprawnienia jakie chcemy nadać obszarowi pamięci. PROT_READ PROT_WRITE PROT_EXEC PROT_NONE flags - dodatkowe flagi określające sposób działania wywołania mmap. MAP_SHARED MAP_PRIVATE MAP_ANONYMOUS fd - deskryptor pliku, który chcemy odwzorować w pamięci. offset - liczba określająca od którego miejsca w pliku chcemy rozpocząć
34 Wywołanie systemowe mmap() void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); Wartość zwracana: Sukces zwrócenie wskaźnika na odwzorowaną pamięć. Porażka zwrócenie MAP_FAILED == (void*)-1.
35 Wywołanie systemowe munmap() munmap() - Wywołanie systemowe nakazujące zlikwidowanie odwzorowania pliku w pamięci. int munmap(void *start, size_t length); start - określa adres odwzorowania do skasowania. length - liczba bajtów zajmowana przez odwzorowanie. Wartość zwracana: Sukces zwrócenie 0. Porażka zwrócenie -1.
36 Problem dynamicznej alokacji pamięci Funkcja malloc() alokuje pamięć z wykorzystaniem dwóch funkcji: - sbrk() - mmap() Alokacja pamięci za pomocą sbrk(), gdy n < MMAP_THRESHOLD Alokacja pamięci za pomocą mmap(), gdy n >= MMAP_THRESHOLD, gdzie n rozmiar w bajtach Możliwość zmiany MMAP_THRESHOLD za pomocą funkcji mallopt(). int result = mallopt(m_mmap_threshold, 128*1024); - wartość domyślna
37 Problem dynamicznej alokacji pamięci Pojedynczy blok pamięci to tzw. chunk Puste (zwolnione) bloki pamięci tworzą listę Ważne: wywołanie malloc(96) wcale nie zaalokuje bloku pamięci o rozmiarze 96 bajtów!!!
38 Wywołanie malloc() Chunk size Pointer to next free chunk Data Rys 1. Pojedynczy chunk Rys 2. Przykład wywołania malloc(96);
39 Wywołanie free() Rys 3. Przykład wywołania free(ptr);
40 Negatywne skutki dynamicznej alokacji - fragmentacja Problem pośredni: długi czas przejścia listy w celu znalezienia odpowiedniego chunk a
41 Fragmentacja rozwiązanie problemu Zastosowanie innego algorytmu alokacji np. Best-Fit Allocation Przed: Po: Czas działania algorytmu O(n), gdzie n ilość wolnych bloków
42 Stos
43 Stos Liniowa struktura danych, w której dane są dokładane na wierzch stosu. Dwie operacje: - push umieszczenie wartości na szczycie stosu, czyli przesunięcie rejestru ESP o odpowiednią ilość bajtów do tyłu i wpisanie tam wartości - pop zdjęcie wartości ze stosu, czyli przesunięcie ESP do przodu Odpowiedzialne rejestry: SS rejestr segmentowy, wskazujący na początek stosu ESP rejestr wskazujący na element znajdujący się na szczycie stosu
44 Stos Jak sprawdzić maksymalny rozmiar stosu? Wywołanie: ulimit -s
45 Kernel space
46 Kernel space Przechowuje: Kod kernela Dane wykorzystywane przez kernel Page tables Kernel też potrzebuje swojej przestrzeni adresowej! Cała pamięć (1GB) jest od razu mapowana na pamięć fizyczną. Komunikacja tylko za pomocą wywołań systemowych.
47 Pamięć współdzielona Pamięć współdzielona pamięć do której może mieć jednoczesny dostęp kilka procesów Gdzie może się przydać: - komunikacja między procesami (inter-process communication) - współdzielenie bibliotek
48 Pamięć współdzielona komunikacja między procesami int segment_id = shmget(segment_id, size, flags) - alokuje pamięć współdzieloną void* shmat(segment_id, NULL, flags) - mapuje pamięć współdzieloną do przestrzeni pamięci procesu void shmdt(adress) odłącza pamięć współdzieloną shmctl() - służy m.in. do zwalniania pamięci współdzielonej Przydatne narzędzia: ipcs pozwala uzyskać informacje dotyczące pamięci współdzielonej ipcrm pozwala usuwać obiekty związane z IPC
49 Przydatne narzędzia - top top narzędzie do monitorowania systemu W kontekście pamięci najbardziej powinny interesować nas kolumny: VIRT ilość pamięci do której proces ma dostęp w aktualnym momencie, czyli suma pamięci aktualnie używanej, plików z HDD, która są do niej zmapowane oraz pamięci współdzielonej. RES określa ile pamięci fizycznej jest używane przez proces. SHR określa jaka część pamięci z kolumny VIRT jest współdzielona.
50 Przydatne narzędzia - /proc/pid/status free proste narzędzie do statystyki, wyświetla ilość dostępnej/zajętej pamięci w systemie. /proc/pid/status interesujące informacje z przedrostkiem Vm VmPeak maksymalny rozmiar pamięci użyty przez proces w ciągu jego życia, VmSize rozmiar pamięci wirtualnej, VmLck ilość zablokowanej pamięci, VmHWM High water mark, maksymalny rozmiar pamięci fizycznej użyty przez proces, VmRSS aktualny rozmiar wykorzystywanej pamięci fizycznej, VmData, VmStk, VmExe poszczególne segmenty, VmPTE rozmiar tablic stron VmLib rozmiar kodu bibliotek współdzielonych
51 Przydatne narzędzia - pmap pmap -x pid wyświetla mapę pamięci procesu Kolumny: Address adres początku mapy Kbytes rozmiar mapy RSS rozmiar zajmowanej pamięci fizycznej Dirty - dirty pages (both shared and private) Mode - uprawnienia: read, write, execute, shared, private (kopia przy zapisie) Mapping plik z którego pochodzi mapa, lub '[ anon ]' dla zaalokowanej pamięci, lub '[ stack ]' dla stosu procesu
52 Przydatne narzędzia pmap przykładowy wynik $ pmap -x :./process1 Address Kbytes RSS Dirty Mode Mapping r-x-- process r---- process rw--- process f770aae r-x-- libc-2.17.so 00007f770aca libc-2.17.so 00007f770aea r---- libc-2.17.so 00007f770aea rw--- libc-2.17.so 00007f770aeaa rw--- [ anon ] 00007f770aeaf r-x-- ld-2.17.so 00007f770b0a rw--- [ anon ] 00007f770b0c rw-s- [ shmid=0x2e0001 ] 00007f770b0ce rw--- [ anon ] 00007f770b0d r---- ld-2.17.so 00007f770b0d rw--- ld-2.17.so 00007fff rw--- [ stack ] 00007fff621fe r-x-- [ anon ] ffffffffff r-x-- [ anon ] total kb
53 Analiza pamięci - narzędzia Valgrind narzędzie do debugowania pamięci, wykrywania wycieków pamięci oraz profilowania aplikacji. Geneza nazwy: nazwa głównego wejścia do Valhali w nordyckiej mitologii. Współpraca z gdb: 1. valgrind --vgdb=yes --vgdb-error=0./small_app 2. gdb./small_app 3. (gdb) target remote vgdb --pid=xxxx 4. (gdb) monitor leak_check full reachable any
54 Bibliografia Best-Fit Algorithm 4. Understanding Memory Linux man pages
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
Bardziej szczegółowoSYSTEMY 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
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowo3 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
Bardziej szczegółowoSchematy 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
Bardziej szczegółowoMikroinformatyka. 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
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoarchitektura 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
Bardziej szczegółowoWykł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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoSprzę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................................
Bardziej szczegółowoUkł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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoWybrane 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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoOd 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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoSystemy 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
Bardziej szczegółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 4: Architektura i zarządzanie pamięcią IA-32 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Tryby pracy Rejestry
Bardziej szczegółowoPodstawy. 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
Bardziej szczegółowoProcesy 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
Bardziej szczegółowoCo 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
Bardziej szczegółowoWspół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
Bardziej szczegółowoPodstawowe 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
Bardziej szczegółowo1.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
Bardziej szczegółowoPamięć. 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
Bardziej szczegółowoZarzą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,
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoPodstawy 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.
Bardziej szczegółowoMikroinformatyka. Wielozadaniowość
Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment
Bardziej szczegółowo4. 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
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoSYSTEMY 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
Bardziej szczegółowoOptymalizacja 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ęć
Bardziej szczegółowodr 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
Bardziej szczegółowoZarzą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
Bardziej szczegółowoTryb rzeczywisty to tryb pracy mikroprocesorów z rodziny procesorów x86, w którym procesor pracuje tak jak procesor Intel 8086.
T: Tryb rzeczywisty i chroniony procesora. Tryb rzeczywisty to tryb pracy mikroprocesorów z rodziny procesorów x86, w którym procesor pracuje tak jak procesor Intel 8086. W trybie tym brak ochrony pamięci
Bardziej szczegółowoPRZYDZIAŁ 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)
Bardziej szczegółowoSystem 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
Bardziej szczegółowoCPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.
Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoZaawansowane 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
Bardziej szczegółowoKompilator 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
Bardziej szczegółowoSOE 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
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoHierarchia 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ęć
Bardziej szczegółowoProcesor 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ą
Bardziej szczegółowoPamięć współdzielona
Pamięć współdzielona Systemy Operacyjne 2 Piotr Zierhoffer 17 listopada 2011 Mechanizmy IPC IPC Inter Process Communication kolejki komunikatów, pamięć współdzielona semafory polecenia bash: ipcs, ipcrm
Bardziej szczegółowoWykł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
Bardziej szczegółowoMikroinformatyka. Mechanizmy ochrony pamięci
Mikroinformatyka Mechanizmy ochrony pamięci Mechanizmy ochrony pamięci Ochrona na poziomie segmentów: - limit - typ segmentu - selektor zerowy - poziom uprzywilejowania Ochrona na poziomie stronicowania:
Bardziej szczegółowoProgramowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Zarzadzanie pamięcia Iwona Kochańska Katedra Systemów Elektroniki Morskiej WETI PG April 19, 2017 Pamięć fizyczna - liniowa ( flat ) wszystkie procesy współdziela ten
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoTemat: 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,
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoWOJSKOWA AKADEMIA TECHNICZNA
WOJSKOWA AKADEMIA TECHNICZNA SYSTEMY WBUDOWANE Prowadzący: Paweł Janicki Autor sprawozdania: Pol Grzegorz Grupa szkoleniowa: I7X3S1 Numer ćwiczenia: Data oddania: 14.06.2009r. 1. Treść zadania Dokonać
Bardziej szczegółowoProcesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Bardziej szczegółowodr 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
Bardziej szczegółowo4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24
Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.
Bardziej szczegółowoMikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Bardziej szczegółowoRejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika
Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.
Bardziej szczegółowoWykład 10 10. Tryby adresowania i modele pamięci adres_logiczny = segment : offset. 10.1. Tryb adresowania rzeczywistego
Wykład 10 10. Tryby adresowania i modele pamięci 10.1. Tryb adresowania rzeczywistego 10.2. Tryb adresowania wirtualnego 10.3. Interpretacja pamięci 10.4. Stronicowanie pamięci 10.5. Modele pamięci 10.6.
Bardziej szczegółowoSystemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku
Systemy plików i zarządzanie pamięcią pomocniczą Koncepcja pliku Metody dostępu Organizacja systemu plików Metody alokacji Struktura dysku Zarządzanie dyskiem Struktura pliku Prosta sekwencja słów lub
Bardziej szczegółowo4. 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
Bardziej szczegółowoLaboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Bardziej szczegółowoPliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:
Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:
Bardziej szczegółowo4. 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
Bardziej szczegółowoDodatek 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
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoWykł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ż
Bardziej szczegółowoAdam Kotynia, Łukasz Kowalczyk
Adam Kotynia, Łukasz Kowalczyk Dynamiczna alokacja pamięci Alokacja pamięci oraz dezalokacja pamięci jest to odpowiednio przydział i zwolnienie ciągłego obszaru pamięci. Po uruchomieniu, proces (program)
Bardziej szczegółowoARCHITEKTURA 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
Bardziej szczegółowoSystemy operacyjne Zarządzanie pamięcią
Systemy operacyjne Zarządzanie pamięcią [] Zarządzanie pamięcią Czego programiści oczekują od pamięci systemu: by była duża, by była szybka, by była nieulotna. Hierarchia pamięci: mała szybka droga pamięć
Bardziej szczegółowoPrzedmowa... 7. Wstęp...9. 1. Wprowadzenie podstawowe pojęcia... 15
Spis treści Przedmowa... 7 Wstęp...9 1. Wprowadzenie podstawowe pojęcia... 15 Programowanie systemowe 15 API i ABI 18 Standardy 20 Pojęcia dotyczące programowania w Linuksie 23 Początek programowania systemowego
Bardziej szczegółowoObsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011
Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoJ. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Architektura PC 1.1. Ogólna struktura systemu jednoprocesorowego Już systemy jednoprocesorowe mogą być środowiskiem, w którym wykonywane jest wiele programów
Bardziej szczegółowoSystem 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
Bardziej szczegółowoSystem 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
Bardziej szczegółowoSystem 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
Bardziej szczegółowoPamięć 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,
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Bardziej szczegółowoOrganizacja 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ą
Bardziej szczegółowoWskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17
Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoKURS C/C++ WYKŁAD 6. Wskaźniki
Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można
Bardziej szczegółowoOrganizacja pamięci wewnętrznej komputerów
Organizacja pamięci wewnętrznej komputerów 1. Własności systemów pamięci 2. Hierarchia pamięci. 3. Półprzewodnikowa pamięć główna 4. Pamięć cache. 5. Pamięć wirtualna. Własności systemów pamięci Położenie
Bardziej szczegółowoSystemy Operacyjne Pamięć wirtualna cz. 2
Systemy Operacyjne Pamięć wirtualna cz. 2 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 20 stycznia 2007 1 1 Wstęp 2 Minimalna liczba ramek 3 Algorytmy przydziału
Bardziej szczegółowoWstęp. do języka C na procesor 8051. (kompilator RC51)
Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje
Bardziej szczegółowoStruktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Bardziej szczegółowoWskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Bardziej szczegółowoLaboratorium 6: Dynamiczny przydział pamięci. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 6: Dynamiczny przydział pamięci dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 15 maja 2015 1. Wprowadzenie Instrukcja poświęcona jest dynamicznemu przydziałowi i zwalnianiu pamięci w
Bardziej szczegółowoDział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
Bardziej szczegółowoUTK 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ć
Bardziej szczegółowoJak Windows zarządza pamięcią?
Jak Windows zarządza pamięcią? System Windows definiuje dwa typy pamięci, często mylone przez użytkowników. Pamięć fizyczna (pamięc RAM zainstalowana w komputerze) Pamięć widziana przez daną aplikację
Bardziej szczegółowoLab 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
Bardziej szczegółowoSystem operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
Bardziej szczegółowoDział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ęć
Bardziej szczegółowoLaboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak
Laboratorium z systemów operacyjnych System plików - funkcje systemowe Anna Wojak 1 Zagadnienia do samodzielnego przygotowania: podstawowe polecenia linux, podstawy programowania w jezyku C, deskryptor
Bardziej szczegółowo