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