- •Понятие ос. Задачи, решаемые ос.
- •Обзор архитектуры ibm System/370.
- •Процессор System/370. Регистры. Команды.
- •Процессор System/370. Память. Постоянно распределенные области памяти.
- •Процессор System/370. Прерывания.
- •Процессор System/370. Средства отсчета времени
- •Процессор System/370. Динамическое преобразование адресов.
- •Система ввода/вывода. Адресация, управление, данные.
- •Организация ввода/вывода на физическом уровне.
- •Процедура начальной загрузки
- •Пульт управления.
- •Понятие виртуальной машины
- •Оглавление vm
- •Функции cp. Пуск и завершение vm
- •Функции cp. Распределение времени между вм
- •Функции cp. Управление реальной памятью
- •Функции cp. Управление устройствами ввода/вывода
- •Функции cp. Обработка прерываний
- •Функции cp. Разграничение доступа
- •Функции cp. Обеспечение файлов накопления
- •Разделение функций между cp и cms
- •Общая характеристика ос cms
- •Хранимые системы и наборы сегментов
- •Способы моделирования виртуальных устройств ввода/вывода
- •Процесс как концепция ос. Состояние процесса.
- •Ресурс как концепция ос. Виртуализация ресурсов.
- •Интерфейс пользователя как концепция ос.
- •Прерывания как концепция ос. Обработка прерываний.
- •Организация в/в в ос Unix.
- •Синхронизация процессов. Задача взаимного исключения.
- •Задача синхронизации «производитель-потребитель».
- •Задача синхронизации «читатели-писатели».
- •Задача синхронизации «обедающие философы».
- •Механизмы синхронизации. Критерии их оценки.
- •Архитектура механизмов синхронизации. Прерывания. Переменная состояния.
- •Семафоры. Простые семафоры. Множественные семафоры.
Организация ввода/вывода на физическом уровне.
Канальные программы
К программы состоят из команд К (CCW)
CCW каждая команда К - двойное слово
Содержит поля:
Код операции 1б
Адрес данных в ОП 3б
Флаги, управляющие выполнением операции 2б
Счетчик 2б
|-----+-------+-------+---------|
| КОП | адрес | флаги | счетчик |
|-----+-------+-------+---------|
0 8 32 48 63
xxxxxx00 - недопустимый код
01 - запись, направление из ОП в К
10 - чтение, направление из К в ОП
11 - управление из ОП в К
(разновидность записи)
При выполнении команды типа запись, К поставляет в УВВ байты до тех пор, пока не будет исчерпан счетчик
При чтении УВВ передает в К байты, а К записывает их в ОП по указанному адресу до исчерпания счетчика
При передаче байта, независимо от направления, счетчик уменьшается на 1
Если по окончанию выполнения команды счетчик не равен 0, возникает ситуация "неправильная длинна"
Флаги CCW
PCI
Программно управляемое прерывание
Встретившись в CCW вынуждает К создать прерывания ввода/вывода особого типа.
Если при выборе очередной К команды PCI будет равен 1, то будет сформирован запрос на прерывание ввода/вывода
Эти прерывания могут использоваться для синхронизации К и ЦП
CD и CC
Цепочка данных
Цепочка команд
Говорят о том, что К должен сделать после выполнения текущей CCW
CD = 1
По окончанию передачи данных, заданных текущим адресом и счетчиком команды,
начинается передача данных заданных следующей командой, а код операции следующей команды игнорируется,
это позволяет записывать данные в несвязанные области памяти. Такой режим работы К называется цепочкой данных
CD = 0, CC = 1
По окончанию выполнения передачи данных текущей команды происходит выбор следующей команды и дальнейшая
обработка продолжается в соответствии с новым кодом операции. Такой режим называется цепочкой команд
CD = 0, CC = 0
По окончанию выполнения текущей команды выполнение К программы прекращается
SILI
Если в ситуации "неправильная длинна" значение флага SILI текущей команды оказывается равным 1,
выполнение К программы продолжается
Если значение флага в этом случае равно 0, выполнение К программы будет прекращено
IDA
Часть средства ДПА
Позволяет вместо адреса реальной памяти задать список адресов начал сегментов
Адреса данных в К программах должны быть реальными. В тоже время при использовании средств ДПА
область памяти может начинать на одной виртуальной странице, а заканчиваться на следующей
В виртуальном адресном пространстве эта область будет связана, т.е. адреса байтов этой области
будут принимать последовательно увеличивающиеся на единицу значения. В реальной ОП данная область
не обязательно является связанной
Для разрешения этого конфликта предназначен IDA. При его наличии адрес данных из К программы
интерпретируется как адрес списка, элементы которого содержат реальные адреса и длины несвязанных
областей реальной памяти
SKIP
Флаг учитывается только при выполнении операции чтения, обработка его выполняется К.
Если этот флаг установлен в операции чтения, передаваемые К данные не будут записаны в ОП, а потеряются
// 63К
CCW x'02',1,CD+SKIP,64512
CCW x'00',ABC,0,1024
//буфер
В ОП располагаются программа ЦП, данные этих программ, программы К, данные этих программ, CCW,
слово состояния К
1) Подготовленная К программа, выполняющая требуемую операцию ввода/вывода
2) Адрес программы К должен быть занесен в адресное слово К
3) Должна быть выполнена команда "начать ввод/вывод", аргумент которой содержит адрес УВВ
ЦП проверяет состояние программы, доступность К программы и продолжает выполнение своей программы
В тоже время К начинает выполнение команд программы К
4) По завершению К программы ЦП будет оповещен при помощи прерываний
Каждая компонента системы ввода/вывода может генерировать собственное прерывание.
Может быть 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
Выбор записи на магнитном диске
x'07' - установка цилиндра и выбор головки
ADDR имеет формат BBCCHHR
BB - номер барабана
CC - номер цилиндра
HH - номер головки
R - номер записи
Передается только 6 байт (4 аргумента)
x'31' - поиск по идентификатору на "="
Передается CCHHr и сравнивается с маркером.
Если совпадет - переходит на x'06'
x'08' - команда перехода в К программе
*-8 - адрес предыдущей команды
x'06' - чтение данных