- •Экзаменационные вопросы по дисциплине «Операционные системы»
- •Что называется процессом и потоком?
- •Планирование процессов и потоков
- •Создание процессов
- •Создание потоков
- •Планирование и диспетчеризация потоков (процессов)
- •Состояние потока
- •Функции ос по управлению памятью?
- •Типы адресов?
- •Назовите методы распределения памяти? Управление памятью
- •Типы адресов
- •Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Понятие виртуальной памяти?
- •Стратегии управления виртуальной памятью? Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •Структура файла, Задачи файловой системы? ипы файлов
- •Логическая организация файла
- •Физическая организация и адрес файла? Физическая организация и адрес файла
- •Развитие операционных систем. Требования к ос. Сетевые ос.
- •Назначение и состав ос. Операционная система: назначение и состав
- •Функциональные компоненты ос.
- •Понятие о ядре и вспомогательных модулях ос.
- •Структура ядра ос. Многослойная структура.
Создание потоков
В многопоточной системе при создании процесса создается хотя бы один поток. Для потока ОС генерирует описатель потока (идентификатор потока, данные о правах, приоритете, состояние потока и пр.).Исходное состояние потока - приостановленное.
Поток может породить другой поток - потомок. При завершения потока-родителя используются разные алгоритмы. Асинхронное завершение предполагает продолжение выполнения потоков-потомков после завершения потока-родителя. Синхронное завершение потока-родителя приводит к завершению всех его потомков.
Пример создания потоков в Windows (object Pascal):
T=TThread.Create(false)
Пример удаления потока:
T.Suspend; T.Terminate; T.Free
Планирование и диспетчеризация потоков (процессов)
Планирование означает определение момента: когда прервать выполнение активного потока и какой поток активизировать Планирование выполняется на основе описателей потоков. Применяются разные алгоритмы планирования. В большинстве ОС планирование динамическое, т.е. решения принимаются во время работы ОС на основе анализа текущей ситуации. Другой тип планирования статический, в которых весь набор одновременно выполняемых задач определен заранее (off-line), например по расписанию. Такой тип планирования применяется в специализированных ОС, в системах реального времени.
Диспетчеризация: реализация результатов планирования. Включает в себя:
· переключение потоков;
· сохранение контекста текущего потока;
· загрузка контекста нового потока;
· запуск нового потока.
Сохранение, загрузка и запуск потоков выполняются совместно с аппаратными средствами.
Состояние потока
Поток может находится в одном из трех основных состояния:
· Выполнение - активное;
· Ожидание - пассивное, заблокирован по внутренним причинам;
· Готовность - пассивное, заблокирован в связи с внешними обстоятельствами.
Функции ос по управлению памятью?
Память компьютера, или основная память, или оперативная память, или ОЗУ играет особую роль. Это обусловлено тем, что программа может выполнятся только в том случае если она находится в памяти. В дальнейшем, основную память будем называть ОЗУ.
Память распределяется между пользовательскими и системными программами ОС.
К основным функциям ОС по управлению памятью относятся:
· Учет свободной и занятой памяти;
· Выделение памяти процессам и ee освобождение;
· Вытеснение кодов и данных процессов на диск, когда памяти не хватает и возврат на место;
· Настройка адресов на конкретную область физической памяти;
· Дефрагментация;
· Защита памяти.
Типы адресов?
Типы адресов
Для идентификации команд программы и данных используются адреса.
Адреса подразделяются на:
· Символьные имена. Присваивает программист (например метки);
· Виртуальные адреса. Формирует транслятор. Начальный адрес равен нулю;
· Физические адреса - номера ячеек памяти, где в действительности будут расположены команды и данные.
Совокупность виртуальных адресов составляет виртуальное адресное пространство. Виртуальное адресное пространство определяется разрядностью компьютера. Для 32-разрядных – это максимум FFFFFFFF, что составляет 4 Гб.
Существует два основных типа представления виртуальных адресов:
· Линейная, при которой адрес начала всегда равен нулю, а адрес целое число;
· Деление на сегменты, при котором адрес – это пара чисел (n,m), где n- номер сегмента, m- смещение.
Некоторые понятия связанные с виртуальными адресами
Максимально возможное виртуальное адресное пространство(ВАП) – определяется разрядностью процессора. Для 32 – разрядного Intel Pentium эта величина составляет 4Гб.
Назначенное ВАП – действительно необходимое процессу для работы. Его также называют образом процесса. Назначенное ВАП может превышать физический объем памяти. На этом основан механизм виртуальной памяти.
ВАП и виртуальная память – это разные механизмы для ОС. ОС может поддерживать ВАП, но механизм виртуальной памяти может при этом отсутствовать. Например, в случае превышения физической памяти над ВАП любого процесса. Системная и пользовательская части ВАП (по 2 Гб каждая).