Составители:
39
3. ТЕМАТИКА КУРСОВЫХ РАБОТ
Тематика курсовых работ по дисциплине «Операционные системы»
ориентирована на изучение основных принципов функционирования
операционной системы.
Курсовая работа заключается в реализации подсистем управления
процессами, оперативной памятью и файловой подсистемы для модели
операционной системы. Результатами курсовой работы являются программная
реализация данных подсистем и пояснительная записка, оформленная в
соответствии с требованиями стандартов и задания на курсовую работу.
Программа должна быть написана на языке C++ и быть реализована в виде
библиотеки функций dll. Данная библиотека содержит следующие функции,
которые должны быть описаны в разрабатываемом студентом приложении:
1. Аппаратные функции - данные функции реализованы с модели
операционной системы, их использование обязательно при обращении к
виртуальной машине:
1.1
DLLFUNC int GetMemorySize() - получить размер оперативной
памяти (в байтах);
1.2
DLLFUNC int GetPageSize() - получить размер страницы (в байтах);
1.3
DLLFUNC int GetDiskSize() - получить размер диска (в байтах);
1.4
DLLFUNC int GetSectorSize() - получить размер кластера (в байтах);
1.5
DLLFUNC void AddLog(char * s) - записать строку в лог (не более 40К
за 500 мс);
1.6
DLLFUNC BYTE ReadMemoryByte(int memPhysAdress) - считать байт
из памяти по физ. адресу;
1.7
DLLFUNC void WriteMemoryByte(int memPhysAdress, BYTE value) -
записать байт в память по физ. адресу;
1.8
DLLFUNC void ReadMemory(int memPhysAdress, BYTE * lpBuffer, int
count) - считать из памяти по указанному физ. адресу несколько байт
(memPhysAdress - адрес, с которого надо считывать данные, lpBuffer -
буфер, в который необходимо перенести указанные данные, count -
количество считываемых байт);
1.9
DLLFUNC void WriteMemory(int memPhysAdress, BYTE * lpBuffer, int
count) - записать в памяти из указанного буфера несколько байт
(memPhysAdress - адрес, по которому происходит запись, lpBuffer -
буфер, из которого переносятся данные, count - количество байт);
1.10
DLLFUNC void ReadDisk(int memAdress, int nSector) - считать кластер
с диска (внимание, функция блокирующая), параметры: memAdress -
адрес в оперативной памяти, начиная с которого необходимо
поместить содержимое кластера, nSector - номер кластера диска, с
которого небходимо считать данные;
1.11
DLLFUNC void WriteDisk(int memAdress, int nSector) - записать
кластер с диска (внимание, функция блокирующая), параметры:
memAdress - адрес в оперативной памяти, начиная с которого данные
3. ТЕМАТИКА КУРСОВЫХ РАБОТ Тематика курсовых работ по дисциплине «Операционные системы» ориентирована на изучение основных принципов функционирования операционной системы. Курсовая работа заключается в реализации подсистем управления процессами, оперативной памятью и файловой подсистемы для модели операционной системы. Результатами курсовой работы являются программная реализация данных подсистем и пояснительная записка, оформленная в соответствии с требованиями стандартов и задания на курсовую работу. Программа должна быть написана на языке C++ и быть реализована в виде библиотеки функций dll. Данная библиотека содержит следующие функции, которые должны быть описаны в разрабатываемом студентом приложении: 1. Аппаратные функции - данные функции реализованы с модели операционной системы, их использование обязательно при обращении к виртуальной машине: 1.1 DLLFUNC int GetMemorySize() - получить размер оперативной памяти (в байтах); 1.2 DLLFUNC int GetPageSize() - получить размер страницы (в байтах); 1.3 DLLFUNC int GetDiskSize() - получить размер диска (в байтах); 1.4 DLLFUNC int GetSectorSize() - получить размер кластера (в байтах); 1.5 DLLFUNC void AddLog(char * s) - записать строку в лог (не более 40К за 500 мс); 1.6 DLLFUNC BYTE ReadMemoryByte(int memPhysAdress) - считать байт из памяти по физ. адресу; 1.7 DLLFUNC void WriteMemoryByte(int memPhysAdress, BYTE value) - записать байт в память по физ. адресу; 1.8 DLLFUNC void ReadMemory(int memPhysAdress, BYTE * lpBuffer, int count) - считать из памяти по указанному физ. адресу несколько байт (memPhysAdress - адрес, с которого надо считывать данные, lpBuffer - буфер, в который необходимо перенести указанные данные, count - количество считываемых байт); 1.9 DLLFUNC void WriteMemory(int memPhysAdress, BYTE * lpBuffer, int count) - записать в памяти из указанного буфера несколько байт (memPhysAdress - адрес, по которому происходит запись, lpBuffer - буфер, из которого переносятся данные, count - количество байт); 1.10 DLLFUNC void ReadDisk(int memAdress, int nSector) - считать кластер с диска (внимание, функция блокирующая), параметры: memAdress - адрес в оперативной памяти, начиная с которого необходимо поместить содержимое кластера, nSector - номер кластера диска, с которого небходимо считать данные; 1.11 DLLFUNC void WriteDisk(int memAdress, int nSector) - записать кластер с диска (внимание, функция блокирующая), параметры: memAdress - адрес в оперативной памяти, начиная с которого данные 39
Страницы
- « первая
- ‹ предыдущая
- …
- 37
- 38
- 39
- 40
- 41
- …
- следующая ›
- последняя »