Advertisement
rnort

logic_serv.h

Dec 22nd, 2012
368
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3.  
  4.  
  5. class System_serv
  6. {
  7. private:
  8.     struct raminfo
  9.     {
  10.         raminfo * next;
  11.         DWORD number; //номер переменной
  12.         DWORD var_size; // размер файла
  13.         DWORD pid_proc; // имя процесса который объявил переменную
  14.         DWORD var_parts_number; //количество частей
  15.         DWORD * var_parts;   // номера частей
  16.     };
  17.  
  18.     char* memory_pointer;  //адрес размеченной памяти
  19.     DWORD number_name;
  20.     DWORD ram_size; // размер оперативы без учета служебной инфы
  21.     DWORD ram_part_size; // размер кластера
  22.     DWORD ram_part_number; // количество кластеров
  23.     BOOL* parts_busy; // массив занятых кластеров
  24.     DWORD var_number;    // количество переменный в оперативе
  25.     raminfo * s, *e;   // очередь переменных
  26.  
  27. public:
  28.     System_serv(DWORD ram_sizein, DWORD ram_part_sizein); // на создание новой системы, размер памяти, размер кластера памяти
  29.     void exit_fs(); // выход
  30.     DWORD make_new (DWORD var_size,DWORD proc_pid); //выделение в памяти рамер под переменную, передаем размер переменной и pid процесса, возвращает номер переменной в системе // throw 10== нету места в памяти
  31.     void delete_var (DWORD var_numberin);  //удаление из системы переменной, передается номер переменной. если переменной нету в фс то trow 20
  32.     BOOL* look_parts();            // просмотр занятых или свободных кластеров
  33. private:
  34.     void set_part_null(DWORD part);  // обнуление определенного кластера
  35.     DWORD find_empty_part(DWORD from_number); // поиск свободного кластера, с какого начинать искать
  36.     DWORD busy_part_fs(); // количество занятых кластеров
  37. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement