71183

71183



•    Obszary systemowe. W nowoczesnych systemach operacyjnych dostęp do tych obszarów proces ma tylko wtedy, gdy wykonuje w trybie jądra podprogram jądra systemu operacyjnego.

o Dane systemu operacyjnego w tym np. bufory dyskowe, o kod jądra systemu operacyjnego, o kod sterowników urządzeń w pamięci ROM,

o adresowalna pamięć urządzeń wejścia wyjścia, np. pamięć obrazu karty graficznej.

•    Pamięć dzielona - obszary pamięci przechowujące dane, do których dostęp ma więcej niż jeden proces.

•    Pliki dyskowe mapowane na pamięć Rozważmy prosty program w C

flincludc <stdio.h> tfincludc <string.h>

char napis!) = "Hello world!";

voidmain()

{

char ‘tymczasowa: tymczasowa =strdup(napis); printf("%s\n",tymczasowa); free (tymczasowa);

I

Rys. 3.1 Przykładowy program w C używający różnych klas zmiennych

W trakcie działania powyższego programu tworzone są (a potem usuwane) następujące zmienne:

•    zmienna statyczna "napis ” zawierająca łańcuch "Hello World!”;

•    bezimienna zmienna statyczna zawierająca łańcuch "%s\n";

•    zmienna lokalna funkcji " main" typu wskaźnikowego (wskażiuk do typu char) o nazwie "tymczasowa";

•    zmienna dynamiczna, będąca duplikatem zmiennej "napis", wskażiuk do niej podstawiany jest do zmiennej "tymczasowa".

•    inne zmienne zadeklarowane w standardowej bibliotece C, których deklaracje znajdują się w plikach nagłówkowych stdio.h i stnng.h

Pizy starcie procesu wykonującego powyższy program w obszarze kodu programu znajdzie się skompilowana funkcja ' ‘ main" oraz skompilowane niezbędne funkcje biblioteczne w tym funkcje "prinif", "strdup" i "frcc". W obszarze danych statycznych utworzone będą zmienne "napis", bezimienna zmienna zawierająca łańcuch "%s\n" oraz niesprecyzowane tutaj bliżej zmienne tworzone dla potrzeb bibliotek.

Po zainicjowaniu pamięci proces zaczyna wykonywać swój kod poczynając od funkcji "main". W trakcie prologu tej funkcji rezerwowane jest na stosie miejsce na zmienną "tymczasowa". W trakcie wykonania (druga linijka) tworzona jest zmienna dynamiczna będąca duplikatem zmiennej "napis" a jej adres wstawiany jest do zmiennej "tymczasowa". Przy końcu programu zmienna dynamiczna (której adres wciąż przechowuje zmienna ’ tymczasowa") jest niszczona. Epilog funkcji "main" niszczy zmienną lokalną "tymczasowa". Zakończenie się tej fimkcji kończy jednocześnie proces. W trakcie usuwania zakończonego procesu niszczone są pozostałe zmienne.



Wyszukiwarka

Podobne podstrony:
Specjalność: Komputerowe Systemy Sterowania 1.    Opracowanie systemu zdalnego dostęp
10 3(budowa SO) Wykład 3Ogólna budowa systemów operacyjnych Systemy operacyjne należą do programów o
1. STRUKTURY SYSTEMÓW OPERACYJNYCHZadania systemów operacyjnych W odniesieniu do zarządzania procesa
1Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola systemu
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE & Każdy system operacyjny ma do spełnienia dwa podstawowe
Systemy operacyjne- tematy do opracowania Nr Termin Temat Ogólna zawartość Szczegółowa
4. Kamienie milowe. •    Dobór oraz obsługa systemu operacyjnego dostosowanego do
MUANU* Dodatkowa rada Utrudnienie sobie dostępu do tych produktów, na które chcesz przestać mie
-musi być zapewniony jednakowy i równoczesny dostęp do tych samych informacji o zamówieniu dla wszys
Funkcje DBMS ■    Realizacja operacji dostępu do danych na poziomie fizycznym (n
bardziej globalnymi- a to ze względu na dostęp do tych samych wiadomości ze świata, tych samych film
Abstrakcja Jest to uproszczenie polegające na ograniczeniu dostępu do tych cech obiektu (danych lub

więcej podobnych podstron