Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS.doc
Скачиваний:
17
Добавлен:
15.04.2019
Размер:
209.92 Кб
Скачать
  • исходя из спецификации выбранного программного обеспечения,

    выбирается одна или более ОС (платформа)

    1. исходя из требований ОС и выбранного ранее программного обеспечения,

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

    конкретный состав VM или нескольких VM

    История развития ос

    1ое поколение ОС появилось тогда, когда появились первые средства взаимодействия машины и пользователя (конец 40-х - начало 50-х годов 20 века). Первые ВМ были на лампах, 4-8 kb ОП, их устройство ввода/вывода состояло из набора лампочек и кнопок, в лучшем случае – перфокарт. Сами ОС состояли из набора полезных программ и служили для выполнения отдельных программ. В конце этапа стали появляться более сложные и более быстрые машины для обработки перфокарт.

    2ое поколение ОС появилось вместе с появлением новых, более совершенных ВМ. В ВМ появились накопители на жестких и магнитных дисках, построчные печатающие устройства, ЦП строились на транзисторах (50-60-е годы). Объем ОП – 68 kb, 128 kb. Теперь ОС - не разрозненный набор программ, а постоянно находящаяся в ОП программа. Управляющие программы ВМ стали включать такие средства, как буферизация, блокирование записей, средства работы с таймером, методы управления данными. Преобладающим режимом был пакетный режим, т.е. пользователь приходит со своим набором перфокарт и получает результат.

    3е поколение ОС (1965-1973г.г.) появилось вместе с процессором для ввода/вывода и сегментацией ОП. Возрос объем ОП и количество каналов. Синхронизация центрального процессора и ввода/вывода привела к появлению прерываний. Изменились ОС, преобладание мультипрограммных ОС, т.е. параллельно выполняется несколько программ, возможно за счет спец. процессора. Изменился процесс управления задачами: пользователю предоставлена возможность порождать отдельные задачи в рамках программы, задачи выполняются параллельно. С появлением алфавитно-цифровых дисплеев, клавиатур появилась возможность работать в режиме диалога.

    4ое поколение ОС – (начало 70-х годов) - ВМ и периферийные устройства стали меньшего размера, для мощных машин ОС стали обеспечивать эффективную изоляцию пользователей друг от друга, для персональных ЭВМ многопользовательский режим стал не характерен, появилась задача о комфортной работе одного пользователя. Intel создает первый процессор 8080, IBM выпускает первый PC.

    Лекция 2.

    Операционные системы VM.

    VM - Virtual Machine (англ. «виртуальная машина») - разработаны компанией IBM.

    Это целое семейство ОС:

    VM/370 CBM

    VM/SP

    VM/HPO

    VM/XA

    VM/ESA

    Самая первая ОС у IBM – OS/VS. Из нее появились VM и MBS.

    Разрабатывались новые архитектуры машин: IBM/360 -> IBM/370 (процессор, память, пультовое управление) -> VM/SP, VM/HPO, VM/XA, VM/ESA – архитектура промышленных систем.

    В настоящее время лидером в своем классе является VM\ESA. Она обеспечивает работу нескольких тысяч пользователей.

    СВМ – русский аналог VM/SP.

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

    VM содержит следующие ОС:

    • CMS – (ПДО) – специализированна для работы на виртуальной машине

    • CP – монитор виртуальных машин

    • любая ОС для IBM 360/370

    В VM можно запустить еще одну VM.

    Пользователь мог запустить ту ОС, которая ему требуется на данный момент.

    Задача VM: предоставить каждому пользователю полноценный аналог реальной ЭВМ таким образом, чтобы пользователь не ощущал того, что реальная ЭВМ занята выполнением не только его работы. Такой аналог назвали виртуальной машиной.

    Для обеспечения функционирования виртуальных машин VM содержит управляющую программу или монитор виртуальных машин.

    Виртуальная машина, являясь полным аналогом реальной ЭВМ, также нуждается в ОС. VM содержит специальную ОС – CMS, предназначенный для функционирования виртуальных машин. На реальной ЭВМ CMS функционировать не может. Это связано с тем, что CMS в своей работе активно использует сервис, предоставляемой активной программой.

    Помимо CMS на виртуальной машине могут использоваться практически любая ОС, разработанная для IBM/360/370/. Например, на виртуальной машине не может быть загружен сам VM.

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

    Два уровня ОС, на виртуальной машине и управляющая программа, влекут двойные накладные расходы. Во избежание снижения производительности управляющая программа занимается только обслуживанием виртуальных машин, работой с реальными устройствами и обработкой ошибок. Соответственно ОС могут использовать упрощенные способы выполнения операции ввода/вывода.

    Лекция 3.

    Архитектура IBM/370.

    System/360:

    • I/O процессор

    • Таймер

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

    RAMmax=1 Mb

    ЦП – центральный процессор

    ОП – оперативная память

    К – канал

    УУ – устройство управления

    УВВ – устройство ввода/вывода

    System/370: добавлены виртуальная память и средства обеспечения работой управляющей программы.

    Общая логическая схема подразумевает наличие:

    • оперативной памяти (ОП)

    • процессоров (ЦП)

    • каналов ввода/вывода

    • устройств ввода/вывода

    Каналы ввода/вывода – специализированные процессоры, занимающиеся управлением операцией ввода/вывода.

    Операции ввода/вывода оформлены в виде канальных программ.

    Канальные программы хранятся в ОП.

    ЦП сообщает лишь о том, что требуется выполнение (инициирует) операции ввода/вывода, при этом указывается устройство ввода/вывода и адрес канальный программы. Дальнейшую работу выполняют каналы.

    Синхронизация работы каналов и ЦП осуществляется при помощи прерываний.

    Основные средства:

    1.ОП

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

    Память циклически замкнута: для адресации используются 24 бита (32 – для слова), т.е. 8 старших битов не принимаются во внимание; если дошло до адресации последнего байта FFFFFF, то дальше передается на 0.

    Между памятью процессора и каналами ввода/вывода информация передается блоками, состоящими из 8 бит (1 байт). Байты могут обрабатываться отдельно или группами.

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

    Формат данных System/370:

    0000

    0001

    Байт=8 бит (слева направо)

    0000

    0001

    0002

    0003

    Полуслово=16 бит (слева направо)

    0000

    0001

    0002

    0003

    Слово=32 бита (слева направо)

    Двойное слово=64 бит (слева направо)

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

    Регистры общего назначения (16 штук) – слово=32 бита, различные интерпретации со знаком или без, нумерация с 0-го по 15-й, состав определяет программист.

    Регистры с плавающей точкой - 0-й, 2-й, 4-й и 6-й, каждый по 64 бита, некоторые команды работают с парами или частями.

    Управляющие регистры – их 16 по 32 бита, нумерация с 0-го по 15-й, значения битов в них фиксированы.

    В IBM/370 используется 24-битная адресация, поэтому предельным размером оперативной памяти является 16Mb. Если при обращении указывается размер больший, то старшие биты не учитываются.

    Физическая память делится на страницы 2k или 4k. Каждой странице приписывается ключ доступа (защиты) размером в 1b. При каждом выполнении команды идет сравнение ключа доступа страницы с к.д. слово состояния. К.д. имеет признак.

    К

    зн. ключа

    люч доступа: 1. значение ключа (4 бита)

    2. другие биты

    0 3 4 7

    Обращение процессоров и каналов к оперативной памяти (к любой странице) разрешены в случае совпадения ключа доступа, а также, если процессор или канал использует 0-й ключ. Значение ключей доступа может быть от 0 до 15. Обычно ключом доступа обладают программы ОС.

    Страницы ОП образуют сегменты размером 64 kb или 1Mb. Размер сегмента хранится в одном из управляющих регистров.

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

    2. Центральный процессор

    Управляет последовательностью и ходом выполнения команд, действий при прерываниях, работой средств отсчета времени, а также другими средствами IBM/370.

    Работой Ц.П. управляет слово состоянием программы или PSW.

    PSW занимает 64 бит и может находиться в одном из двух форматов:

    • основного управления (ВС)

    • расширенного управления (ЕС)

    В режиме основного управления PSW содержит следующую информацию:

      • бит “режим работы”, установленный в значении 0

      • бит “ожидание”

    0 – дальнейший выбор команд

    1 – процессор в состоянии остановки

      • бит “задача”

    1 – процессор подавляет выполнение команд управления системой

    0 – процессор в режиме ОС

      • бит “условие состояния”

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

      • поле адреса следующей исполняемой команды (24 бита)

      • маски прерываний системы

      • признак результата

    В расширенном режиме в psw содержится бит динамической переадресации:

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

    Формат команд.

    В IBM/370 используются следующие форматы команд:

    Reg Reg – 2b

    Reg X - 4b

    Reg S - 4b

    S I - 4b

    S - 4b

    S S - 6b

    Reg Reg:

    1b – код операции

    1b – номера регистров (2 16-тиричных числа, которые задают пару регистров)

    Существует 16 регистров общего назначения (32 бита), 16 управляющих регистров, 4 регистра с плавающей точкой (64 бита – 0, 2, 4, 6).

    В Sys/370 используется косвенная адресация, т.е. в команде адрес памяти не задается, а вычисляется определенным образом.

    КОП R X BD DD

    R – номер регистра

    X – индекс (16-тирич. цифра)

    В – база (16-тирич. цифра)

    0 8 16 24 31 DDD - смещение

    • вычисление логического адреса, где

    0 – нет индексации,

    RX – значение регистра индекса,

    RB – значение регистра базы.

    S S:

    B1D1 D1D1 B2D2 D2D2

    По своему назначению команды делятся на следующие классы:

      • команды общего назначения (целые данные, логические)

      • команды обработки десятичных данных (абс. точность)

      • команды обработки чисел с плавающей точкой

      • команды управления системой

      • команды ввода/вывода

    Десятичные данные:

    неупакованные упакованные

    цифры (до 15) знак знак

    Прерывания в IBM/370.

    Прерывания – стандартный способ оповещения программы о некоторых событий. Источник прерывания может находиться как в самой программе, так и вне ее, в том числе и вне вычислительной системы.

    Классы прерываний:

    1. прерывания по обращению к Supervisor

    (источником является команда обращения к Supervisor – SVR)

    1. программные прерывания

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

    1. внешние прерывания

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

    1. прерывания ввода/вывода

    (источником является система ввода/вывода – каналы, УУ и УВВ)

    1. прерывания повторного пуска

    (источником является кнопка «повторный пуск» на процессоре)

    1. прерывания от схем контроля

    (источником являются схемы контроля вычислительной машины)

    Некоторые прерывания могут быть временно запрещены, т.е. замаскированы.

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

    В результате прерывания происходит:

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

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

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

    OLD и NEW PSW заранее распределены:

    адрес

    длина

    назначение

    0

    8

    NEW PSW повторного пуска

    8

    8

    OLD PSW повторного пуска

    24

    8

    OLD PSW внешних прерываний

    32

    8

    OLD PSW по обращению к SVR

    40

    8

    OLD PSW программных прерываний

    48

    8

    OLD PSW от прерываний схем контроля

    56

    8

    OLD PSW прерываний ввода/вывода

    64

    8

    CSW - слово состояние команды

    72

    4

    CAW - адресное слово канала

    80

    4

    интервальный таймер

    88

    8

    NEW PSW внешних прерываний

    96

    8

    NEW PSW по обращению к SVR

    104

    8

    NEW PSW программных прерываний

    112

    8

    NEW PSW прерываний от схем контроля

    120

    8

    NEW PSW прерываний ввода/вывода

    Код прерывания.

    Конкретная причина прерывания уточняется кодом прерывания.

    Код - 16-битное поле, которое в режиме BC записывает в сохраненный OLD PSW, а режиме EC - заносится в специально отведенное поле постоянно распределенных областей памяти.

    Средства отсчета времени.

    В IBM/370 присутствуют следующие средства отсчета времени:

    1. Часы - 64-битная ячейка (двойное слово). Обновления происходит таким образом, что каждую микросекунду к содержимому разряда 51 прибавляется 1.

    Команды: существует запись в память показания часов и установка часов. Не формируют прерывания.

    2. Компаратор - двойное слово; обновление значения его не происходит; используется в качестве будильника: сигнал для внешних прерывания формируется, когда значения часов и компаратора совпадут.

    Команды: прочитать значение, установить значение.

    3. Программный таймер - двойное слово; каждую микросекунду из разряда 51 отнимается 1. Когда значение равно 0, формируются условия для внешнего прерывания.

    4. Интервальный таймер - находится в постоянно распределенной области памяти и занимает 32 бита. Из содержимого 23 бита каждую 1/300 секунды вычитается 1. Когда значение равно 0, формируется прерывание на внешнем носителе.

    Лекция 5

    Динамическое преобразование адресов. (DAT)

    Это средство доступно программой, если процессор находится в режиме EC.

    DAT дает возможность прерывать выполнение программы в любой момент времени, записывать ее всю или частично на внешнем носитель, а затем восстановить возможно ее в другом месте ОП, продолжить выполнение, при этом нет необходимости изменять что-либо в программе, т.е. возможность создания ОС виртуальной памяти, превышающей ОП.

    В режиме EC в слово состоянии программы находится бит DAT. Когда он выключен, то исполнительные адреса трактуются как логические, иначе как реальные.

    В своей работе средства DAT используют информацию из управляющих регистров (УР).

    PS - page size - размер страницы (8-9-й биты)

    PS= 0 1 - 2kb или 1 0 - 4kb; другие значений не допускаются

    SS - sector size - сегментный размер (11-12-й биты)

    SS= 0 0 - 64kb или 0 1 - 1Mb; другие значений не допускаются

    Здесь адрес и длина таблицы сегментов.

    Формат одной записи таблицы сегментов:

    i - бит доступности данного сегмента

    Форматы страниниц:

    Адрес - адрес страницы в реальной ОП.

    i - бит доступности данной страницы.

    Схема преобразования адресов:

    Процессор IBM/370 трактует логический адрес как совокупность индекса сегмента, индекса страницы и индекса байта.

    DAT выполняется следующим образом:

    1. из управляющего регистра УП1 извлекается таблица сегментов, при этом индекс сегмента логического адреса используется как номер строки таблицы сегментов

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

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

    При выполнении DTA возможны следующие особые случаи:

    1. особый случай использования сегмента - индекс сегмента превышает длину таблицы сегментов и значение бита доступности указывает на недоступность сегмента

    2. особый случай использования страницы - индекс страницы превышает размер таблицы страниц и значение бита доступности указывает на недоступность страницы => программное прерывание.

    Смена значения адреса таблицы сегментов в УР1 приводит к тому, что теже самые логические адреса будут преобразовываться уже в другие адреса. Поэтому говрят, что адрес аблицы сегментов определяет то адресное пространство, в котором выполняется программа.

    Для каждого сегмента существует одна таблица страниц.

    Буфер бытрой адресации. (TLD)

    В строках TLD процессор запоминает исходные данные и резутьтаты DAT. Поэтому, прежде чем выполнить преобразование, процессор всегда пытается найти уже готовый резутьтат, сохраненный в буфере.

    TLD во избежании ошибок должен быть очищен в следующих случаях:

    1. смена значений в УР1

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

    3. смена содержимого в любой таблице страниц, на которой есть ссылка из текущей таблицы сегментов.

    Если страница стала доступной, то TLD очищаеть не надо, а если стала не доступной - надо.

    Лекция 6

    Система ввода/вывода. Адресация. Управление. Данные.

    Каналов может быть от 1 до 16 в режиме ЕС и до 6 в ВС.

    Устройство, постоянно требующее УУ, имеет более 1 УУ.

    УВВ в IBM/370 может быть подключено до 4096.

    УУ предназначены для управления функциями УВВ. В зависимости от типа УУ и УВВ к одному УУ может быть подключено от 1 до 256 УВВ.

    УУ выделяются в монопольное использование УВВ в том случае, когда УВВ требуется постоянное вмешательство со стороны УУ. Если этого не требуется, то УУ может управлять работой нескольких УВВ. УУ и УВВ изначально разрабатывались с учетом их совместной работы.

    В монопольном режиме работают все медленные машины (АЦПУ).

    Функции выполнения вводавывода распределяются между УУ и УВВ следующим образом:

    • все механические операции выполняются УВВ

    • все логиские - УУ

    Обычно УУ, выделенные в монопольное использование УВВ, констрктивно объединены с ним в одном корпусе. Это характерно для следующих типов устройств:

      • пишущие машины

      • АЦПУ

      • устройство ввода/вывода на перфокарты

    Адресация - СИИ, где С - номер устройства в канале (16-тиричная цифра)

    ИИ - номер канала (2 16-тиричные цифры)

    Любое УВВ находится в одном из следующих состояний:

          1. выключено

          2. работает (занято)

          3. хранит прерывание

          4. доступно (не выключено)

    Система команд процессора IBM/370предусматривает следующие инструкции ввода/вывода:

    SIO - начать ввод/вывод

    SIOF - начать ввод/вывод с быстрым отключением

    TIO - проверить ввод/вывод

    TCH - проверить канал

    HIO - остановить ввод/вывод

    STIDC - запись в память идентификатора канала

    и т.д.

    Каналы ввода/вывода:

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

    2. мультиплексные - логически делятся на подканалы, которых может быть до 128

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

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

    В настоящее время ни селекторные, ни мультиплексные каналы в чистом виде не применяются. Используются блоу-мультиплексные и байт-мультиплексные каналы.

    SIO и TIO

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

    Проверить ввод/вывод TIO. По резутьтатам выполнения команды устанавливается признак результата:

    0 - УВВ доступно для выполнения операции ввода/вывода (включено, приведено в состояние готовности, не занято выполнением другой операции, не хранит прерывание от более ранних операций)

    1 - УВВ включено, но хранит прерывание от более ранних операций

    2 - УВВ или канал заняты

    3 - УВВ или канал выключены, либо неисправны

    Если установить признак результата “1”, то в адресуемом УВВ сбрасываются условия прерываний, а вся информация, характеризующая данное прерывание, записывается в поле CSW.

    CSW содержит следующие поля:

                1. ключ защиты - 1b

                2. байт «состояние устройства» - 1b

                3. байт «состояние канала» - 1b

                4. адрес последней выполненной команды канала, увеличенной на 8 или 16 - 3b

                5. остаточный счетчик - 2b

    Не все поля CSW записываются каждый раз.

    Начать ввод/вывод SIO:

    CAW - адресное слово канала

    Выполнение команды:

          1. если канал или УВВ выключены, то установить признак результата «3», и обработка команды прекращается

          2. если канал или УВВ заняты, то установить признак резутьтата «2», и обработка програмы прекращается

          3. если адресуемое УВВ или канал хранят прерывания, то установить признак резутьтата «1», и обработка команды прекоащается

          4. если 1-ая канальная программа содержит ошибки, то установить признак реутьтата «1», и обрабботка команды прекращается

          5. иначе, признак резутьтата «0».

    Адрес канальной программы, подлежащий выполнению, перед выполнением SIO заносится в CAW. Также заносится значение ключа защиты, которым должен пользоваться канал при обрашении к ОП.

    Канальная программа состоит из 8 байтовых канальных команд (CCW). Каждая CCW содержит следующие поля:

    1. код операции - 1b

    2. адрес данных в ОП - 24b

    3. флаги, управляющие выполнением операцией

    4. счетчик (длина данных, подлежащая считыванию или записи)

    Лекция 7

    Типы кодов операций:

    … … 10 - чтение - канал узнает направление передачи данных

    … … 01 - запись - канал готовится передавать информаию из ОП в УВВ

    … … 11 - управление - разновидность записи, настравиает УВВ к принятию

    информации

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

    ввод/вывод, это текущее состояние канала.

    При выполнении команды “запись” канал поставляет УВВ данные из ОП до тех пор, пока не будет исчерпа счетчик. УВВ непосредственно к ОП не обращается.

    При выполнении команды “чтение” УВВ передает в канал байты, а канал записывает их в ОП по указанному адресу до исчерпания счетчика. Если по окончании операции ввода/вывода счетчик оказался не равным 0 (он уменьшается при передаче каждого байта), то формируется сигнал “непрерывная длина”.

    Флаги.

    PCI - программно управляемое прерывание

    CD - chain of data - цепочка данных

    CC - chain of commandes - цепочка команд

    SILI - suppress invalid length indicator - подавление признака неправильной длины

    IDA - indirect address - косвенная адресация

    SKIP - блокировка записи в память

    CD и CC.

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

    Если CD=1, то СС уже можно не проверять.

    Если в текущей канальной команде CD=1, то по окончании передачи данных, заданных адресом и счетчиком в текущей коамнде, анчинается передача данных в соответствии с адресом и счетчиком, заданных вследующей команде, и код операции из следующей команды игнорируется. Таким образом канал имеет возможность передавать данные, используя несвязные области памяти.

    Канал запоминает, в каком режиме он работает, в CD или в CC. Это важно для операции ввода/вывода.

    CD=0 и CC=1 - по окончании выполнения передачи данных текущей команды происходит выбор следующей канальной команды и дальнейшая обработка продолжается в соответствии с новым кодом операции.

    CD=0 и CC=0 - по окончании обработки текущей команды выполнение канальной программы прекращается.

    Пример: в ОС OS обновление консоли (экрана работы) выполнялось следующим образом.

    1-ая команда: считывает 2-ую строку

    2-ая команда: помещает считанны данные в 1-ую строку

    3-яя команда: считывает в тот же буфер 3-ую строку

    4-ая команда: записывает считанные данные во 2-ую строку

    и т.д.

    последняя команда: очищает нижнюю строку экрана

    PCI

    Если при выборе очередной канальной команды канал обнаружит флаг PCI=1, то он сформирует сигнал на прерывание ввода/вывода, тем самым программа, выполняемая на ЦП оповещается о ходе выполнения канальной программы.

    SILI

    Если SILI=0, то канал должен прекратить выполнение канальной программы.

    Если SILI=1, то работа канальной программы продолжается.

    IDA

    В IBM 360 этого флага не было. Он появился вместе с DAT.

    Пример:

    Запишем первые 4 страницы на диск. CCW указывает нам на список, который в свою очередь и указывает на страницы - косвенная адрасация.

    При IDA=1 поле адреса в канальной программе указывает на список.

    При IDA=0 порядок страниц не уитывается, т.е. считывается все подряд.

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

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

    Флаг IDA дополняет DAT, делая удобным выполнение в реальной памяти канальных программ, подготовленных в виртуальной памяти.

    SKIP

    SKIP=1 - УВВ и его УУ работают как обычно. Канал передавемые УВВ байты просто теряет. Этот флаг действует только в операциях «чтение».

    Пример: «Как считать нужные байты в ОП»

    Лекция 8

    Обощение по IBM/370.

    Система ввода/вывода

    В ОП ЭВМ располагаются программы ЦП, данные программ, в том числе и программы ввода/вывода, состоящие из команд каналов CCW.

    1. Перед началом операции ввода/вывода программа помещает адрес канальной программы в адресное слово канала CAW.

    2. Затем программа выполняет команду «начать ввод/вывод» SIO, в качестве операнда указывая адрес УВВ, для которого подготовлена канальная программа.

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

    4. Канал начинает выполненять команды программы канала.

    5. О завершении выполнения канальной программы ЦП оповещается при помощи прерываний.

    6. Для каждой еомпоненты системы ввода/вывода существует свой собственный тип прерывания:

    1. конец работы канала

    2. конец работы УУ

    3. конец работы УВВ

    Пример:

    Команды канала:

    CCW X ’07’, ADDR, CC, 6

    CCW X ’31’, ADDR+2, CC, 5

    CCW X ‘08’, *-8, CC, 1

    CCW X ‘06’, BUF, 0, LNG

    CCW - команда канала

    2-ое поле - код команды

    3-ее поле - поле адреса

    4-ое поле - длина команды (число байт)

    LNG - длина данных

    * - текущий адрес

    X’07’ - установка цилиндра и выбор головки

    X’31’ - поиск по идентификатору на равно - если равно, то переход на следующую команду канала, если нет, то через одну

    X’08’ - переход в канале (под головкой теперь другая запись и необходима X’31’)

    X’06’ - чтение данных

    BBCCHHR - олный адрес записи, где

    BB - номер барабана,

    CC - номер цилиндра,

    HH - номер головки,

    R - номер записи.

    Пульт управления IBM/370

    Он предназначен для выполнения следующих процедур:

          1. процедуры оператора

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

          3. проедуры системного программиста (считывание и модификация данных, вмешательство в работу ЦП)

    Органы управления оператора:

    1. переключатели, задающие устройства начальной загрузки

    2. сброс системы

    3. сброс системы с очисткой ОП и регистров

    4. пуск (перевод ЦП из состояния останов в состояние работы)

    5. начальная загрузка программы

    6. начальная загрузка программы с очисткой ОП

    7. останов (не выполняются команды и прерывания)

    8. прерывания

    Индикаторы:

    1. работа

    2. ожидание

    1. останов

    2. сбой

    Нчальная загрузка программы в ОП

    CCW X’02’, 0, CC+SILI, 24 (*)

    Аппаратура моделирует выполнение этой канальной программы (*), в ОП ее нигде нет. Она считывает еще две канальные программы (по адресу 8 и 16). Она загружает первые 24b программы в ОП, где первые 8 - это PSW, следующие 8 - канальная программа и следующие 8 - тоже канальная программа.

    1. Оператор набирает адрес устройства начальной загрузки и нажимает «кнопку» начальной загрузки (НЗП или IPL).

    2. Выполняется сброс.

    3. Для указанного устройства моделируется выполнение канальной команды (*)

    начальной загруки программы.

    4. Продолжается выполнение цепочки команд с адреса 8.

    1. По окончании выполнения цепочки команд в качестве текущего PSW загружаются первые 8b, считанных по адресу 0.

    2. Работой ЦП управляет PSW программы.

  • Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]