
- •1.Определение ос. Ос как виртуальная машина и как диспетчер аппаратных и прораммных ресурсов.
- •2.Назначение и основные функции ос. Классификация ос. Варианты классификации.
- •5.Многопроцессорные ос. Симметричная и несимметричная параллельная обработка.
- •3.Эволюция ос. Современные ос, их характеристики и области применения.
- •4.Однозадачные и многозадачные ос. Преимущества многозадачности и ее реализация в ос.
- •Сетевые компоненты ос.
- •Оc с разделением времени. Основные свойства, классы решаемых задач. Примеры современных реализаций.
- •Ос реального времени. Жесткие и нежесткие системы. Интерфейс с внешней средой.
- •Операционные системы unix. Основные линии развития (at&t и bsd unix). Современные реализации для пэвм.
- •Операционные системы Microsoft Windows. Основные версии и реализации, их характеристики и свойства.
- •Современные типы ос для пэвм. Назначение, характеристики и свойства.
- •Функциональная организация (структура) типовой многозадачной ос. Базовые функциональные подсистемы. Ядро и пользовательский слой ос.
- •Архитектурные принципы (принципы разработки и организации) современной мультипрограммной ос. Модульная структура ос.
- •Подсистема планирования (управления) процессов и потоков в ос. Понятие процесса, потока и ресурса. Типы ресурсов. Информационные структуры процесса (потока).
- •Жизненный цикл процесса. Диаграмма состояний. Переходы между состояниями. Диаграмма состояний потоков в ос ms Windows (2000/xp).
- •16. Алгоритмы планирования. Квантование времени (вытеснение). Планирование на основе приоритетов. Приоритетное планирование потоков в ms Windows (2000/xp).
- •Организация взаимодействия (синхронизация) параллельных процессов и потоков. Эффект гонок. Критическая секция. Типовые задачи синхронизации.
- •Системные механизмы для синхронизации потоков. Блокирующие переменные, мьютексы, семафоры.
- •Подсистема управления памятью. Основные функции. Сегментная и страничная программные модели памяти.
- •Концепция виртуальной памяти. Трансляция виртуальных адресов.
- •Иерархическая организация памяти эвм. Принцип кэширования. Устройство кэш-памяти (созу) на процессоре. Алгоритмы работы кэш-памяти.
- •Алгоритмы распределения основной памяти эвм.
- •Страничный обмен (замещение), как метод реализации виртуальной памяти. Таблицы страниц процесса. Свопинг процессов.
- •Структура виртуального адресного пространства процесса в ms Windows nt (2000/xp).
- •Архитектура (модель) ос ms Windows nt (2000/xp). Компоненты ядра и компоненты пользовательского режима. Файловое дерево ос ms Windows на загрузочном томе.
- •Порядок и основные процедуры для загрузки ос на аппаратной платформе ibm-совместимых пэвм. Мультисистемная организация, диспетчеры загрузки ос.
- •Подсистема ввода-вывода ос. Буферизация обмена данными между внешней и основной памятью. Дисковый (системный) кэш.
- •Управление устройствами (аппаратурой) в ос. Независимость программ от устройств. Типы устройств. Драйверная подсистема ос. Модель драйвера в ос Windows.
- •Файловая система ос (fs). Внешняя модель (архитектура) fs. Правила именования и пространства имен в ос Windows. Элементы полного имени. Типы файловых объектов и их атрибуты.
- •Внутренняя организация файловой системы (fs). Системные данные fs на томе. Типы файловых систем.
- •Множественность файловых систем (fs) современных ос. Файловые системы ос Windows: fat12, fet16, fat32, cdfs, ntfs (ntfs5), сетевые fs. Диспетчер файловых систем (ifs ), драйверы fs.
- •Файловая система faTхх. Назначение и организация таблицы распределения файлов. Типы записей в fat.
- •Структура элемента каталога в файловой системе faTхх. Опорные и дополнительные элементы. Метка тома.
- •Поддержка и внутренняя организация длинных имен в ос Windows для файловых систем faTxx. Псевдоним длинного имени в пространстве имен dos.
- •Система операций над файлами. Типы доступа к данным файла. Защита файлов и данных в ос. Обеспечение целостности fs. Восстанавливаемость после сбоев ос и аппаратуры.
- •Файловая система ntfs. Основные свойства и возможности. Обеспечение целостности и отказоустойчивости ntfs. Управление доступом к данным и защита данных в ntfs.
- •Внутренняя организация ntfs на логическом томе. Метафайлы и их назначение. Структура главной таблицы файлов (мfт).
- •Интерфейс прикладного программирования в ос. Библиотеки функций api, системные вызовы. Назначение и реализация в инструментальных системах (системах программирования).
- •Командный (консольный) интерфейс ос. Виртуальная машина ms-dos, интерпретатор команд и его функции. Синтаксис консольных команд. Система команд и их классификация.
- •Внутренние команды командного интерфейса ос. Формат вызова, механизм внутренней реализации. Примеры внутренних команд vdm.
- •Команды-фильтры. Конвейеризация (потоковое сцепление) команд в командном интерфейсе. Перенаправление стандартного ввода-вывода в файлы и другие устройства.
- •Конфигурационные, диагностические и информационные команды ос.
- •Среда окружения командного интерфейса и ее назначение. Команды формирования окружения. Системные переменные.
- •Система команд ос для операций с файлами. Команды для работы с каталогами.
- •Программирование в среде командного интерфейса. Пакетные командные файлы: - внутренние команды, передача параметров.
- •Графический интерфейс конечного пользователя (gui). Концепция рабочего стола. Стандартные элементы оформления и управления в gui. Способы запуска приложений.
- •Защита данных и программ в ос. Модель безопасности ос ms Windows (2000/xp). Механизм учетных записей пользователей, регистрация в системе. Права доступа.
- •Инструменты конфигурирования и настройки ос ms Windows (2000/xp). Панель управления. Системное администрирование.
- •Системная база данных ос ms Windows - реестр. Общая организация, типы параметров. Утилиты для работы с реестром. Экспорт и импорт данных реестра.
- •51. Развертывание (инсталляция) ос на аппаратной платформе. Дистрибутив ос. Утилиты для установки.
- •52. Поддержка сетей в ос ms Windows. Сетевые компоненты, конфигурирование стека сетевых протоколов. Сетевые утилиты ос. Прикладные пользовательские сетевые сервисы.
Управление устройствами (аппаратурой) в ос. Независимость программ от устройств. Типы устройств. Драйверная подсистема ос. Модель драйвера в ос Windows.
Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько уровней, причем нижние уровни обеспечивают экранирование особенностей аппаратуры от верхних, а те, в свою очередь, обеспечивают удобный интерфейс для пользователей.
Ключевым принципом является независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска.
Очень близкой к идее независимости от устройств является идея единообразного именования, то есть для именования устройств должны быть приняты единые правила.
Другим важным вопросом для программного обеспечения ввода-вывода является обработка ошибок.
Еще один ключевой вопрос - это использование блокирующих (синхронных) и неблокирующих (асинхронных) передач.
Последняя проблема состоит в том, что одни устройства являются разделяемыми, а другие - выделенными.
Для решения поставленных проблем целесообразно разделить программное обеспечение ввода-вывода на четыре слоя :
Обработка прерываний,
Драйверы устройств,
Независимый от устройств слой операционной системы,
Пользовательский слой программного обеспечения.
Независимый от устройств слой операционной системы
Большая часть программного обеспечения ввода-вывода является независимой от устройств. Точная граница между драйверами и независимыми от устройств программами определяется системой, так как некоторые функции, которые могли бы быть реализованы независимым способом, в действительности выполнены в виде драйверов для повышения эффективности или по другим причинам.
Типичными функциями для независимого от устройств слоя являются:
обеспечение общего интерфейса к драйверам устройств,
именование устройств,
защита устройств,
обеспечение независимого размера блока,
буферизация,
распределение памяти на блок-ориентированных устройствах,
распределение и освобождение выделенных устройств,
уведомление об ошибках.
Типы устройств
символьные (клавиатура, модем, терминал и т. п.);
блочные (магнитные и оптические диски и ленты, и т. д.);
сетевые (сетевые карты);
все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);
Такое деление является весьма условным. В одних операционных системах сетевые устройства могут не выделяться в отдельную группу, в некоторых других – отдельные группы составляют звуковые устройства и видеоустройства и т. д. Некоторые группы в свою очередь могут разбиваться на подгруппы: подгруппа жестких дисков, подгруппа мышек, подгруппа принтеров.
К символьным устройствам обычно относятся устройства ввода информации, которые спонтанно генерируют входные данные: клавиатура, мышь, модем, джойстик. К ним же относятся и устройства вывода информации, для которых характерно представление данных в виде линейного потока: принтеры, звуковые карты и т. д. По своей природе символьные устройства обычно умеют совершать две общие операции: ввести символ (байт) и вывести символ (байт) – get и put.
Для блочных устройств, таких как магнитные и оптические диски, ленты и т. п. естественными являются операции чтения и записи блока информации – read и write, а также, для устройств прямого доступа, операция поиска требуемого блока информации – seek.
Драйверы устройств
Весь зависимый от устройства код помещается в драйвер устройства. Каждый драйвер управляет устройствами одного типа или, может быть, одного класса.
В операционной системе только драйвер устройства знает о конкретных особенностях какого-либо устройства. Например, только драйвер диска имеет дело с дорожками, секторами, цилиндрами, временем установления головки и другими факторами, обеспечивающими правильную работу диска.
Драйвер устройства принимает запрос от устройств программного слоя и решает, как его выполнить. Типичным запросом является чтение n блоков данных. Если драйвер был свободен во время поступления запроса, то он начинает выполнять запрос немедленно. Если же он был занят обслуживанием другого запроса, то вновь поступивший запрос присоединяется к очереди уже имеющихся запросов, и он будет выполнен, когда наступит его очередь.
Первый шаг в реализации запроса ввода-вывода, например, для диска, состоит в преобразовании его из абстрактной формы в конкретную. Для дискового драйвера это означает преобразование номеров блоков в номера цилиндров, головок, секторов, проверку, работает ли мотор, находится ли головка над нужным цилиндром. Короче говоря, он должен решить, какие операции контроллера нужно выполнить и в какой последовательности.
После передачи команды контроллеру драйвер должен решить, блокировать ли себя до окончания заданной операции или нет. Если операция занимает значительное время, как при печати некоторого блока данных, то драйвер блокируется до тех пор, пока операция не завершится, и обработчик прерывания не разблокирует его. Если команда ввода-вывода выполняется быстро (например, прокрутка экрана), то драйвер ожидает ее завершения без блокирования.
Драйверы и windows
В операционных системах microsoft windows драйвер состоит из нескольких файлов, хранящихся обычно в каталогах system, system32 и их подкаталогах. Ядро драйвера хранится в файлах с расширениями .vxd, .drv, .sys и некоторых других, а дополнительные процедуры собраны в динамические библиотеки .dll. Кроме того, в состав драйвера могут входить файлы справки, утилиты, модули деинсталляции и т.д.
Последовательность операций по установке и удалению драйвера хранится в специальном информационном файле .inf. С его помощью windows определяет тип, производителя, модель устройства, класс драйвера, необходимые ресурсы и файлы. В этом файле также описываются операции распаковки, запуска, копирования, удаления, переименования файлов, добавления и удаления ключей в реестре и т.д. Все .inf-файлы хранятся в каталоге inf, причем устанавливаемые драйверы не-microsoft’овского происхождения (не поставляемые в комплекте с ОС) откладываются в отдельный подкаталог inf/other.
windows умеет автоматически находить драйвер для устройства. Для этого она использует технологию plug&play, точнее, ее часть, отвечающую за самоидентификацию устройства. В частности, pci-устройства обнаруживаются bios и заносятся в виде списка в специальную область escd (extended system configuration data). windows может использовать ее, а может и самостоятельно опросить шину pci и узнать у каждого устройства коды его производителя, модели и версии, необходимые ресурсы и другую информацию. Далее проверяется база данных (файлы drvdata.bin и drvidx.bin) по всем известным устройствам и находится необходимый .inf-файл. Если в каталоге .inf имеются новые файлы, они будут автоматически проиндексированы и внесены в базу данных.
Следует также помнить, что операционные системы windows 98 se и windows 2000, равно как и их потомки, поддерживают новую модель драйверов, получившую название wdm (windows driver model). Это – попытка реализовать полную поддержку plug&play и acpi, то есть дать возможность загружать и выгружать драйверы «на ходу», без перезагрузки системы, подключать их в виде фильтров-расширений к стандартным драйверам microsoft, более гибко управлять энергосбережением и конфигурацией устройств и т.п. wdm-драйверы хранятся в каталоге system32/drivers. В частности, интерфейсы нового поколения usb и ieee-1394 (firewire) работают только под управлением wdm-драйверов
Структуризация внешней дисковой памяти: разделы, тома, логические диски. Описатели (информационные структуры) разделов и томов: таблица разделов (MBR) и таблица параметров логического диска (BR).
Внешняя (долговременная) память — это место длительного хранения данных (программ, результатов расчётов, текстов и т.д.), не используемых в данный момент в оперативной памяти компьютера. Внешняя память, в отличие от оперативной, является энергонезависимой. Носители внешней памяти, кроме того, обеспечивают транспортировку данных в тех случаях, когда компьютеры не объединены в сети (локальные или глобальные).
Для работы с внешней памятью необходимо наличие накопителя (устройства, обеспечивающего запись и (или) считывание информации) и устройства хранения — носителя.
Основные виды накопителей:
накопители на гибких магнитных дисках (НГМД);
накопители на жестких магнитных дисках (НЖМД);
накопители на магнитной ленте (НМЛ);
накопители CD-ROM, CD-RW, DVD.
Им соответствуют основные виды носителей:
гибкие магнитные диски (Floppy Disk) (диаметром 3,5’’ и ёмкостью 1,44 Мб; диаметром 5,25’’ и ёмкостью 1,2 Мб (в настоящее время устарели и практически не используются, выпуск накопителей, предназначенных для дисков диаметром 5,25’’, тоже прекращён)), диски для сменных носителей;
жёсткие магнитные диски (Hard Disk);
кассеты для стримеров и других НМЛ;
диски CD-ROM, CD-R, CD-RW, DVD.
Запоминающие устройства принято делить на виды и категории в связи с их принципами функционирования, эксплуатационно-техническими, физическими, программными и др. характеристиками. Так, например, по принципам функционирования различают следующие виды устройств: электронные, магнитные, оптические и смешанные – магнитооптические. Каждый тип устройств организован на основе соответствующей технологии хранения/воспроизведения/записи цифровой информации. Поэтому, в связи с видом и техническим исполнением носителя информации, различают: электронные, дисковые и ленточные устройства.
Основные характеристики накопителей и носителей:
информационная ёмкость;
скорость обмена информацией;
надёжность хранения информации;
стоимость.
Остановимся подробнее на рассмотрении вышеперечисленных накопителей и носителей.
Принцип работы магнитных запоминающих устройств основан на способах хранения информации с использованием магнитных свойств материалов. Как правило, магнитные запоминающие устройства состоят из собственноустройств чтения/записи информации и магнитного носителя, на который, непосредственно осуществляется запись и с которого считывается информация. Магнитные запоминающие устройства принято делить на виды в связи с исполнением, физико-техническими характеристиками носителя информации и т.д. Наиболее часто различают: дисковые и ленточные устройства. Общая технология магнитных запоминающих устройств состоит в намагничивании переменным магнитным полем участков носителя и считывания информации, закодированной как области переменной намагниченности. Дисковые носители, как правило, намагничиваются вдоль концентрических полей – дорожек, расположенных по всей плоскости дискоидального вращающегося носителя. Запись производится в цифровом коде. Намагничивание достигается за счет создания переменного магнитного поля при помощи головок чтения/записи. Головки представляют собой два или более магнитных управляемых контура с сердечниками, на обмотки которых подается переменное напряжение. Изменение величины напряжения вызывает изменение направления линий магнитной индукции магнитного поля и, при намагничивании носителя, означает смену значения бита информации с 1 на 0 или с 0 на 1.
Итак, общая структура MBR может быть представлена следующей таблицей:
Смещение Длина Описание
000h 446 Код загрузчика
1BEh 64 Таблица разделов
16 Раздел 1
1CEh 16 Раздел 2
1DEh 16 Раздел 3
1EEh 16 Раздел 4
1FEh 2 Сигнатура (55h AAh)
Приведем формат первого сектора жесткого диска :
Смещение, байт |
Размер, байт |
Описание |
0 |
1BEh |
Загрузочная запись |
1BEh |
10H |
Элемент таблицы разделов диска |
1CEh |
10H |
Элемент таблицы разделов диска |
1DEh |
10H |
Элемент таблицы разделов диска |
1EEh |
10H |
Элемент таблицы разделов диска |
1FEh |
2 |
Признак таблицы разделов - значение 55AAh |