SO instrukcja 4


Instrukcja laboratoryjna
Systemy operacyjne
sem. 1
wiczenie czwarte
Temat: Zarządzanie pamięcią w systemie DOS
Opracował:
mgr inż. Arkadiusz Chrobot
1. Wstęp
System operacyjny jest zarządcą pamięci. Aby mógł sprawnie wykonywać to
zadanie musi utrzymywać informacje o jej poszczególnych obszarach, o tym czy
są one wolne, czy zajęte. W tym ostatnim wypadku powinien również wiedzieć
któremu procesowi zostały one przydzielone. Powinien również dysponować
strategią określającą sposób przydziału wolnych obszarów pamięci. System
DOS stosuje przydział ciągły, tzn. procesowi użytkownika pamięć przydzielana
jest blokami różnej wielkości. Informacje związane z zarządzaniem blokiem są
umieszczone na jego początku w 16 bajtowej strukturze nazywanej nagłówkiem
bloku pamięci (ang. memory control block  MCB). W pierwszym bajcie tej
struktury umieszczona jest litera określająca rodzaj tego bloku (M  blok
pośredni, Z  blok końcowy), na kolejnych 2 bajtach zapisany jest numer
identyfikacyjny procesu, któremu ten blok został przydzielony, na kolejnych
dwóch bajtach jest zapisana wielkość bloku w paragrafach (minus jeden
paragraf przeznaczony na nagłówek bloku), kolejne trzy bajty są
zarezerwowane. Na ostatnich ośmiu bajtach jest umieszczona nazwa procesu,
który jest w posiadaniu bloku. Adres pierwszego nagłówka (tylko część
segmentowa) jest umieszczony w strukturze LL (liście list), będącej strukturą
systemową. Nie jest ona udokumentowana przez producenta systemu, ale
można uzyskać adres do pewnego miejsca tej struktury przez wywołanie funkcji
52h przerwania 21h. Adres pierwszego MCB zapisany jest w polu tej struktury,
które znajduje się dwa bajty przed tym miejscem. Do przydziału i zwalniania
pamięci służą funkcje 48h i 49h przerwania 21h. Ponieważ pamięć w systemie
DOS jest przydzielana w sposób ciągły po kilku cyklach przydziału i zwalniania
bloki przydzielone rozdzielone są blokami nieprzydzielonymi. Taką sytuację
określa się mianem fragmentacji pamięci. System DOS może stosować jedną z
trzech strategii przydziału pamięci:
pierwszy spełniający wymagania (ang. first fit low)  przydzielany jest
pierwszy blok z puli bloków wolnych, którego rozmiar spełnia
wymagania,
najlepiej spełniający wymagania (ang. best fit low)  przydzielany jest blok
z puli bloków wolnych, o najmniejszym rozmiarze spełniającym
wymagania,
ostatni spełniający wymagania (ang. last fit low)  przydzielany jest
ostatni blok z puli bloków wolnych, którego rozmiar spełnia wymagania.
2
2. Zadania
1. [1 punkt] Napisz program, który korzystając z funkcji 48h otrzyma od
systemu blok pamięci, a następnie ją zwolni używając funkcji 49h1.
2. [3 punkt] Napisz program, który wyświetli mapę pamięci, tj. zawartość
wszystkich bloków MCB, jakie się w niej znajdują.
3. [1 punkty] Korzystając z dwóch poprzednich zadań napisz program, który
będzie pokazywał, w jaki sposób zmieniają się informacje o blokach po
przydzieleniu i zwolnieniu pamięci. Program ma od użytkownika pobierać
wielkość bloku jaki będzie przydzielony, oraz rodzaj strategii, jaka będzie
zastosowana podczas tego przydziału.
1 Należy się zapoznać z przydziałem pamięci w programach napisanych z użyciem Turbo Pascala.
3


Wyszukiwarka

Podobne podstrony:
SO instrukcja 1
SO instrukcja 5
SO instrukcja 6
SO instrukcja 3
instrukcja prezentacja2
instrukcja bhp przy obsludze euro grilla
DS1000PL Instrukcja
Blaupunkt CR5WH Alarm Clock Radio instrukcja EN i PL
Instrukcja do cwiczenia 4 Pomiary oscyloskopowe
Instrukcja F (2010)
Instrukcja Programowania Zelio Logic 2 wersja polska
Instrukcja kociol MODERATOR 75 200kW pl

więcej podobnych podstron