Операционные системы. Макушкина Л.А - 40 стр.

UptoLike

40
записываются в кластер, nSector - номер кластера диска, в который
записываются данные.
2. Функции ОС - прототипы функций, которые необходимо реализовать
согласно варианту:
2.1
DLLFUNC void Start() - запуск подсистем управления, начальная
инициализация подсистем;
2.2
DLLFUNC void Stop() - остановка подсистем управления, остановка
подсистем управления.
3. Функции ОС, информационные - прототипы функций, которые
необходимо реализовать согласно варианту:
enum PROCESS_STATUS { NotExist = 0, Execute = 1, Ready = 2, Wait =
3};
3.1
DLLFUNC void GetProcessStatus(BYTE * lpProcStatusBuffer, double
* lpProcData) - получить информацию о процессах в системе,
размер буфера = 100, фактически является "планировщиком"
процессов
// структура для описания состояния физ. памяти
struct PHYS_MEMORY_BLOCK {
int nStart; // начало блока в оперативной памяти
int nLength; // длина блока
int nProcess; // номер процесса (0-99), которому выделен блок
(255 - система)
};
3.2
DLLFUNC int GetPhysMemoryBlockCount() - получить количество
блоков;
3.3
DLLFUNC void GetPhysMemoryBlockList(
PHYS_MEMORY_BLOCK * lpBlockList) - получить описание
блоков, lpBlockList - список описания блоков;
3.4
DLLFUNC void GetDiskStatus(BYTE * lpStatusBuffer) - получить
информацию о состоянии диска (посекторно), 0 - свободный
сектор, 1-100 - сектор принадлежит файлу (номер совпадает с
номером в каталоге), 255 - зарезервировано системой;
3.5
DLLFUNC void GetDiskCatalog(char lpFileNames[] [20], int *
lpFirstSectors, int * lpSizes) - получить каталог, файлов на диске не
более 100 (индексы с 1 по 100 включительно), lpFileNames - имена
файлов, lpFirstSectors - номера первых кластеров, lpSizes - размеры
файлов;
3.6
DLLFUNC int osCreateProcess(int nData) - создать процесс, nData -
дополнительные параметры для процесса (зависит от алгоритма
планирования), 1. Гарантированное планирование - номер
пользователя от имени которого запущен процесс, 2. SJF с
       записываются в кластер, nSector - номер кластера диска, в который
       записываются данные.
2. Функции ОС - прототипы функций, которые необходимо реализовать
    согласно варианту:
   2.1 DLLFUNC void Start() - запуск подсистем управления, начальная
       инициализация подсистем;
   2.2 DLLFUNC void Stop() - остановка подсистем управления, остановка
       подсистем управления.
3. Функции ОС, информационные - прототипы функций, которые
    необходимо реализовать согласно варианту:
    enum PROCESS_STATUS { NotExist = 0, Execute = 1, Ready = 2, Wait =
    3};
        3.1 DLLFUNC void GetProcessStatus(BYTE * lpProcStatusBuffer, double
            * lpProcData) - получить информацию о процессах в системе,
            размер буфера = 100, фактически является "планировщиком"
            процессов

   // структура для описания состояния физ. памяти
   struct PHYS_MEMORY_BLOCK {
          int nStart;         // начало блока в оперативной памяти
          int nLength; // длина блока
          int nProcess;       // номер процесса (0-99), которому выделен блок
   (255 - система)
   };
       3.2 DLLFUNC int GetPhysMemoryBlockCount() - получить количество
           блоков;
       3.3 DLLFUNC                    void             GetPhysMemoryBlockList(
           PHYS_MEMORY_BLOCK * lpBlockList) - получить описание
           блоков, lpBlockList - список описания блоков;
       3.4 DLLFUNC void GetDiskStatus(BYTE * lpStatusBuffer) - получить
           информацию о состоянии диска (посекторно), 0 - свободный
           сектор, 1-100 - сектор принадлежит файлу (номер совпадает с
           номером в каталоге), 255 - зарезервировано системой;
       3.5 DLLFUNC void GetDiskCatalog(char            lpFileNames[] [20], int *
           lpFirstSectors, int * lpSizes) - получить каталог, файлов на диске не
           более 100 (индексы с 1 по 100 включительно), lpFileNames - имена
           файлов, lpFirstSectors - номера первых кластеров, lpSizes - размеры
           файлов;
       3.6 DLLFUNC int osCreateProcess(int nData) - создать процесс, nData -
           дополнительные параметры для процесса (зависит от алгоритма
           планирования), 1. Гарантированное планирование - номер
           пользователя от имени которого запущен процесс, 2. SJF с

                                    40