Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Введение в операционные системы (ОС)





Введение в операционные системы (ОС)

Понятие ресурса............................................................................................................................................................. 2

Понятие виртуальной машины............................................................................................................................... 2

Основные параметры, определяющие различия “чистой” и виртуальной машин.......................... 2

Типы ОС................................................................................................................................................................................. 4

Однопользовательские системы............................................................................................................................ 4

Контроль процессов...................................................................................................................................................... 5

Файловые вопросно-ответные системы............................................................................................................. 6

Системы поддержки транзакций........................................................................................................................... 6

Системы общего пользования................................................................................................................................. 7

Структура ОС.................................................................................................................................................................... 9

Монолитная ОС (Monolithic Operating Systems)......................................................................................... 9

Уровневая ОС (Layered Operating Systems)...................................................................................................... 9

Клиент-сервер................................................................................................................................................................ 10

Функции, характеристики и желаемые черты ОС...................................................................... 11

Функции ОС.................................................................................................................................................................... 11

Характеристики ОС..................................................................................................................................................... 15

Желаемые черты OC................................................................................................................................................... 17

Сетевые операционные системы........................................................................................................................ 17

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

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

Понятие ресурса.

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

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

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

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

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

Понятие виртуальной машины.

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

Типы ОС

Однопользовательские системы

Однопользовательские системы, как следует из их названия, предоставляют в одно и то же время Виртуальную машину для одного пользователя. Они подходят для компьютеров, которые предназначены для единственной функции, или которые так дешевы, что разделять их ресурсы нет смысла. Большинство микрокомпьютерных ОС (например MS DOS 1988г., которая установлена на ~ 100 млн. PC) является однопользовательскими.

Однопользовательские системы предоставляют простую Виртуальную машину, которая выполняет запуск различных пакетов ПО (например текстовых процессоров и электронных таблиц), а также позволяют пользователю разрабатывать и запускать свои собственные программы. Основной акция делается на предоставление простого командного языка, простой файловой системы и возможностей в/в клавиатуры, монитора и даже принтера. Следовало бы заметить, что некоторые их последних однопользовательских систем способны осуществлять более одной задачи одновременно для одного пользователя, в этом случае однопользовательская система поддерживает более одной Виртуальной машины. Примерами таких систем являются OS/2 (1992), и Windows NT (1993), Windows 95 (1995).

Контроль процессов

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

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

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

«Рабочее место для разработки и отладки» состоит из бортового вычислительного модуля с загруженной на него полнофункциональной средой исполнения и персонального компьютера, с установленной на нем средой разработки QNX Momentics.

Операционная система реального времени (ОСРВ) QNX Neutrino 6.3 была установлена на бортовой процессорный модуль и адаптирована к эксплуатации при активном участии специалистов компании «СВД Встраиваемые системы».

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

В 2007 г. компания QNX Software Systems объявила о публикации исходных текстов микроядра Neutrino и открыла процесс разработки. Это решение изменяет принятую практику разработки программного обеспечения благодаря объединению преимуществ концепции открытого исходного кода и коммерческого подхода. Компания QNX Software Systems открыла доступ к исходному коду операционной системы реального времени QNX® Neutrino® на основе новой, гибридной лицензионной политики.

Системы общего пользования

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

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

Системы общего назначения часто классифицируются в две группы (1) пакетные и (2) многопользовательские (muliti-access). Главной характеристикой пакетных систем является то, что одно задание вводится в компьютер и далее пользователь не имеет контакта с заданием вплоть до его завершения. Пару десятилетий назад задание набивалось на перфокартах или хранилось на магнитной ленте, затем посылалось оператору для введения в машину; когда задание завершалось, оператор возвращал напечатанный результат пользователю. Иногда задание принималось от входных устройств, расположенных на некотором расстоянии от центральной установки и результат печатается на том же удаленном месте. Это можно было бы сделать используя линию передачи данных между центральным и удаленным местом (УРМ). Совершенно так же было возможно подключить несколько УРМ, поручив ОС обеспечить возврат результатов к месту, откуда поступило задание. В настоящее время более распространенным стало для пользователя отправлять задание с терминала, подсоединенного (напрямую или опосредованно) к главному компьютеру и получать результаты на тот же терминал с возможностью печати части или всего позже. Как в прямолинейной пакетной системе, так и в системе множественного доступа для пользователя нет возможности взаимодействовать с заданием во время выполнения.

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

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

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

Структура ОС

Существует ряд различных путей построения ОС. Приведем три общих подхода.

Клиент-сервер

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

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

Одним из примеров клиент-сервер ОС является Windows NT (Custer, 1993).`

Функции ОС

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

(1) поставить колоду карт с исходной программой на читающее устройство;

(2) инициировать программу чтения с перфокарт;

(3) инициировать компилятор для компиляции исходной программы;

(4) поставить колоду карт с данными;

(5) инициировать выполнение скомпилированной программы;

(6) забрать результаты с принтера.

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

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

Система этого типа очевидно ограничена скоростью, с которой она могла бы выполнять ввод и вывод, и следующей стадией улучшения эффективности является сокращение этой зависимости. Во-первых - это достигается техникой off-linig, посредством в/в с магнитной ленты. Задача конвертации входной колоды карт заданий (имя перфоленты) в магнитную ленту и выходной магнитной ленты в распечатку (или перфоленту) было возложено на вспомогательный компьютер, меньшей мощности и цены. Передача магнитной ленты между вспомогательным и основным компьютером было ручным. Off-linig системы были значительно представлены IBM Fortran Monitor System, успешно работавшими с конца 50-х до середины 60-х (интерестна современная параллель в использовании персональных компьютеров в качестве оконечных устройств для больших систем).

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

Чтобы уменьшить зависимость от в/в, если не совсем сократить ее, были разработаны технологии, посредством которых в/в мог бы перерываться с обработкой (работой процессора). Это стало возможным с добавление двух нововведений - каналов и прерываний. Канал - это устройства, которое управляет одним или более периферийными устройствами, осуществляя передачу данных между периферией и памятью совершенно независимо от CPU. Прерывание - это сигнал, который передает управление CPU на некоторое фиксированное место, в то время как предыдущие значения счетчика команд сохраняется. Т.о. программа. выполняемая в момент возникновения прерывания, временно прерывается, но может быть возобновлена с места, откуда она было прервана. Прерывание от канала действует как сигнал, означающий, что передача данных завершена. Следовательно, возможно для CPU инициировать периферийную передачу, продолжить свою работу, в то время как канал управляет передачей и получает информацию средствами прерывания о завершении передачи. (См. сведения об архитектуре ЭВМ).

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

Основным недостатком таких систем было предназначение всей машины для выполнения единственного задания, не взирая на то - большое оно или маленькое. Этот недостаток был преодолен посредством мультипрограммирования - запуском нескольких программ на одной машине в одно и то же время. Идея состояла в том, что несколько программ (заданий) находились в памяти одновременно, и CPU разделял свое время между них в соответствии с ресурсами (такими как каналы и периферия) необходимыми им. Таким образом было теоретически возможно, имея подходящую комбинацию заданий в машине в любое время, достичь оптимального использования ресурсов. Сюда включается использование CPU, когда задание ждет окончания передачи ввода/вывода, CPU мог бы переключиться на другие находящиеся в памяти задание. Дополнительной нагрузкой на ОС стало управление ресурсами и защита одного задания от воздействий другого. ОС такого типа называются многопотоковыми пакетными мониторами, и ее версии были установлены на всех больших ЭВМ начала 70-х (GEORG3 на ICL1900 серии, и OS/360 на IBM 360 и 370 серий). Развитие этих систем произошло в огромной степени благодаря пионерской работе в начале 60-х на Atlas[1]’е - компьютере Манчестерского университета.

На этой стадии исторического экскурса от чистой машины видно, что существовали вполне подходящие системы, которые хорошо использовали существующие оборудование. Их основным недостатком, с точки зрения пользователя, было отсутствие какого-либо взаимодействия между пользователем и заданием во время его прохода через компьютер. Взаимодействие имеет значение во многих ситуациях, особенно во время разработки и отладки программы, например: отладка становится легче, если программист имеет возможность немедленно проверить модификации и увидеть их эффект, и сделать, если это необходимо, дальнейшие модификации. Подобным образом, многие программно решаемые задачи требуют управление пользователем; т.е. пользователи направляют дальнейшие действия программы после проверки полученных только что результатов. Чтобы сделать возможным взаимодействие многопотоковые пакетные системы были модифицированы с тем, чтобы принимать входы, набираемые пользователем на удаленном терминале; другими словами, они стали многопользовательскими системами. В начале 70-х большинство производители делали многопользовательские ОС для своих больших ЭВМ (примеры: MINIMOP-ICL 1900, TSS/360 - IBM 360 и 370, TOPS-10 DECSystem10). К середине 70-х пакеты и многопользовательские режимы комбинировались в таких системах, как MVS (IBM 370), VMS (DEC VAX) и System B (позднее известная, как VME) (ICL 2900 серии).

Дальнейшее развитие ОС сконцентрировались на представлении более подходящих возможностей лучшего использования оборудования и ПО. Производители представили системы, на которых более одной ОС или множества машинных команд могли выполняться одновременно, таким образом представлялась возможность постепенного усовершенствования для заказчиков (пример: VMS (DEC VAX, CME (ICL 2900)) - обе ОС предоставляли возможность запуска программы, разработанных для более старых машин. VM-система для IBM 370 ее пользователей позволяет пользователю запускать любую IBM-OC, которая может быть запущена на чистой машине, в параллели с любой другой ОС; кроме возросшей функциональности это дает полезную тестовую среду. На 80386 и 80486, OS/2 позволяется запускать множественные копии MS-DOS и др. ОС, написанные для запуска на данном виде процессоров.

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

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

(1) Установка заданий в последовательность

(2) Управление заданиями или интерпретация командного языка

(3) Обработка ошибок

(4) Обработка ввода/вывода

(5) Обработка прерываний

(6) Планирование

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

(8) Защита

(9) Многодоступность

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

(1) Наличие хорошего интейфейса с оператором

(2) Обсчет компьютерных ресурсов.

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

Характеристики ОС

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

(2) Разделение.
Конкурентные действия могут требоваться при разделении ресурсов Мотивацией этого является следующие 4 позиции:

(a) Цена: нецелесообразно предоставлять существенные ресурсы отдельно всем пользователям.

(b) Построение на работе других: полезно быть способным использовать программы или подпрограммы других людей.

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

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

Проблема, ассоциированная с разделением является размещение ресурсов, одновременный доступ к данным, одновременное выполнение программ и защита от разрушения.

(3) Долговременная память.

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

(4) Недетерминированность.

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

Желаемые черты OC.

(1) Эффективность.
К сожелению трудно указать один единственный критерий, по которым можно судить об эффективности ОС; ниже приводятся различные возможные критерии:

(a) значение времени между пакетами заданий (где применимо);

(b) неиспользуемые CPU время (исключая время, когда для ОС нет работы);

(c) обшее время на обработку всех пакетов заданий (где применимо);

(d) время ответа (для интерактивных систем);

(e) использование ресурсов;

(f) пропускная способность (пакетов заданий в час, скорость, которой работа может быть выполнена интерактивно).

Не всем этим критериям можно удовлетворять одновременно. Однако ОС должна добиться максимальной эффективности загруженности ресураса.

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

(2) Надежность.
В идеале ОС должна быть совершенно свободна от ошибок и способна обрабатывать все последовательности событий.

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

(4) Маленький размер.
ОС должна быть как можно более экономной, поскольку ресурсы, которые она потребляет, не поступают в распоряжение пользователей.

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

 


[1] Atlas – название первого компьютера, в которой были реализованы многие устройства и принципы, в настоящее время признанные стандартными.

Введение в операционные системы (ОС)

Понятие ресурса............................................................................................................................................................. 2

Понятие виртуальной машины............................................................................................................................... 2

Основные параметры, определяющие различия “чистой” и виртуальной машин.......................... 2

Типы ОС................................................................................................................................................................................. 4

Однопользовательские системы............................................................................................................................ 4

Контроль процессов...................................................................................................................................................... 5

Файловые вопросно-ответные системы............................................................................................................. 6

Системы поддержки транзакций........................................................................................................................... 6

Системы общего пользования................................................................................................................................. 7

Структура ОС.................................................................................................................................................................... 9

Монолитная ОС (Monolithic Operating Systems)......................................................................................... 9

Уровневая ОС (Layered Operating Systems)...................................................................................................... 9

Клиент-сервер................................................................................................................................................................ 10

Функции, характеристики и желаемые черты ОС...................................................................... 11

Функции ОС.................................................................................................................................................................... 11

Характеристики ОС..................................................................................................................................................... 15

Желаемые черты OC................................................................................................................................................... 17

Сетевые операционные системы........................................................................................................................ 17

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

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

Понятие ресурса.

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

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

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

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

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

Понятие виртуальной машины.







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.