Основы операционных систем

Slides:



Advertisements
Similar presentations
Выпускная квалификационная работа на тему: «Применение интернет-технологий как фактор повышения эффективности функционирования организации (на примере.
Advertisements

 Overview  Smart Scan  Predicate Filtering  Column Projection  Join Filtering  Storage Indexes  Hybrid Columnar Compression  Flash Cache.
Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
Поиск оптимального набора параметров оптимизаций компилятора Брусенцов Леонид Евгеньевич студент 4 курса ФИТ НГУ Руководители:Илья.
1С-Битрикс: Управление сайтом Универсальный программный продукт для разработки, поддержки и успешного развития интернет-проекта.
Чибиняева Ольга 4 курс.  Сущность профессии финансового аналитика  Составляющие квалифицированного аналитика  Преимущества и недостатки профессии 
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
ООО «Баркод Маркет».  Инвентаризация имущества – программная система, позволяющая организовать учет любого имущества компании.  Уменьшение неконтролируемых.
Савенко Мария Олеговна, 361 группа Научный руководитель: старший преподаватель В.С.Полозов.
Половинкин А.Н..  Вычисления общего назначения на GPU  Архитектура GPU  Программная модель выполнения на CUDA  Программирование с использованием CUDA.
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Тушин Александр, ЗАО «Компания Либэр». 1) Предоставление полнотекстовых материалов 2) Поиск по внутреннему содержанию документа 3) Доступность в режиме.
ТЕОРИЯ И ПРАКТИКА МНОГОПОТОЧНОГО ПРОГРАММИРОВАНИЯ Тема 3 Система команд, атомарность и порядок Д. ф.- м. н., профессор А. Г. Тормасов Кафедра информатики.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Определение необходимого уровня запасов на складе.
Миллер Дмитрий, 545 группа Научный руководитель: д.ф.-м.н., профессор, А.Н.Терехов Рецензент: к.ф.-м.н, доцент, А.Н. Иванов.
Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.
Создание сервиса синхронизации разнородных баз данных Допущена к защите зав. кафедрой: д.ф.м.н., профессор Терехов А.Н. Научный руководитель: доцент Графеева.
Параметризация устройств сетевого управления Казакова А.С. Научный руководитель: Венгерова Е.А. Рецензент: Ушаков К.С. Кафедра системного программирования.
Коммуникация и синхронизация процессов в централизованных архитектурах
Адаптивный метод распределения SPMD-заданий в грид Паньшенсков Михаил, 545 группа Научный руководитель: Лукичев А.С. Рецензент: Демьянович Ю.К июня.
1 ОПЕРАЦИОННАЯ ПЛАТФОРМА. ОПРЕДЕЛЕНИЯ И КЛАССИФИКАЦИЯ ЛЕКЦИЯ №3 Калинина А.П.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Демидов А.В г. Операционные системы Лекция 3 Процессы.
Введение в параллельные вычисления. Технология программирования MPI (день седьмой) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Работа выполнена в рамках проекта "Информационные технологии в управлении образованием" 1С: ХроноГраф 2.5 Последовательность создания в программе «1С:
Введение в параллельные вычисления. Технология программирования MPI (день третий) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
1 Организация вычислительной системы ЛЕКЦИЯ №2 Калинина А.П.
Выпускная квалификационная работа Разработка SATA - IO-link контроллера с программными интерфейсами Legacy и AHCI Студент:Белянин И.В., ФРТК, 713 гр. Научный.
Основы цифровой обработки речевых сигналов. Общая схема процесса речеобразования x[n] – дискретные отсчеты сигнала возбуждения y[n] – дискретные отсчеты.
Демидов А.В г. Операционные системы Лекция 2 Архитектура ЭВМ, архитектура ОС.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
Кафедра ЮНЕСКО по НИТ1 Принципы построения и архитектура ЭВМ Информатика.
 Нужно много различных протоколов связи  Каждый из них может реализовываться на разных платформах Современные сети Много устройств, компьютеров и сетей.
Введение в параллельные вычисления. Технология программирования MPI (день второй) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Анализ производительности последовательного кода. Основы VTune™ Performance Analyzer ЛЕКЦИЯ №9, часть 2.
"The European Molecular Biology Open Software Suite"
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Понятие архитектуры ЭВМ Архитектура ЭВМ как распределение функций, реализуемых системой, между её уровнями.
Основы операционных систем. Часть VI. Cети и сетевые операционные системы Лекция 14. Сети и сетевые операционные системы.
Текстовый процессор Word. Возможности программы Word 1. Работа с текстами: ввод текста; редактирование текста; форматирование текста (изменение параметров.
Нижегородский Государственный Университет Им. Н.И. Лобачевского Факультет Вычислительной Математики И Кибернетики Учебно-исследовательская Лаборатория.
Тема доклада: Интерфейс RapidIO Докладчик: Богданов Андрей Юрьевич ЗАО «МЦСТ» Отдел «Архитектура рабочих станций»
ПОДДЕРЖКА ЗАДАЧ ОПЕРАТИВНОГО МОНИТОРИНГА ПРИРОДНЫХ ПРОЦЕССОВ В ОКЕАНОЛОГИЧЕСКОЙ ИНФОРМАЦИОННО- АНАЛИТИЧЕСКОЙ СИСТЕМЕ ДВО РАН А.В. Голик, А.Е. Суботэ, С.Г.
ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ НАВИГАЦИОННОГО ТИПА ДЛЯ ОБЕСПЕЧЕНИЯ ФУНКЦИОНИРОВАНИЯ ЦЕНТРОВ ТЕХНИЧЕСКОЙ ПОДДЕРЖКИ А. В. Беляков, Е. Б. Крейсманн Информационно-вычислительный.
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Обзор архитектуры IA32/EM64T Юрий Долгов, Дмитрий Шкурко.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Геоинформационные системы Чернышов Алексей Акимович.
Библиотека для работы с конечными множествами, использующая графический процессор в качестве основного вычислительного устройства Новосибирский Государственный.
Optimization of applications for Intel* platforms 1 IA64. Архитектура и обзор системы команд Юрий Долгов, Дмитрий Шкурко.
LINGUISTIC TOOLS ЛИНГВИСТИЧЕСКИЕ ИНСТРУМЕНТЫ Лекция 1.
TMG Tel: 8 (495) Fax: 8 (477) Technology Management Group ООО «TMG» PayKeeper.
Введение в параллельные вычисления. Технология программирования MPI (день четвертый) Антонов Александр Сергеевич, к.ф.-м.н., н.с. лаборатории Параллельных.
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
Исследование возможностей сервисной шины SonicMQ Дипломная работа студентки 545 группы Комольцевой Дарьи Владимировны Научный руководитель: Графеева Н.Г.
INFSO-RI Enabling Grids for E-sciencE Управление заданиями в GRID. Н. Клопов ПИЯФ, Гатчина.
Microsoft TechDayshttp:// Александр Шаповал Эксперт по стратегическим технологиям
Microsoft TechDayshttp:// Александр Шаповал Эксперт по стратегическим технологиям
R E F R I G E R A T I O N A N D A I R C O N D I T I O N I N G Блок мониторинга и централизованного управления АK-SM 350.
1 Организация подсистемы ввода-вывода CSS (Channel Subsystem) Лекция № 9.
Микропроцессорные системы Программирование INTEL 8086 Системная программа Debug.
Система автоматизированного учета расхода ресурсов Автоматизированный учет потребления холодной и горячей воды, электроэнергии, тепловой энергии и других.
Click to edit Master title style 1 All-in-one Discussion System Department | | © Robert Bosch GmbH All rights reserved, also regarding.
OpenCL. #include int main() { cl_platform_id platform[10]; cl_uint num_platforms; clGetPlatformIDs(10, platform, &num_platforms); cl_int clGetPlatformIDs.
Отчетность средствами Reporting Services 2008
ADO.NET Data Services (codename Astoria)
Presentation transcript:

Основы операционных систем Основы операционных систем

Лекция 13. Система управления вводом-выводом Часть V. Ввод-вывод Лекция 13. Система управления вводом-выводом

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

Два вида деятельности вычислительной системы Обработка информации Что делается? Как делается? Операции ввода-вывода Курс «Алгоритмы и алгоритмические языки» Часть II этого курса Тема этой лекции

Общие сведения об архитектуре компьютера Процессор Память Диски линии Монитор Клавиатура Локальная магистраль

Общие сведения об архитектуре компьютера Процессор Память Диски Шина данных Ширина шины – количество линий в шине Шина адреса Шина управления Монитор Клавиатура Локальная магистраль

Общие сведения об архитектуре компьютера Передача информации из процессора в память На адресной шине выставить сигналы для адреса памяти На шине данных выставить сигналы для данных На шине управления выставить сигналы работы с памятью и операции записи

Общие сведения об архитектуре компьютера Память и устройства I/O Память: Локализована в пространстве Ячейки взаимно однозначно отображаются на линейное адресное пространство памяти. Устройства I/O: Пространственно разнесены и подключаются к локальной магистрали через порты ввода-вывода. Порты i/o I/O I/O I/O

Общие сведения об архитектуре компьютера Память и устройства I/O Память: Локализована в пространстве Ячейки взаимно однозначно отображаются на линейное адресное пространство памяти. Устройства I/O: Пространственно разнесены и подключаются к локальной магистрали через порты ввода-вывода. Порты ввода-вывода взаимно однозначно отображаются на линейное адресное пространство ввода-вывода (иногда на линейное адресное пространство памяти)

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

Общие сведения об архитектуре компьютера Память и устройства I/O Занесение информации в память завершает операцию записи Занесение информации в порт часто инициализирует реальное совершение устройства ввода-вывода Что делать после получения информации через порт и как предоставить информацию для чтения из порта определяют контроллеры устройств

Общие сведения об архитектуре компьютера Устройства ввода-вывода подключаются к локальной магистрали через порты Могут существовать два адресных пространства: пространство памяти и пространство ввода-вывода Порты обычно отображаются в адресное пространство ввода-вывода и иногда – в адресное пространство памяти Какое адресное пространство использовать определяется типом команды или типом операндов Управлением устройством ввода-вывода, приемом и передачей данных через порты и выставлением сигналов на магистрали занимаются контроллеры

Структура контроллера устройства Регистр состояния (read only) Регистр управления (write only) Бит занятости Бит готовности данных Бит ошибки Биты кода команды Биты режима работы Бит готовности команды Регистр выходных данных (read only) Регистр входных данных (write only)

Вывод данных на внешнее устройство Процессор Контроллер Выставить значение бита ошибки и сбросить бит занятости Чтение из порта регистра состояния пока бит занятости == 1 После завершения операции – сбросить бит готовности команды Запись кода команды в порт регистра управления Запись данных в порт регистра входных данных Анализ кода команды Инициализация операции вывода Запись бита готовности команды в порт регистра управления Установить бит занятости Чтение из порта регистра состояния пока бит занятости == 1 Polling или опрос устройств

Вывод данных на внешнее устройство Процессор Память После выполнения команды процессор обнаруживает сигнал на линии прерываний Сохраняет часть регистров Передает управление по заранее определенному адресу Обрабатывает прерывание Восстанавливает контекст Линия прерываний I/O I/O

Вывод данных на внешнее устройство Процессор Память После выполнения команды процессор обнаруживает сигнал на линии прерываний Сохраняет часть регистров Передает управление по заранее определенному адресу Обрабатывает прерывание Восстанавливает контекст Шина прерываний Контроллер прерываний I/O I/O

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

Прямой доступ к памяти (Direct memory access – DMA) Процессор Память Контроллер DMA программируется После получения сигнала от устройства I/O запрашивает у процессора управление магистралью Получив управление, выставляет адрес и извещает устройство I/O Используя шины данных и управления совместно с устройством I/O передает информацию Возвращает управление магистралью Контроллер DMA Контроллер прерываний Канал DMA I/O I/O

Основные направления различия устройств ввода-вывода Скорость обмена информацией (от нескольких байтов до нескольких Гигабайтов в секунду) Возможность использования несколькими процессами параллельно Запоминание выведенной информации для последующего ввода Символьные и блочные Только для ввода информации, только для вывода информации и read-write устройства

Структура системы ввода-вывода Остальные части ядра ОС и пользовательские процессы Базовая подсистема ввода-вывода Драйвер клавиатуры Драйвер мыши Драйвер монитора IDE драйвер SCSI драйвер Контроллер клавиатуры Контроллер мыши Контроллер монитора IDE контроллер SCSI контроллер клавиатура мышь монитор IDE диски SCSI диски Hardware

Систематизация внешних устройств Символьные устройства (клавиатура, модем, терминал и т.д.) Блочные устройства (магнитные и оптические диски и ленты и т.д.) Сетевые устройства (сетевые карты) Все остальные (таймеры, графические дисплеи, видеокамеры и т.д.)

Интерфейс между базовой подсистемой ввода-вывода и драйверами Символьные устройства Блочные устройства Ввести символ – get Вывести символ – put Прочитать блок – read Записать блок – write Найти блок – seek Выполнить произвольную команду – ioctl (Ре)инициализировать драйвер и устройство – open Временно завершить работу с устройством – close Остановить работу драйвера – stop Опросить состояние устройства – poll

Функции базовой подсистемы ввода-вывода Функции базовой подсистемы ввода-вывода Поддержка блокирующихся, неблокирующихся и асинхронных вызовов Буферизация и кэширование входных и выходных данных Осуществление spooling’а и монопольного захвата внешних устройств Обработка ошибок и прерываний Планирование последовательности запросов на выполнение операций ввода-вывода

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

Буферизация и кэширование Причины буферизации в базовой подсистеме ввода-вывода Разные скорости приема и передачи информации участников обмена Разные объемы данных, которые могут быть приняты или переданы участниками обмена единовременно Необходимость копирования данных из приложения в ядро ОС и обратно Буфер – область памяти для запоминания информации при обмене данными между устройствами, процессами или между устройством и процессом

Буферизация и кэширование Разница между кэшем и буфером Буфер служит для согласования параметров участников обмена информацией и для ее промежуточного хранения. Кэш применяется для ускорения доступа к данным. Кэш всегда содержит копию данных, существующих где-либо еще. Буфер часто содержит единственный экземпляр данных в системе. Кэш (cache) – область быстрой памяти, содержащая копию данных, расположенных где-либо в более медленной памяти, предназначенная для ускорения работы вычислительной системы

Spooling и захват устройств Способы использования неразделяемых устройств Монопольный захват устройства. Spooling. Spool – буфер, содержащий входные или выходные данные для устройства, на котором следует избегать чередования его использования различными процессами

Обработка прерываний и ошибок Восстановление контекста Выполнение кода пользователя Работа hardware Выполнение кода ОС Работа hardware Исполнение Готовность Выполнение кода пользователя Ожидание Готовность Исполнение Выполнение кода ОС Прерывание Сохранение контекста Обработка прерывания Планирование

Обработка прерываний и ошибок Действия операционной системы Определение устройства, выдавшего прерывание. Взаимодействие с устройством. Проверка успешности выполнения операции. Попытка устранения возможных ошибок. Определение процесса, ожидающего этого прерывания. Перевод его из состояния ожидание в состояние готовность. Если есть еще процессы с неудовлетворенными запросами к этому устройству – инициализация нового запроса. Действия по обработке прерывания и компенсации ошибок могут быть частично делегированы драйверу устройства – функция intr в интерфейсе драйвера

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

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

Алгоритмы планирования запросов к жесткому диску Параметры планирования Запрос полностью характеризуется: типом операции номером цилиндра номером дорожки номером сектора Параметр планирование – время, необходимое для выполнения запроса. Время выполнения запроса = transfer time + positioning time Positioning time = seek time + positioning latency Единственным параметром запроса остается seek time – время пропорциональное разнице между номером цилиндра в запросе и номером текущего цилиндра

Алгоритмы планирования запросов к жесткому диску Диск имеет 100 цилиндров (от 0 до 99) Очередь запросов: 23, 67, 55, 14, 31, 7, 84, 10 Текущий цилиндр – 63 Алгоритм FCFS (First Come First Served) Всего перемещение на 329 цилиндров Алгоритм SSTF ( Short Seek Time First) Всего перемещение на 141 цилиндр 63 -> 23 -> 67 -> 55 -> 14 -> 31 -> 07 -> 84 -> 10 63 -> 67 -> 55 -> 31 -> 23 -> 14 -> 10 -> 07 -> 84

Алгоритмы планирования запросов к жесткому диску Диск имеет 100 цилиндров (от 0 до 99) Очередь запросов: 23, 67, 55, 14, 31, 7, 84, 10 Текущий цилиндр – 63 Алгоритм SCAN Всего перемещение на 147 цилиндров Алгоритм LOOK Всего перемещение на 133 цилиндра Алгоритм C-SCAN Алгоритм C-LOOK 63 -> 55 -> 31 -> 23 -> 14 -> 10 -> 07 -> 0 -> 67 -> 84 63 -> 55 -> 31 -> 23 -> 14 -> 10 -> 07 -> 67 -> 84 63 -> 55 -> 31 -> 23 -> 14 -> 10 -> 07 -> 0 -> 99 -> 84 -> 67 63 -> 55 -> 31 -> 23 -> 14 -> 10 -> 07 -> 84 ->67