Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdio.h>
- class System_serv
- {
- private:
- struct raminfo
- {
- raminfo * next;
- DWORD number; //номер переменной
- DWORD var_size; // размер файла
- DWORD pid_proc; // имя процесса который объявил переменную
- DWORD var_parts_number; //количество частей
- DWORD * var_parts; // номера частей
- };
- char* memory_pointer; //адрес размеченной памяти
- DWORD number_name;
- DWORD ram_size; // размер оперативы без учета служебной инфы
- DWORD ram_part_size; // размер кластера
- DWORD ram_part_number; // количество кластеров
- BOOL* parts_busy; // массив занятых кластеров
- DWORD var_number; // количество переменный в оперативе
- raminfo * s, *e; // очередь переменных
- public:
- System_serv(DWORD ram_sizein, DWORD ram_part_sizein); // на создание новой системы, размер памяти, размер кластера памяти
- void exit_fs(); // выход
- DWORD make_new (DWORD var_size,DWORD proc_pid); //выделение в памяти рамер под переменную, передаем размер переменной и pid процесса, возвращает номер переменной в системе // throw 10== нету места в памяти
- void delete_var (DWORD var_numberin); //удаление из системы переменной, передается номер переменной. если переменной нету в фс то trow 20
- BOOL* look_parts(); // просмотр занятых или свободных кластеров
- private:
- void set_part_null(DWORD part); // обнуление определенного кластера
- DWORD find_empty_part(DWORD from_number); // поиск свободного кластера, с какого начинать искать
- DWORD busy_part_fs(); // количество занятых кластеров
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement