
- •1 Призначення та функції операційних систем.
- •2 Классификация ос:
- •3 Свойства ос:
- •4 Архитектура компьютерной системы Windows nt
- •5 Типы Windows-приложений:
- •6 Структура оконных вин приложений
- •7 Механизм сообщений Windows
- •9 Реєстрація класів вікон користувача та створення вікон у Windows.
- •10 Создание дочерних окон.
- •12 Сегментный способ адресации в Windows
- •13 Страничная организация памяти в Windows
- •14.Алгоритм управления страницами
- •15. При выделении памяти необходимо учитывать следующие ограничения:
- •18. Механизмы работы с памятью. Использование виртуальной памяти.
- •19. Механизмы работы с памятью. Отображение файлов на память.
- •20. Механизмы работы с памятью. Использование «кучи».
- •21. Исследование виртуальной памяти. Системная информация.
- •22. Исследование виртуальной памяти. Статус виртуальной памяти.
- •23. Исследование виртуальной памяти. Определение состояния адресного пространства.
- •25 Компоненты файловой системы
- •26 Монтирование и демонтирование файловой системы
- •Функциональные свойства fat
- •28 Ntfs
- •29 Поняття планування та диспетчеризації.
- •30 Алгоритм циклічного планування процесів.
- •31 Алгоритм пріоритетного планування процесів.
- •32 Алгоритм планування процесів з кількома чергами.
- •33 Алгоритм адаптивно-рефлекторного планування процесів.
- •34. Поняття політики планування процесів.
- •35. Класифікація процесів з погляду планування.
- •36. Поняття процесу. Пріоритети, порядок створення та завершення
- •37. Завдання. Обмеження, створення, статистична інформація.
- •38. Поняття потоку. Створення, призупинення, поновлення та завершення потоків.
- •39. Життєвий цикл процесу. Стан процесу. Переключення станів.
- •40. Абстрактне визначення та контекст процесу. Відносини між процесами.
- •41) Критичний ресурс. Критична секція. Використання спільної змінної.
- •42) Критичний ресурс. Критична секція. Почергове виконання критичної секції.
- •43) Критичний ресурс. Критична секція. Алгоритм Деккера.
- •44) Поняття синхронізації. Виявлення та запобігання тупиків (блокувань).
- •45) Синхронізація потоків. Функції та використання моніторів.
- •46) Синхронізація. Поняття та використання семафора для критичної секції.
- •53. Понятие параллельного исполнения.
- •57. Назовите и охарактеризуйте структуру сетевых операционных систем.
- •58. Взаимодействий компонентов ос при взаимодействии компьютеров в сети.
21. Исследование виртуальной памяти. Системная информация.
Формируется функцией GetSystemInfo:
VOID GetSystemInfo (LPSYSTEM_INFO lpSystemInfo);
lpSystemInfo – адрес начала структуры типа SYSTEM_INFO с системной информацией.
Структура SYSTEM_INFO:
Typedef struct_SYSTEM_INFO{ //sinf
union{
DWORD dwOemld; //остается для совместимости с предыдущими версиями WINDOWS
struct{
WORD wProcessorArchitecture; //определяет архитектуру системного процессора (UNKNOWN, INTEL, MIPS, ALPHA, PPC, IA64, IA32_ON_WIN64, AMD64)
WORD wReserved; //резерв
};
};
DWORD dwPageSize; //размер страницы
LPVOID lpMinimumApplicationAddress; //указатель на минимальный адрес, доступный приложению и DLL
LPVOID lpMaximumApplicationAddress; //указатель на максимально допустимый адрес, доступный приложению и DLL
DWORD dwActiveProcessorMask; //определяет маску для рассматриваемого процессора системы
DWORD dwNumberOfProcessors; //количество процессоров в системе
DWORD dwProcessorType; //используется для совместимости со старыми ОС
DWORD dwAllocationGranularity; //определяет адрес выравнивания и единицу измерения выделяемой виртуальной памяти
WORD wProcessorLevel; //дополнительные сведения о процессоре
WORD wProcessorRevision; //определяет архитектурно зависимую дополнительную информацию о процессоре
}SYSTEM_INFO;
22. Исследование виртуальной памяти. Статус виртуальной памяти.
Определяется функцией GlobalMemoryStatus, которая задает текущее состояние виртуальной и физической памяти.
VOID GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer);
lpBuffer – указатель на структуру MEMORYSTATUS с информацией о памяти.
Структура MEMORYSTATUS:
typedef struct _MEMORYSTATUS {
DWORD dwLength; //размер структуры
DWORD dwMemoryLoad; //процент использования памяти
SIZE_T dwTotalPhys; //общее количество физической памяти
SIZE_T dwAvailPhys; //свободное количество байт физической памяти
SIZE_T dwTotalPageFile; //общее количество файла подкачки
SIZE_T dwAvailPageFile; //свободное количество байт файла подкачки
SIZE_T dwTotalVirtual; //общий размер виртуальной памяти
SIZE_T dwAvailVirtual; //свободное количество байт виртуальной памяти
} MEMORYSTATUS, *LPMEMORYSTATUS;
23. Исследование виртуальной памяти. Определение состояния адресного пространства.
Можно определить состояние заданного диапазона страниц в виртуальном адресном пространстве процесса с помощью функции VirtualQuery ( для того, чтобы получить информацию о диапазоне страниц произвольного процесса, следует воспользоваться функцией VirtualQueryEx).
DWORD VirtualQuery(
LPCVOID lpAddress,
PMEMORY_BASIC_INFORMATION lpBuffer,
DWORD dwLength
);
lpAddress – указатель на адрес области страниц, которые анализируются. Это значение округляется с учетом границ страницы.
lpBuffer – адрес буфера, куда записывается информация (типа MEMORY_BASIC_INFORMATION).
dwLength – размер буфера (байт).
Возвращаемое значение: действительное количество байт, занятых в буфере.
Структура MEMORY_BASIC_INFORMATION:
typedef struct _MEMORY_BASIC_INFORMATION { // mbi
PVOID BaseAddress;
PVOID AllocationBase;
DWORD AllocationProtect;
DWORD RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION;
BaseAddress – базовый адрес страничного диапазона (равный lpAddress, но округленный до границы в меньшую сторону).
AllocationBase – указатель на адрес региона, выделенного функцией VirtualAlloc (начало, конец). Страница, заданная в BaseAddress, содержится внутри этого диапазона.
AllocationProtect – определяет атрибуты доступа при первоначальном выделении памяти.
Могут использоваться флаги:
PAGE_READONLY |
Страница только для чтения. |
PAGE_READWRITE |
Чтение и запись |
PAGE_EXECUTE |
Только исполнение програмного кода |
PAGE_EXECUTE_READ |
Исполнение и чтение |
PAGE_EXECUTE_READWRITE |
Исполнение, чтение, запись |
PAGE_GUARD |
Защищенная страница. Любой доступ к странице – ошибка |
PAGE_NOACCESS |
Выключен доступ к странице, отраженной в физической памяти |
PAGE_NOCACHE |
Не кэшируется содержимое страницы. Используется в драйверах |
PAGE_WRITECOPY |
Запись в страницу приводит к тому, что процессу предоставляется личная копия этой страницы физической памяти |
PAGE_EXECUTE_WRITECOPY |
Любые действия приводят к формированию новой копии |
RegionSize – суммарный размер (в байтах) страниц, начиная с базисного адреса.
State – состояние страниц региона:
MEM_COMMIT – память выделена или в физической памяти или в страничном файле.
MEM_FREE – свободная страница, не связанная с процессом.
MEM_RESERVE – зарезервированная страница, но не связанная.
Protect – атрибуты защиты страниц региона. Могут быть заданы флаги защиты.
Type – определяет тип страниц:
MEM_IMAGE – показывает, что страницы памяти внутри области отражаются в секции изображения.
MEM_MAPPED – показывает, что страницы памяти внутри области отражаются в секции просмотра.
MEM_PRIVATE – показывает, что страницы памяти внутри области приватны (не разделяются с другими процессами).
24. Поняття та основні задачі файлових систем.
Файл – именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Цели: 1. долговременное и надежное хранение информации; 2. обеспечение совместного использования информации. Файловая система – часть ОС, включающая: 1. совокупность всех файлов на диске; 2. наборы структур данных, используемых для управления файлами (каталоги файлов, дескрипторы файлов, таблицы распределения пространства на диске); 3. комплекс системных программных средств, реализующих различные операции над файлами (создание, уничтожение, чтение и т.д.) Файловая система играет роль промежуточного слоя, экранирующего все сложности физической организации долговременного хранения данных и создающего более простую логическую модель этого хранилища, а так же предоставляющего им набор более удобных в использовании команд для манипулирования. Задачи, решаемые файловой системой зависят от способа реализации вычислительного процесса. Самый простой тип – это файловая система в однопользовательских и однопрограммных ОС. Основные функции в такой файловой системы сводятся к следующим задачам: 1. программируемый интерфейс для приложений 2. отображение логической модели файловой системы на физическую организацию хранилища данных; 3. устойчивость файловой системы к сбоям питания, ошибкам аппаратно-программных средств. В операционных однопользовательских мультипрограммируемых системах добавляется задача совместного доступа к файлам из нескольких процессов. В многопользовательских системах появляется еще одна задача – защита файлов одного пользователя от несанкционированного доступа другого пользователя.