У меня есть задача для решения, это немного загадочно. Задача состоит в том, чтобы сделать программу на C, которая обрабатывает текстовые сообщения, программа должна имитировать систему с небольшим объемом памяти, система должна иметь возможность хранить только X сообщений с максимальным количеством символов X, каждый символ занимает 1 байт (ASCII) , Для управления сообщениями я должен сделать систему, которая хранится в основной памяти (для симуляции системы с ограниченной памятью). При запуске программы программа должна выделить ОДНУ область памяти для всей информации для сообщений.
Это называется метаданной структурой в задаче:
Область памяти, используемая для хранения в целом, чтобы быть непрерывной в памяти, но разделенной на 32 байта блоков данных, количество блоков данных в системе должно быть ограничено 512.
В заданиях также сказано, что я должен создать X блоков данных числа, X зависит от значения сообщения числа X, которое система должна содержать.
Мне кажется, мне нужно создать структуру, например кольцевой буфер, для хранения каждого сообщения (блока данных?).
Это называется растровым изображением для блоков данных:
Чтобы отследить свободный и занятый блок данных ведьмы, я должен реализовать растровое изображение, где у меня есть 1, но для каждого блока данных. Значение бита 0 (занято) / 1 (свободно). Это растровое изображение следует использовать для поиска свободных блоков данных, когда я хочу добавить сообщение. Растровое изображение должно быть актуальным, когда системы удаляют или создают блок данных для сообщения.
Выделенная память для этой системы должна быть разделена на 3 блока / области, 1 для метаданной структуры, 1 для растрового изображения для каждого блока данных и 1 для блоков данных.
Мне нужна помощь, чтобы вслух рассказать о решениях и о том, как это можно решить в C.
Спасибо