Kurs programowania w asemblerze


Procesy

Proces - jest to wykonywany w danej chwili program wraz z otoczeniem. System operacyjny DOS może w jednej chwili może wykonywań jeden proces. Wyjątkami są programy rezydentne. Każdy proces może wywoływać inny, zawieszając na ten czas swoją pracę. Procesy więc dzielą się na macierzyste i potomne. System operacyjny DOS podczas uruchamiania procesu w pierwszej kolejności przydziela pamięć operacyjną. Jeśli odpalany plik jest plikiem typu COM, przydzielona zostaje cała dostępna pamięć, jeśli jest typu EXE zostaje przydzielona pamięć wynikająca z nagłówka pliku. Następnie tworzony zostaje przedrostek procesu (PSP). Jest to struktura zajmująca 256 bajtów i zawierająca najważniejsze informacje o procesie. Po stworzeniu PSP, DOS tworzy statyczną kopię środowiska systemowego. Na końcu tego środowiska znajduje się ścieżka dostępu do aktualnie odpalanego pliku. Przez tworzenie kopii środowiska wszystkie ustawienia zostają przywrócone, np. jeśli zmienisz znak zachęty w swoim programie, po powrocie do DOS'a, znak zachęty zostanie ustawiony, na taki, jaki był przed uruchomieniem programu. Następnie DOS ustawia bufor roboczy operacji dyskowych (DTA) na PSP:080 i odpala program zaczynając od adresu o PSP:0100. Dla programów typu COM wszystkie rejestry segmentowe są ustawione na adres PSP, a do IP wpisywana jest wartość 100H. Przy odpalaniu programów typu EXE punkt startu odczytywany jest z nagłówka pliku.

Poniżej została zamieszczona tabela przedstawiająca przedrostek PSP.

OffsetRozmiarZawartośćOpis
02CD 20HSkok do tego miejsca powoduje zakończenie procesu (przerwanie 20H)
22pamięćPamięć; Pułap pamięci programu (Pierwszy wolny segment)
41 Zarezerwowane
55call offset segmentFAR CALL do procedury obsługującej funkcje systemowe (przerwanie 21H)
6(2)Dost.Liczba dostępnych bajtów w segmencie (dla plików COM)
AH4offset segmentAdres procedury obsługującej przerwanie 22H
EH4offset segmentAdres procedury obsługującej przerwanie 23H
12H4offset segmentAdres procedury obsługującej przerwanie 24H
16H16Hzarezerwowane przez DOS 
2CH2środowiskoNumer segmentu środowiska systemowego
2EH2EHzarezerwowane przez DOS 
5CH10HFCB #1Blok FCB pierwszego argumentu programu
6CH14HFCB #2Blok FCB drugiego argumentu programu
80H1lenLiczba znaków w tekście parametrów
81H7FHobszar parametrówTekst parametrów
FFH   

Autor: Karol Wierzchołowski, opracowano: 12.01.2002 r. Wszelkie prawa zastrzeżone.
Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?