Управление процессами


Основные функции операционных систем

 

Назначение операционной системы

Операционная система компьютера представляет собой комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой компьютера с другой стороны. В соответствии с этим определением ОС выполняет две группы функций:

  • предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобней работать и которую легче программировать;
  • повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторым критерием.

ОС как виртуальная машина

Для того чтобы успешно решать свои задачи, современный пользователь или даже прикладной программист может обойтись без досконального знания аппаратного устройства компьютера. Ему не обязательно быть в курсе того, как функционируют различные электронные блоки и электромеханические узлы компьютера. Предоставляя пользовательский интерфейс и интерфейс прикладного программирования, ОС избавляет и пользователя и программиста от знания подробностей аппаратуры.

ОС как система управления ресурсами

К числу основных ресурсов современных вычислительных систем могут быть отнесены такие ресурсы, как процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие. Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач:

  • планирование ресурса —определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс;
  • удовлетворение запросов на ресурсы;
  • отслеживание состояния и учет использования ресурса — то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;
  • разрешение конфликтов между процессами.

Функциональные компоненты операционной системы

Наиболее важными подсистемами управления ресурсами являются подсистемы управления процессами, памятью, файлами и внешними устройствами, а подсистемами, общими для всех ресурсов, являются подсистемы пользовательского интерфейса, зашиты данных и администрирования.

Управление процессами

Процесс - это единица работы вычислительной системы, которую можно определить как некоторую заявку на потребление системных ресурсов.

Чтобы процесс мог быть выполнен, операционная система должна назначить ему

  • область оперативной памяти, в которой будут размещены коды и данные процесса,
  • предоставить ему необходимое количество процессорного времени.
  • доступ к таким ресурсам, как файлы и устройства ввода-вывода.

 

Для каждого вновь создаваемого процесса ОС генерирует системные информационные структуры, которые содержат

  • данные о потребностях процесса в ресурсах вычислительной системы,
  • данные о фактически выделенных ему ресурсах.
  • вспомогательные данные, характеризующие историю пребывания процесса в системе (какую долю времени процесс потратил на операции ввода-вывода, а какую на вычисления), его текущее состояние (активное или заблокированное),
  • степень привилегированности процесса (значение приоритета).

В мультипрограммной ОС одновременно может существовать несколько процессов, которые претендуют на одни и те же ресурсы, следовательно в обязанности ОС входит:

  • поддержание очередей заявок процессов на ресурсы, например очереди к процессору, к принтеру, к последовательному порту.
  • защита ресурсов, выделенных данному процессу, от остальных процессов.
  • организация совместного использования ресурсов, например разрешать доступ к некоторой области памяти нескольким процессам.
  • Запоминание и восстановление контекста процесса - информация о состоянии регистров и программного счетчика, режимов работы процессора, указателей на открытые файлы, о незавершенных операциях ввода-вывода, кодах ошибок, выполняемых данным процессом системных вызовов и т. д.
  • синхронизации процессов, позволяющие процессу приостанавливать свое выполнение до наступления какого-либо события в системе, например завершения операции ввода-вывода, осуществляемой по его запросу операционной системой.

Таким образом, подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает синхронизацию процессов, а также обеспечивает взаимодействие между процессами

 

Управление памятью

Память является для процесса таким же важным ресурсом, как и процессор, так как процесс может выполняться процессором только в том случае, если его коды и данные (не обязательно все) находятся в оперативной памяти. Управление памятью включает

  • распределение имеющейся физической памяти между всеми существующими в системе в данный момент процессами,
  • загрузку кодов и данных процессов в отведенные им области памяти,
  • настройку адресно-зависимых частей кодов процесса на физические адреса выделенной области,
  • защиту областей памяти каждого процесса.

Существует большое разнообразие алгоритмов распределения памяти. Они могут отличаться количеством выделяемых процессу областей памяти (в виде одной непрерывной области или в виде нескольких несмежных областей), степенью свободы границы областей (жестко зафиксированных или динамически перемещаемых ). В некоторых системах распределение памяти выполняется страницами фиксированного размера, а в других — сегментами переменной длины. Одним из наиболее популярных способов управления памятью в современных ОС является виртуальная память.

Защита памяти — это избирательная способность предохранять выполняемую задачу от записи или чтения памяти, назначенной другой задаче. Правильно написанные программы не пытаются обращаться к памяти, назначенной другим. Однако реальные программы часто содержат ошибки, в результате которых такие попытки иногда предпринимаются. Средства защиты памяти, реализованные в операционной системе, должны пресекать несанкционированный доступ процессов к чужим областям памяти.

.2.3 Управление файлами и внешними устройствами

Способность ОС к «экранированию» сложностей реальной аппаратуры проявляется в одной из основных подсистем ОС — файловой системе. Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа. Для удобства работы с данными файлы группируются в каталоги, которые, в свою очередь, образуют группы — каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами такие действия, как поиск по имени, удаление, вывод содержимого на внешнее устройство, изменение и сохранение содержимого.

При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью. Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру. Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive — управлять, вести). Драйвер может управлять единственной моделью устройства, или же группой устройств определенного типа. Поддержание высокоуровневого унифицированного интерфейса прикладного программирования к разнородным устройствам ввода-вывода является одной из наиболее важных задач ОС. Такой унифицированный интерфейс в большинстве ОС строится на основе концепции файлового доступа : обмен с любым внешним устройством выглядит как обмен с файлом, имеющим имя и представляющим собой неструктурированную последовательность байтов. В качестве файла может выступать как реальный файл на диске, так и алфавитно-цифровой терминал, печатающее устройство или сетевой адаптер. Здесь мы опять имеем дело со свойством ОС подменять реальную аппаратуру удобными для пользователя и программиста абстракциями.



Дата добавления: 2016-06-05; просмотров: 3931;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.