- •1. Понятие ос. История создания и развития ос. Основные функции ос
- •2. Основные понятия концепции ос. Виды архитектур ос.
- •3. Ос общего назначения. Генерация операционной системы
- •4. Классификация ос. Разновидности современных ос.
- •5.Операционная система как виртуальная машина и как система управления ресурсами. Задачи операционной системы
- •6. Ос специального назначения. Ос, основанные на графическом интерфейсе.
- •7.Архитектуры операционных систем: монолитное ядро, многоуровневые системы, микроядро.
- •8. Характеристики ос
- •9. Вычислительные системы. Виды.
- •10. Режимы работы вычислительных систем.
- •11. Пакетные и командные файлы.
- •12. Механизм работы api-функций.
- •14. Windows
- •15. Семейство ос Unix. Преимущества Unix-подобных систем.
- •17. Файловые системы. Структура fat, ntfs. Их сравнение.
- •18. Логическая организация файловых систем.
- •19.Физическая организация файловой системы
- •20. Файловая система dos
- •21. Командный процессор command.Com
- •22. Управление оперативной памятью для dos. Виртуальная память.
- •23. Проблема настройки адресов. Концепция виртуальной памяти.
- •24 Страничная модель управления памятью: механизм преобразования адресов. Структура элемента таблицы страниц.
- •25. Страничная модель управления памятью: многоуровневые таблицы страниц, буферы быстрого преобразования адресов, инвертированные таблицы страниц.
- •26. Понятие процесса. Контекст процесса. Переключение процессов. Состояния процессов и возможные переходы между ними
- •27. Планирование процессов. Требования к алгоритмам планирования, необходимые свойства алгоритмов планирования. Вытесняющее и не вытесняющее планирование.
- •28. Процессы. Состояние процессов. Жц процесса.
- •29. Операции над процессами
- •30. Блоки управления процессами и дескрипторы процессов.
- •32. Прерывания. Синхронные и асинхронные прерывания. Обработка прерываний.
- •33. Прерывания. Системные вызовы.
- •34. Понятие потока. Реализация потоков в пространстве пользователя и в ядре.
- •35. Синхронные и асинхронные функции. Методы уведомления о завершении работы асинхронной функции. Основные операции с потоками в .Net Framework: создание потоков, функции Sleep, Join, Abort.
- •36. Выгружаемые и невыгружаемые ресурсы. Понятие взаимоблокировки. Условия взаимоблокировки.
- •37. Классификация компьютерных вирусов
- •38. Резидентные программы
- •39. Архиваторы. Форматы архиваторов.
28. Процессы. Состояние процессов. Жц процесса.
Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значения переменных), находящуюся под управлением операционной системы.
Состояние процессов:
процесс исполняется
процесс не исполняется
готовность и ожидание
исполнение
закончил исполнение
29. Операции над процессами
Системы, управляющие процессами, должны иметь возможность выполнять определенные операции над процессами, в том числе:
-создание (образование) процесса;
-уничтожение процесса;
-возобновление процесса;
-изменение приоритета процесса;
-блокирование процесса;
-пробуждение процесса;
-запуск (выбор) процесса.
Создание процесса состоит из многих операций, включая такие как:
присвоение имени процессу; включение этого имени в список имен процессов, известных системе; определение начального приоритета процесса; формирование блока управления процессом РСВ; выделение процессу начальных ресурсов.
Процесс может породить новый процесс. В этом случае первый, порождающий процесс называется родительским процессом, а второй, созданный процесс — дочерним процессом. Для создания дочернего процесса необходим только один родительский процесс. При таком подходе создается иерархическая структура процессов, подобная показанной на рис. 3.4, в которой у дочернего процесса есть только один родительский процесс, но у каждого родительского процесса может быть много дочерних процессов.
Уничтожение процесса означает его удаление из системы.
Возобновление процесса – это активизация процесса, выполнение которого было приостановлено. Операция возобновления подразумевает не только непосредственно повторный запуск процесса, но и подготовку процесса к повторному запуску с той точки, в которой он был приостановлен.
Изменение приоритета процесса, как правило, означает модификацию значения приоритета в блоке управления данным процессом.
30. Блоки управления процессами и дескрипторы процессов.
Управление процессами
Вторым по значимости понятием в операционной системе (ОС) является понятие процесса. Процесс - сущность, которая определяется по-разному. Это может быть - “упорядоченный набор команд и принадлежащих ему ресурсов”. С точки зрения ОС UNIX, процесс - это объект, зарегистрированный в специальной таблице процессов. Структура этой таблицы следующая: она позиционна (как практически и все таблице в UNIX), то есть номер записи в таблице - есть идентификатор процесса “PID”. Формируются процессы с 0 до N-1, где N - предельное число процессов, которые система может одновременно обрабатывать. Это параметр настройки ОС.
Контекст процесса - атрибут, который присутствует практически во всех ОС, в разных ОС он может называться по-разному. Контексты всех процессов размещаются в адресном пространстве ОС и содержат оперативную информацию о состоянии процесса и текущую информацию, связанную с процессом и его запуском.
Контекст содержит:
номера пользователя и группы;
указатель на индексный дескриптор текущего каталога;
специфические условия работы процесса:
- обработка сигналов;
Рассмотрим это подробнее. В ОС UNIX каждый процесс может послать другому процессу некоторое воздействие, которое называют “сигнал”; соответственно, если процесс-отправитель имеет право передать сигнал процессу-получателю, то при выполнении передачи в последнем возникает событие, связанное с сигналом.
- информация об открытых в процессе файлах;
- информация о текущем состоянии процесса на случай его приостановки;
Все присоединенные разделяемые сегменты памяти - у нас есть механизм управления разделяемыми ресурсами, и в качестве одного из разделяемых ресурсов может выступать оперативная память, в ней может быть выделен сегмент, к которому одновременно имеют доступ несколько процессов. При формировании сыновнего процесса эта часть памяти также будет унаследована;
Текущий рабочий каталог и корневой каталог; Не наследуется при создании нового процесса идентификатор процесса (почему - очевидно).Разделяемая память. Концептуально - это возможность нескольких процессов иметь общее поле оперативной памяти, и соответственно работать с этим полем, как с неким массивом, на который имеется указатель. Проблема синхронизации здесь стоит особенно остро, но базово средства работы с разделяемой памяти никакой синхронизации не предполагают.
дескриптор процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
31. Приостановка и возобновление работы процессов.
Система может приостановить процесс в следующих случаях:
-если система работает ненадежно и есть признаки, что она может отказать, то текущие процессы можно приостановить, чтобы вновь активизировать впоследствии после исправления ошибки;
-некоторые процессы можно приостанавливать в моменты кратковременных пиков нагрузки системы, с тем чтобы возобновлять их выполнение после того, как нагрузка возвратится к обычному уровню.
На рис. 3.5 показана диаграмма состояний процесса, модифицированная с учетом операций приостановки и возобновления. В диаграмму введены два новых состояния, а именно «приостановлен_готов» и «приостановлен_блокирован». На рисунке выше штриховой линии изображены активные состояния, а ниже — состояния приостановки.
Инициатором приостановки может быть либо сам процесс, либо другой процесс. В однопроцессорной машине выполняющийся процесс может приостановить только сам себя. В мультипроцессорной машине выполняющийся процесс может быть приостановлен и другим процессом, выполняющимся на другом процессоре.
Процесс, находящийся в состоянии готовности, может быть приостановлен только другим процессом. При этом происходит следующая смена состояния:
приостановка(имяпроцесса): готов ? приостановлен_готов
Процесс, находящийся в состоянии «приостановлен_готов», может быть переведен в состояние готовности другим процессом. Состояния меняются следующим образом:
?= ->
возобновление(имяпроцесса): приостановлен_готов ? готов
Заблокированный процесс может быть переведен в состояние приостановки другим процессом. При этом состояния меняются:
приостановка(имяпроцесса): блокирован ? приостановлен_блокирован
Процесс, находящийся в состоянии «приостановлен_блокирован», может быть активизирован другим процессом. При этом состояния меняются:
возобновление(имяпроцесса): приостановлен_блокирован ? блокирован
Рис. 3.5 Диаграмма состояний процесса с операциями приостановки и возобновления