Лекции в ворде (1115146), страница 3
Текст из файла (страница 3)
На самом деле, когда операционная система обращается к какой-то строчке таблицы, то сначала она производит контроль. В действительности, строка ТП содержит некоторый код, который является либо адресом физической страницы, либо некоторым специальным кодом, на который схемы управления процессора реагируют определенным образом. Например, если этот код больше либо равен нулю, это значит, что можно продолжать работу. Если же в этой строке содержится код меньше нуля, например -1, то обращение к ней устройств преобразования виртуального адреса в физический, вызовет прерывание. Это прерывание обычно называется прерыванием по защите памяти. Дело в том, что операционная система, заполняя ТП, указывает, какие из виртуальных страниц адресного пространства не принадлежат данной программе, и если происходит выход за пределы дозволенной памяти, генерируется прерывание по защите памяти.
Для каждой программы нужна своя таблица приписки. При переходе от одной программы к другой содержимое ТП сохраняется операционной системой в некоторой своей программной таблице (массиве) и затем изменяются значения в ТП.
Продолжение в теме «Операционные системы»
(Подкачка, или SWAPPING)
Внешние устройства
Внешние устройства можно определить как все те устройства, которые отличаются от процессора и памяти. Управление внешними устройствами осуществляется через систему прерываний. Внешние устройства можно подразделить на Внешние Запоминающие Устройства (ВЗУ) и Устройства Ввода/Вывода (УВВ) информации. ВЗУ - это устройства, способные хранить информацию некоторое время, связанное с физическими свойствами конкретного устройства, и обеспечивать чтение и/или запись этой информации в оперативную память. Если рассматривать ВЗУ с точки зрения использования различными компонентами программного обеспечения, то можно выделить следующие типы устройств:
1. Магнитный барабан. Магнитный барабан - это устройство, которое характерно для больших вычислительных комплексов. Обычно оно используется операционной системой для хранения системной информации. Суть работы этого устройства состоит в следующем.
Для чтения информации с магнитного барабана производятся следующие действия: включается головка, соответствующая номеру трека, и прокручивается барабан до появления под головкой начала сектора с заданным номером. После этого начинается обмен. Практически во всех ВЗУ, основанных на вращении носителя, существует понятие сектора, и в каждый момент времени устройство знает, над каким сектором оно находится. Магнитные барабаны - это устройства, имеющие одну из самых больших скоростей доступа, так как электронные и механические действия в его работе минимальны (вращение барабана).
-
Магнитные диски.
Имеется несколько дисков, размещенных на одной оси, которые вращаются с некоторой постоянной скоростью. Каждый такой диск может иметь две информационно-несущие поверхности (верхнюю и нижнюю), покрытые слоем, способным фиксировать информацию. Диски имеют номера; поверхности каждого диска также пронумерованы (0,1). Концентрическим окружностям одного радиуса на каждом диске соответствует условный цилиндр. Диск также разбит на сектора. Координаты информации на диске (№Диска, №Поверхности, №Цилиндра, №Сектора).
Механически управляемая штанга имеет щупы, на концах которых находятся считывающие и записывающие головки. Количество этих щупов может быть равно количеству дисков (считывается либо верхняя, либо нижняя поверхность).
Обмен информацией осуществляется следующим образом: на блок управления диском подается набор координат с требуемым объемом информации. Блок головок вводится внутрь диска между поверхностями до заданного номера цилиндра. Затем, включается головка, читающая заданную поверхность заданного диска. После этого ожидается подход заданного сектора и начинается обмен. Здесь, в отличие от магнитного барабана, уже два механических действия, что ухудшает скоростные свойства магнитных дисков. Примерами магнитных дисков являются винчестер и гибкие диски (floppy).
Лекция №4
Мы с вами продолжаем обзор некоторых свойств архитектуры вычислительной системы, и я обращаю ваше внимание на то, что мы рассматриваем не просто ЭВМ как набор плат, размещенных на них микросхем, каких-то проводников, механических устройств и всего прочего. Мы рассматриваем вычислительную систему, то есть систему, объединяющую аппаратуру и программное обеспечение, а также нюансы их взаимодействия. Мы с вами уже посмотрели и поговорили о некоторых таких взаимосвязях. Виртуальная память и вся та буферизация, о которой мы с вами говорили, - это аппаратные средства, которые поддерживает программное обеспечение с целью повышения эффективности работы системы в целом. Система прерываний - это также аппаратное средство, которое ориентировано на поддержку программного обеспечения, то есть средство, обеспечивающее взаимодействие программы с внешними устройствами.
Я обращаю ваше внимание на то, что эти лекции не есть лекции по UNIX-у, который мы с вами будем рассматривать, это не есть лекции по страничной организации памяти - это лекции, направленные на то, чтобы вы поняли значение слова «система» в термине «вычислительная система». Уже сейчас мы затрагиваем механизмы работы с КЭШами, с буферами и прерываниями. И это достаточно сложно. А если мы возьмем машину, у которой не один, а несколько процессорных элементов, работающих с одной памятью, то у нас возникают достаточно сложные проблемы с буферизацией работы с памятью. То, что мы с вами рассматриваем на лекции - это очень простой срез (можно сказать, лекция для колхозников), чтобы у вас сложилось хотя бы концептуальное понимание, ибо мы не охватим всего.
Мы с вами закончили прошлую лекцию рассмотрением некоторых типов ВЗУ: магнитного барабана, магнитных дисков. Мы выявили на концептуальном уровне отличия этих устройств, потому что цель наших лекций не изучить их работу, а научиться сравнивать те или иные компоненты вычислительной системы. Мы с вами выяснили, что ВЗУ, такие как магнитный барабан и магнитные диски, могут характеризоваться степенью участия механических действий в обработке заказа на обмен. Чем больше механических действий, тем медленнее происходит обмен. Существует экзотический вид внешней памяти - память на магнитных доменах.
Память на магнитных доменах. Так же, как элементарной единицей электричества является электрон, элементарная единица в магнетизме - магнитный домен. Он подобен простому магниту, одна сторона которого заряжена положительно, а другая - отрицательно.
Теперь рассмотрим ВЗУ иначе - по методам доступа. Суть почти любого запоминающего устройства заключается в том, что информация в нем записывается некоторыми блоками, или записями. В некоторых устройствах размер блока фиксирован и чем-то напоминает страничную организацию памяти. В некоторых устройствах размер блока может быть переменным, и определяется некоторым начальным и конечным маркером, который можно программно записать на носитель этого устройства. В контексте работы с блоками, ВЗУ можно подразделить на два типа: устройства прямого доступа и устройства последовательного доступа. В бытовом плане можно рассмотреть компакт диск (CD) и аудиокассету. Воспроизведение десятой записи на компакт диске начинается почти сразу после соответствующей команды, за счет своей системы координат, подобной системе координат магнитного диска. Это устройство прямого доступа. Устройство последовательного доступа - это аудиокассета. Если вам надо воспроизвести пятую песню, то приходится, перематывая кассету, искать начало, так или иначе прослушивая предыдущие четыре. Устройства последовательного доступа, это те устройства, которые для чтения i-той записи, должны просмотреть предыдущие (i-1)-ну запись. Прямой доступ лишен этого недостатка. Примеры устройств прямого доступа - это магнитный барабан, всевозможные вариации магнитных дисков, память на магнитных доменах и прочее. Устройства последовательного доступа - это либо магнитная лента на больших машинах, либо стримерные устройства, которые используют для организации долговременного хранения данных на маленьких машинах.
Вот два взгляда на внешние устройства. Теперь рассмотрим внешние устройства с точки зрения управления. На ранних стадиях устройство управления внешними устройствами в большей мере являлось некоторым интерфейсом в получении всех управляющих команд от процессора и передачи их конкретному внешнему устройству. Это означает, что центральный процессор (ЦП) должен был отрабатывать практически все действия, предусмотренные системой команд управления конкретного устройства. Несмотря на то, что при этом уже был реализован и использовался аппарат прерываний, позволяющий проводить обмен асинхронно с работой центрального процессора, у нас были достаточно большие потери за счет того, что процессор должен был часто прерываться на выполнение последовательности небольших по размеру указаний для управления внешним устройством. Поэтому появились специализированные устройства, которые называются каналами.
Канал - это специализированная вычислительная машина, имеющая специализированный процессорный элемент и необходимую память. Канал обычно имеет следующую структуру: у него есть высокоскоростной канал связи с оперативной памятью основной машины, управляющие каналы для взаимодействия с ЦП и имеется некоторое количество каналов для подключения внешних устройств.
Мультипрограммирование
Давайте рассмотрим еще один внутрисистемный аспект, который может продемонстрировать взаимное влияние программного обеспечения и аппаратуры. Этот аспект связан с мультипрограммированием.
Ось абсцисс связана со временем. На оси ординат отмечены выполняемые задачи. Пусть процессор работает над Задачей №1. В какой-то момент ему потребовались данные, которые находятся на ВЗУ. Формируется заказ на обмен, но данные с устройства еще не поступили (мы знаем, что скорость обмена низка). И какое-то время процессор простаивает. Затем обмен завершился, и программа начала выполняться далее. Затем эта ситуация повторяется (опять простой и т.д.). В зависимости от типа или класса решаемой на этой машине задачи, таких простоев может быть от 99% всего времени до единиц процентов в том случае, если программа долго что-то вычисляет, не обращаясь к внешним устройствам. Но в любом случае эта ситуация приводит к неэффективной работе вычислительной системы, поэтому было бы неплохо при наличии асинхронно работающих устройств (то есть тех устройств, которые работают под управлением аппарата прерываний) в промежутки времени, когда одна программа не может выполняться (так как она ожидает данные), запускать другую программу (Задачу №2). Задача №2 будет жить по тем же правилам (то есть в периоды обмена Задачи №2 и Задачи №1 с внешними устройствами будет запускаться третья задача, и так далее).
Режим работ программного обеспечения и аппаратуры, обеспечивающий одновременное выполнение нескольких программ, называется мультипрограммным режимом. Изначально мультипрограммирование появилось в целях максимальной загрузки процессора, поскольку когда-то это устройство было самым дорогостоящим. На сегодняшний день это устройство одно из самых дешевых в компьютере. Посмотрим, что нужно от аппаратуры вычислительной системы для поддержания режима мультипрограммирования. Давайте перечислим те проблемы, которые могут возникнуть, когда, кроме некоторой управляющей программы (операционной системы) и одной программы пользователя, появилась еще одна программа пользователя. То есть, если ранее все ошибки и некорректности в отношении системы приводили к наказанию самого себя, то теперь, при появлении чужих программ в памяти возникают новые проблемы.