Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ОС как расширенная (виртуальная) машина



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

 

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

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

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

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



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

какое свободно.

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

Функции ОС.

В функции операционной системы входит:

– осуществление диалога с пользователем;

 

– ввод-вывод и управление данными;

– планирование и организация процессов обработки программ;

– распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

– запуск программ на выполнение;

 

– всевозможные вспомогательные операции обслуживания;

– обмен информацией между внутренними устройствами;

– программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых нако-пителей, принтера и др.).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 


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

 

Многопроцессорность – это способность операционной системы, центрального процессора обеспечитьодновременную работу нескольких процессоров.

Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обра-ботки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x

 

компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

 

– асимметричные ОС

– симметричные ОС.

Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя при-кладные задачи по остальным процессорам.

 

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


Поделиться:



Последнее изменение этой страницы: 2017-05-05; Просмотров: 858; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь