Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ОС как расширенная (виртуальная) машина
Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 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; Нарушение авторского права страницы