- •Понятие операционной системы (ос). Основные функции ос.
- •Сервисы, предоставляемые типичными ос. Основные этапы развития ос.
- •Классификация ос: по назначению, по режиму обработки задач, по способу взаимодействия с пользователем. Компоненты типичной ос.
- •Типы структур ос. Режимы работы ос. Понятие операционной и программной среды.
- •Системный таймер. Программные таймеры. Сторожевой таймер.
- •Утилиты. Понятие транслятора, компилятора, интерпретатора, ассемблера, дизассемблера, компоновщика, отладчика.
- •Преимущества многозадачного режима работы ос. Понятие процесса. Основные причины создания, завершения процессов в вычислительной системе (вс).
- •Модели процесса: с двумя состояниями, с пятью состояниями.
- •Описание процессов: атрибуты, управляющий блок (дескриптор). Действия ос при создании, переключении процессов.
- •Подходы к разработке кода ос по отношению к процессам.
- •Понятие потока. Сравнение процессов и потоков. Понятие, преимущества многопоточности.
- •Способы реализации потоков: в пространстве пользователя, в пространстве ядра, смешанная. Кратко
- •Подробно
- •Виды планирования процессов (потоков). Краткосрочное планирование: режимы решения, стратегии.
- •Стратегии распределения ресурсов вс: одноочередные, многоочередные.
- •Основные режимы работы вс.
- •Основные категории ресурсов ос. Типы доступа к ресурсам ос.
- •Понятие взаимной блокировки (тупика). Примеры, условия возникновения, обнаружение, предупреждение взаимоблокировок.
- •Понятие параллельных, последовательных процессов (потоков). Виды взаимодействия процессов (потоков). Проблемы взаимодействия параллельных процессов (потоков). Пример состояния гонок.
- •Понятие взаимного исключения, критического ресурса, критической секции. Проблемы, условия, способы взаимного исключения.
- •Механизмы взаимодействия процессов (потоков): очереди сообщений, разделяемая память, обмен сообщениями, сокеты.
- •Понятие семафора. Решение задачи взаимоисключения с использованием семафора. Понятие сигнализирующего семафора, мьютекса, монитора.
- •Проблема читателей-писателей
- •Вторая проблема читателей-писателей (приоритет писателя)
- •Третья проблема читателей-писателей (честное распределение ресурсов)
- •Понятие памяти. Функции подсистемы управления памятью. Типы адресов. Понятие виртуального адресного пространства (вап). Типы структур вап. Способы преобразования виртуальных адресов в физические.
- •Механизмы распределения памяти: разделами, свопинг, виртуальная память.
- •Механизмы распределения памяти: страничный.
- •Механизмы распределения памяти: сегментный, сегментностраничный.
- •Принципы организации подсистемы ввода-вывода. Способы реализации ввода-вывода. Уровни подсистемы ввода-вывода.
- •Понятие файловой системы (фс), файла. Функции фс.
- •Физическая организация фс, файла. Логическая организация фс.
- •Свойства безопасной информационной системы. Понятие угрозы, атаки, риска. Классификация угроз. Функции ос по защите данных.
- •Современне ос. Тенденции, перспективы развития современных ос.
Системный таймер. Программные таймеры. Сторожевой таймер.
Системный таймер - это механизм, который позволяет программам выполнять определенные действия через определенные промежутки времени. Он используется для выполнения периодических задач, таких как обновление экрана или обработка событий. Они могут быть реализованы с помощью аппаратных таймеров процессора, которые обеспечивают высокую точность, или программных таймеров, которые используют системные вызовы для генерации прерываний.
Программный таймер работает аналогично системному таймеру, но он не зависит от операционной системы и может быть использован для выполнения задач, которые не могут быть выполнены с помощью системного таймера. Они представляют собой набор инструментов и библиотек, которые обеспечивают выполнение программ на компьютере.
Сторожевые таймеры - это программы, которые следят за работой других программ и перезапускают их, если они перестают отвечать на запросы. Они работают на системном уровне и могут быть использованы для обеспечения корректной работы других программ.
Утилиты. Понятие транслятора, компилятора, интерпретатора, ассемблера, дизассемблера, компоновщика, отладчика.
Утилиты - это программы, которые выполняют различные функции, связанные с обслуживанием и улучшением работы компьютера. Утилиты предоставляют доступ к возможностям (параметрам, настройкам, установкам), недоступным без их применения, либо делают процесс изменения некоторых параметров проще (автоматизирую12т его).
Утилиты зачастую входят в состав операционных систем или идут в комплекте со специализированным оборудованием. Можно выделить следующие группы утилит: Дисковые утилиты- Дефрагментаторы, Проверка дисков( Scandisk), Очистка дисков(CCleaner ), Разметка дисков( GParted ), Резервное копирование, Сжатие дисков; Утилиты работы с реестром- CCleaner; Утилиты мониторинга и бенчмарки и другие.
Транслятор - это программа, которая переводит исходный код программы на язык, понятный компьютеру. Трансляторы могут быть компиляторами или интерпретаторами.
Компилятор - это программа, которая читает исходный код программы и создает исполняемый файл, который может быть запущен на любом компьютере. Компиляторы обычно работают быстро, но создают большие исполняемые файлы.
Интерпретатор - это программа, которая читает и выполняет исходный код программы построчно. Интерпретаторы обычно работают медленнее, чем компиляторы, но создают меньшие исполняемые файлы.
Ассемблер - это программа, которая переводит код на языке ассемблера в машинный код, понятный процессору. Ассемблеры обычно используются для написания небольших программ или для изучения работы процессора.
Дизассемблер - это программа, которая преобразует исполняемый файл обратно в код на языке ассемблера. Дизассемблеры используются для анализа исполняемых файлов и изучения их работы.
Компоновщик - это программа, которая объединяет несколько объектных файлов в один исполняемый файл.
Отладчик - инструмент, используемый для поиска и устранения ошибок в программах. Они позволяют выполнять программу шаг за шагом, отслеживать значения переменных, проверять условия и точки сбоев, а также визуализировать процесс выполнения кода.