МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Структура и основные компоненты вычислительной системы

    информационно-несущие поверхности (верхнюю и нижнюю), покрытые слоем,

    способным фиксировать информацию. Диски имеют номера; поверхности каждого

    диска также пронумерованы (0,1). Концентрическим окружностям одного

    радиуса на каждом диске соответствует условный цилиндр. Диск также разбит

    на сектора. Координаты информации на диске (№Диска, №Поверхности,

    №Цилиндра, №Сектора).

    [pic]

    Механически управляемая штанга имеет щупы, на концах которых

    находятся считывающие и записывающие головки. Количество этих щупов может

    быть равно количеству дисков (считывается либо верхняя, либо нижняя

    поверхность).

    Обмен информацией осуществляется следующим образом: на блок управления

    диском подается набор координат с требуемым объемом информации. Блок

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

    цилиндра. Затем, включается головка, читающая заданную поверхность

    заданного диска. После этого ожидается подход заданного сектора и

    начинается обмен. Здесь, в отличие от магнитного барабана, уже два

    механических действия, что ухудшает скоростные свойства магнитных дисков.

    Примерами магнитных дисков являются винчестер и гибкие диски (floppy).

    Лекция №4

    Мы с вами продолжаем обзор некоторых свойств архитектуры

    вычислительной системы, и я обращаю ваше внимание на то, что мы

    рассматриваем не просто ЭВМ как набор плат, размещенных на них микросхем,

    каких-то проводников, механических устройств и всего прочего. Мы

    рассматриваем вычислительную систему, то есть систему, объединяющую

    аппаратуру и программное обеспечение, а также нюансы их взаимодействия. Мы

    с вами уже посмотрели и поговорили о некоторых таких взаимосвязях.

    Виртуальная память и вся та буферизация, о которой мы с вами говорили, -

    это аппаратные средства, которые поддерживает программное обеспечение с

    целью повышения эффективности работы системы в целом. Система прерываний -

    это также аппаратное средство, которое ориентировано на поддержку

    программного обеспечения, то есть средство, обеспечивающее взаимодействие

    программы с внешними устройствами.

    Я обращаю ваше внимание на то, что эти лекции не есть лекции по UNIX-

    у, который мы с вами будем рассматривать, это не есть лекции по страничной

    организации памяти - это лекции, направленные на то, чтобы вы поняли

    значение слова «система» в термине «вычислительная система». Уже сейчас мы

    затрагиваем механизмы работы с КЭШами, с буферами и прерываниями. И это

    достаточно сложно. А если мы возьмем машину, у которой не один, а

    несколько процессорных элементов, работающих с одной памятью, то у нас

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

    что мы с вами рассматриваем на лекции - это очень простой срез (можно

    сказать, лекция для колхозников), чтобы у вас сложилось хотя бы

    концептуальное понимание, ибо мы не охватим всего.

    Мы с вами закончили прошлую лекцию рассмотрением некоторых типов ВЗУ:

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

    отличия этих устройств, потому что цель наших лекций не изучить их работу,

    а научиться сравнивать те или иные компоненты вычислительной системы. Мы с

    вами выяснили, что ВЗУ, такие как магнитный барабан и магнитные диски,

    могут характеризоваться степенью участия механических действий в обработке

    заказа на обмен. Чем больше механических действий, тем медленнее происходит

    обмен. Существует экзотический вид внешней памяти - память на магнитных

    доменах.

    Память на магнитных доменах. Так же, как элементарной единицей

    электричества является электрон, элементарная единица в магнетизме -

    магнитный домен. Он подобен простому магниту, одна сторона которого

    заряжена положительно, а другая - отрицательно.

    [pic]

    Есть барабан, у которого так же есть треки, и так же над каждым

    треком расположена головка для обмена, но сам барабан не вращается, а за

    счет некоторых магнитно-электрических эффектов осуществляется перемещение

    по треку цепочки доменов. При этом каждый домен однозначно ориентирован, то

    есть либо он бежит стороной, заряженной «+», либо стороной, заряженной «-».

    Так кодируются ноль и единица. Эта память очень быстродейственна, так как в

    ней нет никаких механических действий. Эти устройства обычно используются

    во встроенных вычислительных системах. (Например, она используется в

    американских ШАТЛах).

    Теперь рассмотрим ВЗУ иначе - по методам доступа. Суть почти любого

    запоминающего устройства заключается в том, что информация в нем

    записывается некоторыми блоками, или записями. В некоторых устройствах

    размер блока фиксирован и чем-то напоминает страничную организацию памяти.

    В некоторых устройствах размер блока может быть переменным, и определяется

    некоторым начальным и конечным маркером, который можно программно записать

    на носитель этого устройства. В контексте работы с блоками, ВЗУ можно

    подразделить на два типа: устройства прямого доступа и устройства

    последовательного доступа. В бытовом плане можно рассмотреть компакт диск

    (CD) и аудиокассету. Воспроизведение десятой записи на компакт диске

    начинается почти сразу после соответствующей команды, за счет своей системы

    координат, подобной системе координат магнитного диска. Это устройство

    прямого доступа. Устройство последовательного доступа - это аудиокассета.

    Если вам надо воспроизвести пятую песню, то приходится, перематывая

    кассету, искать начало, так или иначе прослушивая предыдущие четыре.

    Устройства последовательного доступа, это те устройства, которые для чтения

    i-той записи, должны просмотреть предыдущие (i-1)-ну запись. Прямой доступ

    лишен этого недостатка. Примеры устройств прямого доступа - это магнитный

    барабан, всевозможные вариации магнитных дисков, память на магнитных

    доменах и прочее. Устройства последовательного доступа - это либо магнитная

    лента на больших машинах, либо стримерные устройства, которые используют

    для организации долговременного хранения данных на маленьких машинах.

    Вот два взгляда на внешние устройства. Теперь рассмотрим внешние

    устройства с точки зрения управления. На ранних стадиях устройство

    управления внешними устройствами в большей мере являлось некоторым

    интерфейсом в получении всех управляющих команд от процессора и передачи их

    конкретному внешнему устройству. Это означает, что центральный процессор

    (ЦП) должен был отрабатывать практически все действия, предусмотренные

    системой команд управления конкретного устройства. Несмотря на то, что при

    этом уже был реализован и использовался аппарат прерываний, позволяющий

    проводить обмен асинхронно с работой центрального процессора, у нас были

    достаточно большие потери за счет того, что процессор должен был часто

    прерываться на выполнение последовательности небольших по размеру указаний

    для управления внешним устройством. Поэтому появились специализированные

    устройства, которые называются каналами.

    Канал - это специализированная вычислительная машина, имеющая

    специализированный процессорный элемент и необходимую память. Канал обычно

    имеет следующую структуру: у него есть высокоскоростной канал связи с

    оперативной памятью основной машины, управляющие каналы для взаимодействия

    с ЦП и имеется некоторое количество каналов для подключения внешних

    устройств.

    [pic]

    Функцией канала является выполнение макрокоманд, обеспечивающих

    ввод/вывод. То есть ЦП подает не последовательность команд (к примеру,

    включить двигатель магнитных головок, переместить магнитную головку на

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

    данных, произвести проверку правильности и т.п.), а макрокоманду

    (произвести обмен заданного объема по заданным координатам), и необходимую

    последовательность команд выполняет канал. Таким образом, канал разгружает

    ЦП. При этом каналы могут быть достаточно интеллектуальны. В канале может

    быть организована буферизация за счет своей внутренней памяти (аналогично

    буферизации при работе с оперативной памятью). Современная вычислительная

    машина может иметь несколько таких каналов, которые позволяют

    организовывать управление внешними устройствами, а с другой стороны

    освобождают процессор от лишней работы.

    Мультипрограммирование

    Давайте рассмотрим еще один внутрисистемный аспект, который может

    продемонстрировать взаимное влияние программного обеспечения и аппаратуры.

    Этот аспект связан с мультипрограммированием.

    [pic]

    Нарисуем простую диаграмму:

    Ось абсцисс связана со временем. На оси ординат отмечены выполняемые

    задачи. Пусть процессор работает над Задачей №1. В какой-то момент ему

    потребовались данные, которые находятся на ВЗУ. Формируется заказ на обмен,

    но данные с устройства еще не поступили (мы знаем, что скорость обмена

    низка). И какое-то время процессор простаивает. Затем обмен завершился, и

    программа начала выполняться далее. Затем эта ситуация повторяется (опять

    простой и т.д.). В зависимости от типа или класса решаемой на этой машине

    задачи, таких простоев может быть от 99% всего времени до единиц процентов

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

    устройствам. Но в любом случае эта ситуация приводит к неэффективной работе

    вычислительной системы, поэтому было бы неплохо при наличии асинхронно

    работающих устройств (то есть тех устройств, которые работают под

    управлением аппарата прерываний) в промежутки времени, когда одна программа

    не может выполняться (так как она ожидает данные), запускать другую

    программу (Задачу №2). Задача №2 будет жить по тем же правилам (то есть в

    периоды обмена Задачи №2 и Задачи №1 с внешними устройствами будет

    запускаться третья задача, и так далее).

    Режим работ программного обеспечения и аппаратуры, обеспечивающий

    одновременное выполнение нескольких программ, называется мультипрограммным

    режимом. Изначально мультипрограммирование появилось в целях максимальной

    загрузки процессора, поскольку когда-то это устройство было самым

    дорогостоящим. На сегодняшний день это устройство одно из самых дешевых в

    компьютере. Посмотрим, что нужно от аппаратуры вычислительной системы для

    поддержания режима мультипрограммирования. Давайте перечислим те проблемы,

    которые могут возникнуть, когда, кроме некоторой управляющей программы

    (операционной системы) и одной программы пользователя, появилась еще одна

    программа пользователя. То есть, если ранее все ошибки и некорректности в

    отношении системы приводили к наказанию самого себя, то теперь, при

    появлении чужих программ в памяти возникают новые проблемы.

    Первая проблема: кто-то взял и записал в пространство моей программы

    свою информацию или считал из пространства моей программы мою информацию

    (может быть, конфиденциальную). Если программа испорчена, то будет сбой в

    системе. Следовательно, возникает проблема защиты памяти, то есть в

    вычислительной системе должен быть реализован на аппаратном уровне

    механизм, обеспечивающий защиту адресного пространства каждой из программ

    от несанкционированного доступа других программ. Это означает, что этот

    механизм при выполнении доступа по исполнительным адресам будет

    контролировать корректность доступа.

    На прошлой лекции мы с вами рассматривали механизм виртуальной памяти

    на примере страничной организации памяти. Если в таблице приписки в какой-

    то строке находился код меньше нуля, это означало, что эта виртуальная

    страница недоступна. И при попытке обратиться к этой странице, срабатывает

    аппарат защиты памяти. А срабатывает он таким образом: в системе возникает

    прерывание по защите памяти, при обработке этого прерывания операционная

    система (ОС) смотрит, а действительно ли этой страницы памяти у данной

    программы нет (то есть это чужая страница). Если эта страница действительно

    чужая, то прерывание прекращает выполнение данного процесса с диагностикой

    обращения в чужую память. Возможна и другая ситуация: если какие то

    страницы еще не загружены в память и ОС в своих внутренних программных

    таблицах отметила, что на самом деле у меня есть эта страница и что,

    предположим, она находится на внешнем устройстве. В этом случае прерывание

    игнорируется, так как ошибки нет (просто нет еще достаточно информации для

    продолжения программы). Так устроена защита памяти.

    Вторая проблема: пусть в вычислительной системе есть принтер, и есть

    два процесса, которым он нужен. И пусть один из процессов обратился к

    внешнему устройству с командой напечатать строку (а он печатает, скажем,

    ведомость на экзамен, а другой процесс печатает, предположим, докладную

    декану). И первая строчка напечаталась: «Ведомость». После этого другой

    процесс пишет: «Декану факультета ВМК чл. корр. РАН Д.П. Костомарову», и

    тоже обращается к устройству печати. Устройство печати печатает вторую

    строчку, и так далее. В итоге получается документ, который остается только

    сжечь, так как там напечатан бред. Это первый пример. Второй пример: мы с

    вами говорили о виртуальной памяти и о том, что таблицы приписки

    заполняются оперативной системой программно (существуют команды, которые

    позволяют записать некоторую информацию в таблицу приписки). И пусть,

    появились два лихих программиста, которые решили отвести себе побольше

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

    себе всю память. Но память-то одна, и получилось нехорошо. И в первом и во

    втором примере программам пользователя были доступны команды управления

    компонентами вычислительной системы (в первом случае - команды управления

    внешним устройством, во втором случае - оперативной памятью), что и привело

    к некорректности в работе. Это означает, что, пока эти команды доступны, то

    корректный режим мультипрограммирования организовать невозможно, потому что

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

    специально, а просто по незнанию).

    Итак, вторым условием для организации мультипрограммного режима

    является наличие привилегированного режима в системе. Привилегированный

    режим - это режим работы центрального процессора, в котором программе

    доступны все возможные команды. Непривилегированный режим (еще его называют

    пользовательским) - режим, в котором доступно лишь некоторое подмножество

    команд. В пользовательском режиме программы пользователя не смогут

    обратиться напрямую к управлению компонентами вычислительной системы.

    Может возникнуть вопрос: а если все-таки надо печатать, и работают

    несколько программ, как быть? Обычно во всех системах имеются средства

    обращения к ОС (ОС работает в привилегированном режиме и ей доступно все).

    Программа пользователя может передать заказ на некоторые действия ОС (в

    разных системах это реализовано по-разному), например, с помощью

    прерываний. Вернемся к примеру с принтером. Теперь процесс не вызывает

    конкретную команду, а обращается с заказом напечатать строку к ОС. Она

    принимает заказ и строку, и буферизует эту информацию в некоторых своих

    программных буферах. Реальной печати при заказе не происходит, очередная

    строчка просто попадает в буфер, который относится к моей программе. Печать

    этого буфера будет происходить только при завершении программы, когда уже

    ясно, что заказов на печать больше не будет.

    Третья проблема: в одной из программ появилась ошибка, программа

    зациклилась и система зависла. Что в этом случае может помочь? Может помочь

    некоторое средство, которое будет периодически прерывать выполнение

    программы. Для нашего примера это должно быть прерывание по таймеру, чтобы

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

    передавалось ОС. Она же сама должна решать, как ей поступить в этом случае.

    Вот три условия на аппаратуру вычислительной системы, которые должны

    быть выполнены, если необходимо организовать мультипрограммный режим

    работы.

    Аппарат подкачки

    Следующая проблема: в системе, работающей в мультипрограммном режиме,

    находится много программ. Пусть есть реальная оперативная память со

    страничной организацией. Какую-то часть памяти занимает ОС, какую-то часть

    занимает Задача №1, какую-то часть - Задача №2 и т.д. В простейшем случае,

    в системе может находится столько программ, сколько может разместить в себе

    оперативная память. Это достаточно неэффективно, потому что выполняемый в

    данный промежуток времени код программы локализован в нескольких

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

    выполняются в данный момент). Если мы будем размещать в оперативной памяти

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

    будет простаивать, потому что мы до нее еще должны добраться. Появляется

    естественное желание держать в оперативной памяти только те фрагменты

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

    используется аппарат подкачки (или swapping). Это программно-аппаратное

    средство.

    Суть его заключается в следующем. Мы говорили о виртуальной памяти и

    о том, что в строке таблицы приписки содержится некий код. В этой строке

    может быть еще одно поле, характеризующее частоту обращения к странице. Это

    поле формируется аппаратно. Аппарат подкачки работает примерно так же, как

    в буфере чтения записи в оперативную память (также собирается информация о

    старении страниц). По этим данным ОС может откачивать редко используемые

    страницы, принадлежащие конкретному процессу во внешнюю память (в больших

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

    если страница откачивается, то в таблицу приписки записывается

    отрицательный код, который, в случае обращения к ней, вызовет прерывание

    (оно определит, что это не чужая страница), и страница подкачивается

    обратно (а в это время опять же может начать выполняться другая задача).

    Этот механизм подкачки достаточно эффективен. Он позволяет держать в

    оперативной памяти от каждой из выполняемых программ некоторую (самую

    важную) часть, а когда в памяти находится большое количество программ, то

    это означает, что всегда будет готова очередь программ на случай обмена.

    С одной стороны, подкачка - это функция, которая поддерживается

    аппаратурой (старение страниц памяти без аппаратной поддержки сложно

    организовать), а с другой стороны все реальное управление программное.

    Теперь вернемся к нашей пирамиде:

    |Прикладные программы |

    |Системы программирования |

    |Управление логическими устройствами |

    |Управление физическими устройствами |

    |Аппаратные средства |

    Мы видим, что все то, о чем говорилось в предыдущих лекциях тесно

    взаимосвязано. То есть нельзя организовать в системе (корректный)

    мультипрограммный режим без аппаратной поддержки, и наоборот, если есть

    аппаратная поддержка, но нет программы, которая использует эти аппаратные

    средства, то мультипрограммный режим также невозможен.

    -----------------------

    ОС

    ОС

    ОС

    Страницы: 1, 2, 3


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.