Глава 5 Ввод-вывод Sisend-Väljund 5.1 Sisend-väljundi pritsiibid. Принципы ввода-вывода 5.2 Tarkvara pritsiibid. Принципы ПО ввода-вывода 5.3 Tarkvara kihid. Уровни ПО ввода-вывода 5.4 Ketad. Диски 5.5 Taimerid. Таймеры 5.6 Alfabeet-digitaalsed terminaalid. Алфавитноцифровые терминалы 5.7 GUI 5.8 Võrgu terminaalid. Сетевые терминалы 5.9 Toite juhtimine. Управление питанием 1 Seadmete kontrollerid. Контроллеры устройств • Sisend-väljundi seade omab järgmisi komponente – Устройства ввода-вывода имеют следующие компоненты: • Mehhanilised – механические • Elektroonilised – электронные • Elektroonilisi komponente nimetatakse seadmete kontrolleriteks. Электронные компоненты называются контроллерами устройств – Saab toetada mitut seadet. Могут поддерживать несколько устройств • Kontollerite ülessanned. Задачи контроллеров – Muundavad bitivood baidi plokkideks. Превращает потоки битов в блоки байтов – Kui on vajalik, kontrollib vigu. При необходимости осуществляет проверку ошибок 2 S/V tarkvara printsiibid. Принципы ПО ввода-вывода S/V tarkvara eesmärgid.Цели ПО ввода-вывода (1) • Seadmete iseseisvus.Независимость устройств – Programm saab juurdepääsu igale seadmele. Программа может получить доступ к любому устройству – Ilma esialgse seadme määramist. Без предварительного указания устройства · (floppy, hard drive, or CD-ROM) • Ühesugune nimetamine. Единообразное именование – Faili ning seadme nimi – string või väärtus. Имя файла или устройства – строка или целое число – Ei sõltu füüsilisest seadmest. Не зависит от физического устройства • Vigade töötlemine. Обработка ошибок – Katkestus nii lähedal seadmele, kui vähegi võimalik. Прерывание как можно ближе к устройству 3 S/V tarkvara eesmärgid. Цели ПО ввода-вывода (2) • Sünkroon- ja asünkroonedastus Синхронная и асинхронная передача – S/V-i blokeerimise kasutamine. Использование блокирования ввода-вывода • Puhverdamine. Буферизация – Andmed seadest ei saa olla salvestatud ühekorraga. Данные, поступающие с устройства не могут быть сохранены сразу по назначению • Üksik seadmed ja kollektiivse kasutamise seadmed. Выделенные устройства и устройства коллективного пользования – Ketad saavad olla ühisressurssidena. Диски могут быть разделяемыми – Lintmäluseadmed ei saa olla ühisressurssidena. Ленточные устройства не разделяемы 4 Programmi S/V kihid. Программные уровни ввода-вывода 5 Seadmete draiverid. Драйверы устройств • Seadmete draiverite loogiline asetus. Логическое расположение драйверов устройств • Vahetus draiverite ja kontrollerite vahel kasutab siini. Обмен между драйверами и контроллерами устройств идет по шине 6 Seadmetest sõltumatu S/V tarkvara. Независимое от устройств ПО ввода-вывода (2) (a) Standartsete draiverite liides puudub. Стандартный интерфейс драйверов отсутствует (b) Standartsete draiverite liides on olemas. Стандартный интерфейс драйверов присутствует 7 Seadmetest sõltumatult S/V tarkvara. Независимое от устройств ПО ввода-вывода (3) (a) Mitte puhverdatud sisend. Небуферизованный ввод (b) Puhverdamine kasutaja ruumis. Буферизация в пользовательском пространстве (c) Puhverdamine tuumas koos kopeerimisega kasutaja ruumi. Буферизация в ядре с копированием в пространство пользователя (d) Kahekordne puhverdamine tuumas. Двойная буферизация в ядре 8 Seadmetest sõltumatu S/V tarkvara. Независимое от устройств ПО ввода-вывода (4) Paketti koopia võrgu sees. Копии пакета при передаче по сети 9 S/V tarkvara kasutaja ruumis. ПО ввода-вывода пространства пользователя S/V süsteemi kihid ja peafunktsioonid. Уровни и основные функции системы ввода-вывода 1 Kettad. Диски • Silindrid, rajad (8-32), pead (1-16). Цилиндры, дорожки (8-32 у гибких дисков), головки (1-16) • IDE (Integrated Drive Electronics) – Üheaegse raja otsing mitmetes kettades. Одновременный поиск дорожек на нескольких дисках 1 Kettade riistvaraosa. Аппаратная часть дисков (1) Параметры IBM PC floppy disk и Western Digital WD 18300 hard disk 1 Kettade riistvaraosa. Аппаратная часть дисков (2) • Füüsiline kettageomeetria kahe tsooniga. Физическая геометрия диска с двумя зонами • Võimalik selle ketta virtuallgeometria. Возможная виртуальная геометрия этого диска 1 Kettade riistvaraosa. Аппаратная часть дисков (3) • Kettadel on kuni16 tsooni, milles sektorite kogu suureneb kuni 4% igal tsoonil. – Диски имеют до 16 зон с числом секторов, увеличивающемся на 4% в каждой зоне 1 Kettade riistvaraosa. Аппаратная часть дисков (4) • RAID kihid. Уровни Raid от 0 до 2 • Varukettad on pimendatud. Резервные диски затенены 1 Kettade riistvaraosa. Аппаратная часть дисков (5) • SLED – Single Large Expensive Disk • RAID – Redundant Array of Inexpensive Disks • Код Хэмминга • 4 бита – 7 бит (1,2,4 бит) • 32 бита – 38 бит + дополнительный бит четности 1 Kettade riistvaraosa. Аппаратная часть дисков (6) • Уровни Raid от 3 до 5 • Varukettad on pimendatud. Резервные диски затенены 1 Kettade riistvaraosa. Аппаратная часть дисков (7) CD ja CD-ROM kirja struktuur.Структура записи CD или CD-ROM 1 Kettade riistvaraosa. Аппаратная часть дисков (8) • 80 год – CD – Philips&Sony • Красная книга • Стандарт – 120 мм, толщина 1,2 мм, 15 мм центральное отверстие • Pit (впадина) – land • Laserkiire laine pikkus - Длина волны луча лазера – 0,78 мкм • Maksimaalne spiraali laius - Максимальная ширина спирали - 32 мм, pöörlemiste arv - число оборотов – 22188 (5.6 км в длину) • Pöörlemise kiirus - Скорость вращения – от 530 до 220 pööret minutis - оборотов в минуту 1 Kettade riistvaraosa. Аппаратная часть дисков (9) • 1984 – Желтая книга – CD-ROM • Ühe baidi kodeerimine 14-bittise arvuga. Кодирование одного байта 14-разрядным числом (код Хэмминга с запасом в 2 бита) • CD-ROM сектор с заголовком 00FFFFFFFFFFFFFFFFFFFFF00+номер сектора • ЕСС – Error Correction Code – перемежающийся код Рида-Соломона • Односкоростной привод считывает со скоростью 75 секторов в сек 2 Kettade riistvaraosa. Аппаратная часть дисков (10) Andmete loogiline asetus CD-ROM-il. Логическое расположение данных на CD-ROM 2 Kettade riistvaraosa. Аппаратная часть дисков (11) • 1986 – Зеленая книга- добавление графики и совмещения форматов • Kolmekihiline failisüsteem. Три уровня файловой системы High Sierra 2 Kettade riistvaraosa. Аппаратная часть дисков (12) • CD-R (recordable) • Spiraalne rada 0.6 mm sügavusega sinusoidi vormis sagedusega 22.05 kHz ja amplituudiga 0.3 mm. Спиральная дорожка глубиной 0,6 мм в виде синусоиды с частотой 22,05 кГц и амплитудой 0,3 мм • Цианин (сине-зеленый) • Фталоцианин (желтовато-оранжевый) • Оранжевая книга – CD-ROM-XA - с возможностью дозаписи • CD-RW – сплав серебра, индия, сурьмы и теллура 2 Kettade riistvaraosa. Аппаратная часть дисков (13) • CD-R ja laseri risti lõik.Поперечный разрез CD-R и лазера • Hõbedates CD-ROM-ides on sama struktur. Серебристые CD-ROM имеют ту же структуру – Ilma värvaineta. Нет слоя красителя – Aluminiumkate kuldse asemel. Алюминиевое покрытие вместо золотого 2 Kettade riistvaraosa. Аппаратная часть дисков (14) • 1980 – DVD – Digital Versatile Disk • Kaks korda väiksema suurusega pit. Вдвое меньший размер питов • Pinguldatud spiraal. Более тугая спираль • Punane laser. Красный лазер • Kahepoolne kahekihiline DVD. Двухсторонние двухуровневые диски (до 17 Гб) 2 Kettade riistvaraosa. Аппаратная часть дисков (15) Kahepoolne kahekihiline DVD. Двусторонний двухуровневый DVD 2 Ketta formateerimine. Форматирование диска (1) • Madalakihiline vorming. Низкоуровневый формат • Silindrite tõmbamine. Перекос цилиндров • Pea tõmbamine. Перекос головок • Ketta mahukus väheneb sektorite päiste ja sektorite vahemikude arvel - kuni 80% kogu mahtavusest. Емкость диска уменьшается за счет заголовков секторов, межсекторных промежутков и ЕСС – до 80% от общего объема 2 Ketta formateerimine. Форматирование диска (2) Ketta sektor. Сектор диска 2 Ketta formateerimine. Форматирование диска (3) Silindrite tõmbamine. Перекос цилиндров 2 Ketta formateerimine. Форматирование диска (4) • Ilma vahelduseta. Без чередования • Ühekordne vaheldus. Однократное чередование • Kahekordne sektorite vaheldus. Двойное чередование секторов 3 Pea ümber asetamise planeerimis algorütmid. Алгоритмы планирования перемещения головок (1) • Aeg mida on vaja ühe plokki lugemisele või kirjutamisele sõltub 3-st faktorist. Время, необходимое для чтения или записи блока диска зависит от 3 факторов 1. 2. 3. • • Otsimise aeg. Время поиска Pöörlemise peetus. Задержка вращения Andmete saate aeg. Время передачи данных Otsimise aeg on kõige suurem. Время поиска превосходит остальные Vigade kontrollimist realiseerivad kontrollerid. Проверка ошибок осуществляется контроллерами 3 Pea ümber asetamise planeerimis algorütmid. Алгоритмы планирования перемещения головок (2) Initial position Pending requests Planeerimise algorütmid – lähim silinder on esimene. Алгоритм планирования – ближайший цилиндр первым - Shortest Seek First (SSF) 3 Pea ümber asetamise planeerimis algorütmid. Алгоритмы планирования перемещения головок (3) Elevatori algorütm. Элеваторный алгоритм планирования обращений к диску 3 Vigade töötlemine. Обработка ошибок • Sektorite rada defektse sektoriga. Дорожка секторов с дефектным сектором • Defektse sektori asendus varu sektoritega. Замена дефектного сектора запасным • Sektorite nihe. Сдвиг всех секторов 3 Stabiilne salvestuse seade. Стабильное запоминающее устройство (1) Protsessori tõrke mõju analüüs stabiilsele kirjutusele. Анализ влияния сбоя процессора на стабильность записи 3 Stabiilne salvestuse seade. Стабильное запоминающее устройство (2) • Stabiilne kirjutamine. Стабильная операция записи • Stabiilne lugemine. Стабильная операция чтения • Taastumine tõrjetest. Восстановление от сбоев • Energia sõltumatu RAM. Энергонезависимое ОЗУ 3 Taimerid. Таймеры Riistvara. Аппаратная часть Programmeeriv taimer. Программируемый таймер 3 Taimerite tarkvara. ПО таймеров (1) Kolm ööpäeva aja realiseerimise viisi. Три способа реализации времени суток 3 Taimerite tarkvara. ПО таймеров (2) Mitme virtuaalse taimeri modelleerimine. Моделирование нескольких виртуальных таймеров 3 Soft taimerid. «Мягкие» таймеры • Teise taimeri lisamine katkestuste haldamiseks. Добавление второго таймера для обработки прерываний – Sõltub rakendustest. Определяется приложениями – Ei ole probleme, kui katkestuste sagedus on väike. Нет проблем, если частота прерываний невелика • Soft taimerid hoiduvad katkestusest. Мягкие таймеры избегают прерываний – Tuum kontrollib reaalaja kella tähendust enne kasutaja ruumi üleminekut. Ядро проверяет значение часов реального времени перед переходом в режим пользователя – Kuidas hea see töötab – sõltub tuma ruumi sisenemise sagedusest. Как хорошо это будет работать – зависит от частоты входа в пространство ядра 4 Alfabeet-numbrilised terminalid. Алфавитно-цифровые терминалы Интерфейс терминала RS-232 • • • • Terminal RS-232 suhtleb arvutiga ühe biti kaupa. Терминал RS-232 общается с компьютером побитно Järjestikuse liini kutse – biti seeria. Вызов последовательной линии – серия бит, по биту за один раз Windows kasutab COM1 ja COM2 pordid. Windows использует порты COM1 и COM2 Arvuti ja terminal on absolutselt sõltumatult. Компьютер и терминал абсолютно независимы 4 Sisendi tarkvara. ПО ввода (1) • Tsentraalne puhverite puul. Центральный пул буферов • Eraldiolev puhver igale terminalile. Выделенный буфер для каждого терминала 4 Sisendi tarkvara. ПО ввода (2) Kaanonilise reziimi spetsiaalsed sümbolid. Специальные символы канонического режима4 Väljundi tarkvara. ПО вывода Mõned escape-järjestikkus ANSI standardis. Некоторые escape-последовательности стандарта ANSI 4 Kuvari tarkvara. ПО дисплея (1) Parallel port Kuvar ühisega mäluga. Дисплей с общей памятью • Draiver kirjutab otseselt kuvari videoRAM-ile. Драйвер пишет прямо в видео RAM дисплея 4 Sisendi tarkvara. ПО ввода • Klaviatuuri draiver saab sümbolit. Драйвер клавиатуры получает символ – Koverteerib sümbolit. Конвертирует его – Kasutab ASCII. использует ASCII • Erinevatele keeltele on vaja muutusi. Необходимы поправки для разных языков – Kooditabelid erinevatele OS-ile. Кодовые таблицы для разных ОС 4 Väljundi tarkvara Windows-il. ПО вывода для Windows (4) Joonistatud protseduuri Rectangle abil ristküliku näidis. Пример прямоугольника, нарисованного с помощью процедуры Rectangle 4 Väljundi tarkvara Windows-il. ПО вывода для Windows (5) • Piksli joonistuse kopeerimine BitBlt protseduri abil. Копирование растровых изображения с помощью процедуры BitBlt. – Enne. До – Pärast. После 4 Väljundi tarkvara Windows-il. ПО вывода для Windows (6) Mõned näidised erineva suuruse sümbolite kontuuridest. Несколько примеров контуров символов различных размеров 4 Võrgu terminalid. Сетевые терминалы X Windows (1) Kliendid ja serverid M.I.T. X Window sästeemis. Клиенты и серверы в системе M.I.T. X Window 5 X Windows (2) Скелет программы для X Windows 5 SLIM võrgu terminal. Сетевой терминал SLIM (1) SLIM-i arhitektuur. Архитектура терминала SLIM 5 SLIM võrgu terminal. Сетевой терминал SLIM (2) SLIM-i arhitektuur. Архитектура терминальной системы SLIM 5 Toite reziimi juhtimine. Управление режимом энергопотребления (1) Erinevatest laptopi osadest energia kasutamine. Энергопотребление различных частей лэптопа 5 Juhtimine toite reziimiga. Управление режимом энергопотребления (2) Kuvari valgustatud tsoonide kasutamine. Использование зон подсветки экрана 5 Juhtimine toite reziimiga. Управление режимом энергопотребления (3) • • • • • • • Kuvar Kõvaketas CPU Operatiivmälu Wireless Juhtimine temperatuuri reziimiga ACPI 5 Juhtimine toite reziimiga. Управление режимом энергопотребления (3) • Töö maksimaalses kiiruses. Работа на полной скорости • Kahekordne pinge vähendamine. Снижение напряжения вдвое – Protsessori sagedus väheneb kahekordselt. Частота процессора уменьшается вдвое, – Kasutatav võimsus väheneb neljakordselt. Потребляемая мощность уменьшается вчетверо 5