Ребят, плиз срочно выручайте)))
Написать программу, моделирующую динамическое распределение памяти в операционной системе. В качестве модели оперативной памяти программа должна использовать байтовый массив размера не менее 1024 байт. Использование других глобальных переменных в программе запрещено (то есть вся информация о свободных/занятых участках должна храниться внутри массива). В программе в обязательном порядке должны присутствовать следующие функции:
а) выделить участок заданного размера. В случае успеха вывести начальный адрес выделенного участка. Если участка подходящего для выделения не найдено, необходимо вывести диагностическое сообщение о нехватке памяти.
б) освободить ранее выделенный участок. В качестве параметра функция должна принимать начальный адрес освобождаемого участка. Ранее выделенный участок может быть освобожден только целиком (освобождение части участка не допускается).
в) получить информацию о свободных/занятых участках в «оперативной памяти» (количество участков каждого типа, начальные адреса, размеры, общее количество занятой и свободной памяти).
ВАРИАНТЫ ЗАДАНИЙ.
Варианты заданий комбинируются из возможных способов хранения информации о свободных занятых блоках и различных алгоритмов, применяемых при выделении участка. Примерное соответствие варианта задания и указанных параметров представлено в следующей таблице:
Вариант задания Алгоритм выделения Способ хранения информации
1 Первый подходящий Битовая карта
2 Наиболее подходящий Битовая карта
3 Наименее подходящий Битовая карта
4 Двоичного разбиения Битовая карта
5 Первый подходящий Список блоков
6 Наиболее подходящий Список блоков
7 Наименее подходящий Список блоков
8 Двоичного разбиения Список блоков
Я 5 вариант)) заранее благодарю