Виртуальная Память И Его Реализация.

  • Автор темы Автор темы Vunderkind
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
V

Vunderkind

Дано задание реализации механизма виртуальной памяти на С, но у меня не получается даже начать. Дело в том что до реализации виртуалной памяти надо выделить память для основной памяти используя malloc, и основная память должно состоять из 100 блоков, а каждый блок из 128 байта. Как это реализовать понятии не имею. Не судите строго если я что-то не прав. написал, читайте задание(на англ.) прикрепленао к этой теме. Если можно, поэтапно объясните что надо делать в этом задании!
 

Вложения

Дело в том что до реализации виртуалной памяти надо выделить память для основной памяти используя malloc, и основная память должно состоять из 100 блоков, а каждый блок из 128 байта. Как это реализовать понятии не имею.

Здесь можно прочитать про функции выделения и освобождения памяти malloc, calloc и free.

В твоем случае это будет выглядеть примерно так:
C++:
#include<cstdlib>

void main()
{
const size_t sizeBlock = 128;
const size_t countBlock = 100;

char* masBlock[countBlock];

// Выделение памяти.
for(size_t i = 0; i < countBlock; i++)
{
masBlock[i] = (char *)malloc(sizeBlock);
}

// Освобождение памяти.
for (size_t i = 0; i < countBlock; i++)
{
free(masBlock[i]);
}
}

Нужно только проверить как подключается заголовочный файл stdlib.h в твоем компиляторе.
 
Огромное вам спасибо!
 
Огромное вам спасибо! У меня возник еще один вопрос, а как достучатся к определенной памяти определенного блока? Например: по задании надо взять адрес 45-го байта 13-го блока, умею взять адрес блока, а как взять адрес байта(наверное это невозм.) ?
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab