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

Автор: Пользователь скрыл имя, 22 Апреля 2014 в 16:11, реферат

Краткое описание

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

Оглавление

Введение....................................................................................................................................................3
Управление ресурсами .............................................................................................................................5
Особенности алгоритмов управления ресурсами. .................................................................................8
Поддержка многозадачности...............................................................................................................8
Поддержка многопользовательского режима....................................................................................9
Вытесняющая и не вытесняющая многозадачность...........................................................................9
Поддержка многонитевости...............................................................................................................10
Многопроцессорная обработка .........................................................................................................10
Распределение ресурсов согласно алгоритму банкира .......................................................................12
Недостатки алгоритма банкира..........................................................................................................12
Приложение.................................................................

Файлы: 1 файл

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

— 140.00 Кб (Скачать)

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный горный университет»

 

Кафедра информатики

 

 

 

 

РЕФЕРАТ

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

по дисциплине «Операционные системы»

 

 

Выполнила

Группа

Проверил

 

Оглавление

 

Введение

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

К числу основных ресурсов  современных вычислительных систем могут быть отнесены такие ресурсы, как процессоры, основная память, таймеры, наборы данных, принтеры, диски, накопителя на магнитных лентах, сетевые устройства и некоторые другие. Ресурсы распределяются между процессами. Процесс (задача) представляет собой базовое понятие большинства современных операционных систем и часто кратко определяется как программа в стадии выполнения. Программа - статический объект, представляющий собой файл с кодами и данными. Процесс – это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы. Например, операционную систему может создать процесс в ответ на команду пользователя run prg1.exe, где prg1.exe – это имя файла, в котором хранится код программы.

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

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

 

 

 

Управление ресурсами

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

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

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

 

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

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

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

Задача организации эффективного совместного использования ресурсов несколькими процессами является весьма сложной и сложность это порождается в основном случайным характером возникновения запросов на потребление ресурсов. В мультипрограммной системе образуются очереди заявок от одновременно выполняемых программ к разделяемым ресурсам компьютера: процессору, страницы памяти, к принтеру, к диску. Операционная система организует обслуживание этих очередей по разным алгоритмам: в порядке поступления, на основе приоритетов, кругового обслуживания и т.д. Анализ и определение оптимальных дисциплин ОБСЛУЖИВАНИЯ ЗАЯВОК является предметом специальной области прикладной математики – теории массового обслуживания. Эта теория иногда используется для оценки эффективности тех или иных алгоритмов управления очередями в операционных системах. Очень часто в операционных системах реализуются и эмпирические алгоритмы обслуживания очередей, прошедшие проверку практикой.

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

 

 

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

 

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

 

Поддержка многозадачности

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

однозадачные (например, 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).

 

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

Поддержка многонитевости

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

 

Многопроцессорная обработка

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

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

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

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

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

 

Распределение ресурсов согласно алгоритму банкира

 

Сейчас уже должно быть ясно, каким образом осуществляется распределение ресурсов согласно алгоритму банкира, который предложил Дейкстра. Условия «взаимоисключения», «ожидания дополнительных ресурсов» и «неперераспределяемости» выполняются. Процессы могут претендовать на монопольное использование ресурсов, которые им требуются. Процессам реально разрешается удерживать за собой ресурсы, запрашивая и ожидая выделения дополнительных ресурсов, причем ресурсы нельзя отбирать у процесса, которому они выделены. Пользователи не ставят перед системой особенно сложных задач, запрашивая в каждый момент времени только один ресурс. Система может либо удовлетворить, либо отклонить каждый запрос. Если запрос отклоняется, пользователь удерживает за собой уже выделенные ему ресурсы и ждет определенный конечный период времени, пока этот запрос в конце концов не будет удовлетворен. Система удовлетворяет только те запросы, при которых ее состояние остается надежным. Запрос пользователя, приводящий к переходу системы в ненадежное состояние, откладывается до момента, когда его все же можно будет выполнить. Таким образом, поскольку система всегда поддерживается в надежном состоянии, рано или поздно (т. е. в течение конечного времени) все запросы можно будет удовлетворить и все пользователи смогут завершить свою работу.

 

Недостатки алгоритма банкира

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

  •   Алгоритм банкира исходит из фиксированного количества распределяемых ресурсов. Поскольку устройства, представляющие ресурсы, зачастую требуют технического обслуживания либо из-за возникновения неисправностей, либо в целях профилактики, мы не можем считать, что количество ресурсов всегда остается фиксированным.
  •   Алгоритм требует, чтобы число работающих пользователей оставалось постоянным. Подобное требование также является нереалистичным. В современных мультипрограммных системах количество работающих пользователей все время меняется. Например, большая система с разделением времени вполне может обслуживать 100 или более пользователей одновременно. Однако текущее число обслуживаемых пользователей непрерывно меняется, быть может, очень часто, каждые несколько секунд.
  • Алгоритм требует, чтобы банкир—распределитель ресурсов гарантированно удовлетворял все запросы за некоторый конечный период времени. Очевидно, что для реальных систем необходимы гораздо более конкретные гарантии.
  • Аналогично, алгоритм требует, чтобы клиенты (т. е. задания или процессы) гарантированно «платили долги» (т. е. возвращали выделенные им ресурсы) в течение некоторого конечного времени. И опять-таки для реальных систем требуются гораздо более конкретные гарантии.
  • Алгоритм требует, чтобы пользователи заранее указывали свои максимальные потребности в ресурсах. По мере того как распределение ресурсов становится все более динамичным, все труднее оценивать максимальные потребности пользователя. Вообще говоря, поскольку компьютеры становятся более «дружественными» по отношению к пользователю, все чаще встречаются пользователи, которые не имеют ни малейшего представления о том, какие ресурсы им потребуются.

Информация о работе ОС как система управления