Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

1.2. Ресурсы вычислительных систем

Рассмотрим, какие ресурсы предлагает вычислительная система. Двумя основными ресурсами являются пространство и время; в контексте вычислительной системы - это пространство памяти и время исполнения команд.

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

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

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

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

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

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