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

Обновлено: 07.07.2024

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

планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

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

Классификация ос

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

Особенности алгоритмов управления ресурсами

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

Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:

однозадачные (например, MS-DOS, MSX) и

многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

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

однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

многопользовательские (UNIX, Windows NT).

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

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

невытесняющая многозадачность (NetWare, Windows 3.x);

вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). 2

Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки -мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

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

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Лекция 1 Введение.

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

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

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

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

Программное обеспечение (ПО) компьютера можно разделить на общесистемное и прикладное программное обеспечение.

Прикладное программное обеспечение можно в свою очередь разделить на две группы программ: средства разработки и приложения.

1.Средства разработки — это инструменты программиста. Традиционными средствами разработки являются системы (среды) программирования (СП), использующие алгоритмические языки программирования (ЯП).

Основой систем программирования являются трансляторы, т. е. программы, обеспечивающие перевод исходного текста программы (на ЯП) на машинный язык (объектный код), которые бывают двух типов — интерпретаторы и компиляторы.

2. Приложения — это программные продукты, предназначенные для решения задач в какой либо конкретной предметной области. Многообразие приложений соответствует спектру задач, которые могут быть решены алгоритмически.

Ранние ЭВМ не предусматривали ОС, поэтому процессы запуска/остановки программы, присоединения внешних носителей управлялись вручную или из прикладной программы. В середине 60х годов ряд ведущих фирм производителей ЭВМ — IBM , ICL , практически одновременно приступили к выпуску моделей машин (соответственно — IBM 360, System 4, Iris 80), оснащенных операционными системами (орега ting system ).

Появившиеся в последующий период ОС ориентировались исключительно на интерактивную работу пользователей — RSX , VMS и пр.

В настоящее время наиболее распространенной является интерактивная ОС UNIX , версии которой разработаны практически для всех моделей ЭВМ. Для I ВМ РС-совместимых ЭВМ (ПЭВМ) в свое время была разработана UNIX -подобная система MS-DOS (фирма Microsoft ).

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

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

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

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

ОС предназначены для выполнения следующих основных (тесно взаимосвязанных) функций:

связь с внешней средой.

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

ОС как расширенная машина

Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы . В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.

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

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

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

Управление ресурсами включает решение двух общих , не зависящих от типа ресурса задач:

планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

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

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

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

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

Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач:

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

2. удовлетворение запросов на ресурсы;

3. отслеживание состояния и учет использования ресурса — то есть поддержа­ние оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;

4. разрешение конфликтов между процессами.

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

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

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

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

Автономного компьютера

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

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

Важнейшей частью операционной системы, непосредственно влияющей на функ­ционирование вычислительной машины, является подсистема управления про­цессами.

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

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

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

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

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

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

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

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

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

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

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

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

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

Операционная система как средство распределения и управления ресурсами

Бесплатное участие. Свидетельство СМИ сразу.
До 500 000 руб. ежемесячно и 10 документов.

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

Операционная система как средство распределения и управления ресурсами.docx

Операционная система как средство распределения и управления ресурсами Идея о том, что операционная система (ОС) прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач: ­планирование ресурса ­ то есть определение, кому когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс; ­отслеживание состояний ресурса ­ то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов ­ какое количество ресурса уже распределено, а какое свободно. Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления времени, системой пакетной обработки или системой реального времени. Одной из важных задач операционной системы является управление имеющимися в ее распоряжении ресурсами (основной памятью, устройствами ввода­вывода, процессором), а также их распределение между разными активными процессами. При разработке стратегии распределения ресурсов необходимо принимать во внимание следующие факторы. Равноправность. Обычно желательно, чтобы всем процессам, претендующим на какой­ то определенный ресурс, предоставлялся к нему одинаковый доступ. В особенности это касается заданий, принадлежащих к одному и тому же классу, т.е. заданий с аналогичными требованиями к ресурсам. Дифференциация отклика. С другой стороны, может понадобиться, чтобы операционная система по­разному относилась к заданиям различного класса, имеющим различные запросы. Нужно попытаться сделать так, чтобы операционная система выполняла распределение ресурсов в соответствии с целым набором требований. Операционная система должна действовать в зависимости от обстоятельств. Например, если какой­то процесс ожидает доступа к устройству ввода­вывода, операционная система может спланировать выполнение этого процесса так, чтобы как можно скорее освободить устройство для дальнейшего использования другими процессами. Эффективность. Операционная система должна повышать пропускную способность системы, сводить к минимуму время ее отклика и, если она работает в системе разделения времени, обслуживать максимально возможное количество пользователей. Эти требования несколько противоречат друг другу; насущной проблемой исследования операционных систем является поиск нужного соотношения в каждой конкретной ситуации. Задача управления ресурсами и их распределения типична для исследований операционных систем; здесь могут применяться математические результаты, полученные в этой области. Кроме того, важно измерять активность системы, что позволяет следить за ее производительностью и вносить коррективы в ее работу. На рис. 2.11 показаны основные элементы операционной системы, участвующие в планировании процессов и распределении ресурсов в многозадачной среде. Операционная система поддерживает несколько очередей, каждая из которых является просто списком процессов, ожидающих своей очереди на использование какого­то ресурса. В краткосрочную очередь заносятся процессы, которые (или, по крайней мере, основные части которых) находятся в основной памяти и готовы к выполнению. Выбор очередного процесса осуществляется краткосрочным планировщиком, или диспетчером. Общая стратегия состоит в том, чтобы каждому находящемуся в очереди процессу давать доступ по очереди; такой метод называют циклическим (round­robin). Кроме того, процессам можно присваивать различный приоритет. Передача управления процессу Рис. 2.11. Ключевые элементы многозадачной операционной системы В долгосрочной очереди находится список новых процессов, ожидающих возможности использовать процессор. Операционная система переносит их из долгосрочной очереди в краткосрочную. В этот момент процессу необходимо выделить определенную часть основной памяти. Таким образом, операционная система должна следить за тем, чтобы не перегрузить память или процессор, добавляя в систему слишком много процессов. К одному и тому же устройству ввода­вывода могут обращаться несколько процессов, поэтому для каждого устройства создается своя очередь. И здесь операционная система должна решать, какому процессу предоставить освободившееся устройство ввода­вывода в первую очередь. Во время прерывания управление переходит к обработчику прерываний, который является частью операционной системы. В силу своей функциональности процесс может обратиться к некоторому сервису операционной системы, например к драйверу устройства ввода­ вывода. При этом происходит вызов обработчика обращений к сервисам, который становится точкой входа в операционную систему. Независимо от того, произошло ли прерывание или обращение к сервису, после его обработки планировщик выберет из краткосрочной очереди процесс для выполнения. Далее в этом разделе приводится чисто функциональное описание; эти модули в различных операционных системах имеют разные особенности и устройство.

Читайте также: