Каждая ос состоит из трех обязательных частей Ядро
Скачать 87.34 Kb.
|
Управление процессамиПроцесс – это программный модуль, выполняемый в ЦП. ОС контролирует следующую деятельность: создание и удаление процессов; планирование процессов; синхронизация; коммуникация; разрешение тупиковых ситуаций. Процесс включает: программный код; данные; содержимое стека; содержимое адресного и других регистров процессора. Программа – это план действий, а процесс – это само действие. Для одной программы могут быть созданы несколько процессов. За время существования процесс многократно изменяет свое состояние. Состояния процесса: новый (только что создан); выполняемый (команды программы выполняются в ЦП); ожидающий (процесс ожидает завершения некоторого события); готовый (процесс ожидает освобождения ЦП); завершенный (завершил свою работу). Переход из одного состояния в другое не может выполняться произвольно, для этого в ОС существует таблица управления процессом. Планирование процессов. Понятие очереди. Распределение процессов между имеющимися ресурсами носит название планирование процессов. Одним из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей ресурсов. Новые процессы находятся во входной очереди, часто называемой очередью работ – заданий. Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса – адресного пространства основной памяти. Готовые к выполнению процессы располагаются в основной памяти и связаны очередью готовых процессов. Процессы в этой очереди ожидают освобождения ресурса процессорное время. Процесс в состоянии ожидания завершения операции ввода-вывода находится в одной из очередей к оборудованию ввода-вывода. При прохождении через ПК процесс мигрирует между различными очередями под управлением программы, которая называется планировщик. ОС, обеспечивающая режим мультипрограммирования, обычно включает 2 планировщика – долгосрочный и краткосрочный. Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, должен быть переведен в очередь готовых процессов в случае освобождения ресурсов памяти. Краткосрочный планировщик решает, какой из процессов, находящихся в очереди готовых процессов, должен быть передан на выполнение в ЦП. В системах разделения времени долгосрочный планировщик отсутствует, каждый новый процесс сразу же помещается в основную память. Взаимодействие процессов. Совместно выполняемые процессы могут быть либо независимыми, либо взаимодействующими. При взаимодействии процессов создается совместный буфер для взаимного обмена данными. Взаимодействие заключается в передаче данных между процессами или совместном использовании ресурсов и реализуется с помощью таких механизмов, как транспортеры, очереди, сигналы, семафоры. Транспортеры (каналы) – являются средством взаимодействия родственных процессов, представляют собой область памяти, имеющую файловую организацию, для которой обеспечивается запись и считывание данных в транспортере. Очереди – эти механизмы могут обеспечивать передачу или использование общих данных без перемещения данных, а с передачей элемента очереди, содержащего указатель данных и объем массива данных. Сигналы – являются механизмами передачи требования от одного процесса к другому на немедленное выполнение действия. Характер выполняемых действий при возникновении сигнала: обработка системной ошибки при появлении сигнала, блокирование сигнала, передача управления подпрограмме. Семафоры – являются механизмами передачи сообщений от одного потока к другому о наступлении некоторого события. Различают семафоры системные и оперативной памяти. В операционных системах OS/2 и Microsoft Windows существует специальный механизм для взаимодействия процессов в реальном масштабе времени. Этот механизм называется DDE (DynamicDataExchange– динамический обмен данными). Он стандартизирует процесс обмена командами, сообщениями и объектами для обработки между задачами. Наиболее распространенным процессом, для которого используется DDE, является печать. Другим интерфейсом для обмена данными является OLE (ObjectLinkingandEmbedding– связывание и встраивание объектов). Этот Интерфейс позволяет хранить объекты, созданные одной программой, в объектах, созданных другой программой, а также редактировать (печатать) их без нарушения целостности информации и связей. Одним из наиболее простых, удобных и интуитивных интерфейсов межпрограммного взаимодействия является буфер обмена – Clipboard. Буфер обмена может содержать в себе один информационный объект – фрагмент текста, рисунок и т.д. С помощью системного вызова процесс может получить копию информации, содержащейся в буфере обмена, или сам поместить объект в буфер, при этом старое содержимое буфера теряется. Таким образом, программы получают простой, но эффективный способ обмена информацией в процессе своей работы. Планирование работы процессора.Краткосрочный планировщик выбирает процессы из очереди готовых процессов и передает их на выполнение в ЦП. Существуют различные алгоритмы или стратегии решения этой задачи. |