Применение программы-имитатора динамического распределения оперативной памяти, выполнение ее на ОС Windows 7 в интегрированной среде. Разработка приложений с графическим интерфейсом Delphi XE3. Автоматическая загрузка, исполнение и добавление процессов.
Программа-имитатор динамического распределения оперативной памяти выполнена на ОС Windows 7 в интегрированной среде разработки приложений с графическим интерфейсом Delphi XE3.После завершения задачи память освобождается, и на это место может быть загружена другая задача. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершаясь, покидает память. На освободившееся после задачи П4 место загружается задача П6, поступившая в момент t3. Задачами операционной системы при реализации данного метода управления памятью является: · ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти, · при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи, · загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей, · после завершения задачи корректировка таблиц свободных и занятых областей. Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам, таким, например, как "первый попавшийся раздел достаточного размера", или "раздел, имеющий наименьший достаточный размер", или "раздел, имеющий наибольший достаточный размер".Данная программа позволяет имитировать процесс динамического выделения оперативной памяти и визуально показывает процесс заполнения оперативной памяти, сжатия и освобождения. В записи присутствуют переменные Imya - имя процесса, PID-номер процесса, Razmer - размер процесса, prohoj - переменная, показывающая количество перемещений процесса при дефрагментации, cr, sin, zel - случайные переменные для задания цвета процесса. Если новый процесс, добавляемый после предыдущего, не помещается в остаток оперативной памяти, то происходит дефрагментация, при которой все процессы заново ставятся в начало один за другим. Далее идет цикл, который содержит перезапись таблицы процессов, удаление процессов и таймер процессов. При переменной stat принадлежащей «процессу», равной “end” процесс считается завершенным и удаляется из таблицы процессов, путем заполнения ячеек «».for h := 1 to i do begin if process[h].stat "end" then begin process[h].prohoj:=proh; for h:= 1 to i do begin for j1 := 1 to i do begin if (STRINGGRID1.cells[1,process[h].pid-1]="") and (process[h].stat"end") then begin if process[h].pid>1 then begin if (process[h].stat"end") and (strtoint(process[h].vremya)=0) then begin process[h].stat:="end"; if (process[h].stat"end") and (strtoint(process[h].vremya)>0) then begin if (process[h].ran > rand) or (process[h].ran_1=1) {or (kran>0)} then begin process[h].Vremya:=inttostr(strtoint(process[h].vremya)-1); if (process[h].stat = "end") and (process[h].prohoj = proh) then begin razm:= (strtoint(process[h].Razmer)/(razmerpam/100))*5 ;Возникает при переполнении оперативной памяти и отсутствии места для поступающих процессов.Динамическое распределение оперативной памяти хотя и являлось прогрессивной находкой для своего времени, но полностью не удовлетворяло пользователей ПК, как изза фрагментации памяти, вызывающей потерю пространства оперативной памяти, так и изза невозможности использования дискового пространства.
План
Содержание
Введение
1. Динамическое выделение в оперативной памяти
2. Имитатор динамического выделения оперативной памяти
3. Логическая структура программы
4. Тестирование
Заключение
Введение
Программа-имитатор динамического распределения оперативной памяти выполнена на ОС Windows 7 в интегрированной среде разработки приложений с графическим интерфейсом Delphi XE3. В работе применены знания, полученные при изучении курса «Операционные системы, среды и оболочки». Данная программа наглядно показывает процесс динамического распределения процессов в оперативной памяти, фрагментацию оперативной памяти, работу программного объекта «сжатие» и пошаговое представление распределения процессов с заданными параметрами.
Вывод
Динамическое распределение оперативной памяти хотя и являлось прогрессивной находкой для своего времени, но полностью не удовлетворяло пользователей ПК, как изза фрагментации памяти, вызывающей потерю пространства оперативной памяти, так и изза невозможности использования дискового пространства. Пусть данная система и не применяется в настоящее время, она достойно заняла свое место в истории развития вычислительной техники и дала множество идей разработчикам следующих систем работы с памятью.
Размещено на
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы