- •Понятие операционной системы (ос). Основные функции ос.
- •Сервисы, предоставляемые типичными ос. Основные этапы развития ос.
- •Классификация ос: по назначению, по режиму обработки задач, по способу взаимодействия с пользователем. Компоненты типичной ос.
- •Типы структур ос. Режимы работы ос. Понятие операционной и программной среды.
- •Системный таймер. Программные таймеры. Сторожевой таймер.
- •Утилиты. Понятие транслятора, компилятора, интерпретатора, ассемблера, дизассемблера, компоновщика, отладчика.
- •Преимущества многозадачного режима работы ос. Понятие процесса. Основные причины создания, завершения процессов в вычислительной системе (вс).
- •Модели процесса: с двумя состояниями, с пятью состояниями.
- •Описание процессов: атрибуты, управляющий блок (дескриптор). Действия ос при создании, переключении процессов.
- •Подходы к разработке кода ос по отношению к процессам.
- •Понятие потока. Сравнение процессов и потоков. Понятие, преимущества многопоточности.
- •Способы реализации потоков: в пространстве пользователя, в пространстве ядра, смешанная. Кратко
- •Подробно
- •Виды планирования процессов (потоков). Краткосрочное планирование: режимы решения, стратегии.
- •Стратегии распределения ресурсов вс: одноочередные, многоочередные.
- •Основные режимы работы вс.
- •Основные категории ресурсов ос. Типы доступа к ресурсам ос.
- •Понятие взаимной блокировки (тупика). Примеры, условия возникновения, обнаружение, предупреждение взаимоблокировок.
- •Понятие параллельных, последовательных процессов (потоков). Виды взаимодействия процессов (потоков). Проблемы взаимодействия параллельных процессов (потоков). Пример состояния гонок.
- •Понятие взаимного исключения, критического ресурса, критической секции. Проблемы, условия, способы взаимного исключения.
- •Механизмы взаимодействия процессов (потоков): очереди сообщений, разделяемая память, обмен сообщениями, сокеты.
- •Понятие семафора. Решение задачи взаимоисключения с использованием семафора. Понятие сигнализирующего семафора, мьютекса, монитора.
- •Проблема читателей-писателей
- •Вторая проблема читателей-писателей (приоритет писателя)
- •Третья проблема читателей-писателей (честное распределение ресурсов)
- •Понятие памяти. Функции подсистемы управления памятью. Типы адресов. Понятие виртуального адресного пространства (вап). Типы структур вап. Способы преобразования виртуальных адресов в физические.
- •Механизмы распределения памяти: разделами, свопинг, виртуальная память.
- •Механизмы распределения памяти: страничный.
- •Механизмы распределения памяти: сегментный, сегментностраничный.
- •Принципы организации подсистемы ввода-вывода. Способы реализации ввода-вывода. Уровни подсистемы ввода-вывода.
- •Понятие файловой системы (фс), файла. Функции фс.
- •Физическая организация фс, файла. Логическая организация фс.
- •Свойства безопасной информационной системы. Понятие угрозы, атаки, риска. Классификация угроз. Функции ос по защите данных.
- •Современне ос. Тенденции, перспективы развития современных ос.
Преимущества многозадачного режима работы ос. Понятие процесса. Основные причины создания, завершения процессов в вычислительной системе (вс).
Многозадачный режим работы операционной системы позволяет пользователям выполнять несколько задач одновременно, что увеличивает производительность и эффективность работы. Например, пользователь может работать с документами, просматривать веб-страницы и слушать музыку одновременно.
В программировании, процесс - это экземпляр программы, выполняющейся в системе. Он включает в себя набор ресурсов, выделенных для программы, таких как память, процессорное время и открытые файлы. Процесс может состоять из одного или нескольких потоков выполнения, которые работают совместно для достижения общей цели процесса.
Процессы могут быть созданы динамически во время выполнения программы, обычно для обработки определенных задач или функций. Они также могут быть запущены вручную пользователем или системой.
Создание процесса может быть вызвано различными причинами. Например:
Запуск программы пользователем.
Выполнение потока в новом процессе для улучшения производительности или изоляции ресурсов.
Создание фонового процесса для выполнения длительной операции или обслуживания системы.
Автоматическое создание процесса для обработки системных запросов или событий.
Завершение процесса может произойти по следующим причинам:
Программа завершает свою работу.
Процесс завершается по команде пользователя или системы.
Происходит ошибка, и процесс аварийно завершается.
Процесс не может получить необходимые ресурсы или выполнить свою задачу, и система его уничтожает.
BOOL CreateProcess (
LPCTSTR lpApplicationName, // имя исполняемого модуля
LPTSTR lpCommandLine, // командная строка
LPSECURITY_ATTRIBUTES lpProcessAttributes, // атрибуты защиты процесса
LPSECURITY_ATTRIBUTES lpThreadAttributes, // атрибуты защиты потока
BOOL bInheritHandle, // наследуемый ли дескриптор
DWORD dwCreationFlags, // флаги создания процесса
LPVOID lpEnvironment, // блок новой среды окружения
LPCTSTR lpCurrentDirectory, // текущий каталог
LPSTARTUPINFO lpStartUpInfo, // вид главного окна
LPPROCESS_INFORMATION lpProcessInformation // информация о процессе
);
Создание процесса в С++, используя Win32 API- это набор функций и структур данных, которые используются для разработки приложений в среде Microsoft Windows. Он предоставляет доступ к низкоуровневым функциям операционной системы, таким как работа с окнами,процессами и потоками, управление памятью, взаимодействие с пользователем и другие.
Функция TerminateProcess завершает указанный процесс. Функция WaitForSingleObject ждет, пока указанный процесс не завершится.
CreateProcess (NULL, lpszCommandLine, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &piCom);//создание процесса\
CloseHandle(pi.hThread); // закрытие потока
CloseHandle(pi.hProcess);// остановка процесса, для закрытия процесса необходимо так же закрыть и поток