- •Управление данными
- •1.Автоматизированные информационные системы.
- •2.Классификация, состав и структура аис.
- •3.Информационное обеспечение аис, перспективы развития бд.
- •4.Понятие базы данных, организация.
- •Проблемы определения
- •Классификация по среде постоянного хранения
- •История
- •Виды баз данных
- •Классификация по модели данных
- •Классификация по содержимому
- •Классификация по степени распределённости
- •Другие виды бд
- •Сверхбольшие базы данных
- •5.Проектирование баз данных.
- •Основные задачи проектирования баз данных
- •Основные этапы проектирования баз данных Концептуальное (инфологическое) проектирование
- •Логическое (даталогическое) проектирование[править | править исходный текст]
- •Физическое проектирование[править | править исходный текст]
- •Нормализация[править | править исходный текст]
- •Модели «сущность-связь»[править | править исходный текст]
- •Семантические модели[править | править исходный текст]
- •6.Архитектура субд и ее основные функции.
- •Система управления базами данных
- •Содержание
- •Основные функции субд[править | править исходный текст]
- •7.Понятие и компоненты банка данных.
- •8.Предметная область и моделирование аис.
- •Предметная область и моделирование аис
- •9.Модели данных.
- •10.Язык sql – функции запросов и основные возможности.
- •Введение[править | править исходный текст]
- •Описание[править | править исходный текст]
- •Операторы[править | править исходный текст]
- •Преимущества и недостатки[править | править исходный текст] Преимущества[править | править исходный текст]
- •Недостатки[править | править исходный текст]
- •Расширения[править | править исходный текст] Процедурные расширения[править | править исходный текст]
- •11. Обработка транзакций в sql
- •Проектирование информационных систем
- •1.Понятие об архитектуре ис. Виды, области применения. Одноранговые, централизованные, распределенные, терминальные системы. Архитектура клиент-сервер, терминальные системы, трехзвенные системы.
- •2.Системы. Основные определения и закономерности систем. Классификация систем по уровню сложности. Системный подход к построению ис.
- •Закономерности систем
- •Системы классифицируются следующим образом:
- •Системный подход
- •1. Классификация ис по признаку структурированности задач:
- •3. По выполняемым функциям и решаемым задачам:
- •4. По масштабу и интеграции компонент:
- •5. По характеру обработки информации на различных уровнях управления предприятием:
- •3.Пользовательский интерфейс и его эргономика. Интерфейс ис как сценарий поведения пользователя. Роль графического дизайна в ис.
- •4.Принципы проектирования сложных объектов. Нисходящее и восходящее проектирование.
- •Нисходящее и восходящее проектирование
- •5.Жизненный цикл информационных систем: каскадная и спиральная модели.
- •6.Методологии проектирования по. Case-технологии, их содержание и классификации
- •7.Case-средства: функции, назначение, классификация.
- •Network-attached storage (nas)[править]
- •Storage area network (san)[править]
- •Отличия и конвергенция san и nas[править]
- •Content-addressable storage (cas)[править]
- •Нормальные формы[править | править исходный текст]
- •Первая нормальная форма (1nf)[править | править исходный текст]
- •9.Этапы проектирования бд. Цель и виды работ на этапах концептуального, логического и физического проектирования.
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •Инфологическое моделирование
- •Концептуальное проектирование
- •10.Проектирование методом «сущность-связь». Нормализация отношений.
- •11. Объектно-ориентированный подход при проектировании ис. Унифицированный язык моделирования uml.
- •12. Концептуальная модель uml, строительные блоки uml, правила языка uml, общие механизмы языка uml, архитектура, жизненный цикл разработки по.
- •Диаграмма классов[править | править исходный текст]
- •Диаграмма компонентов[править | править исходный текст]
- •Диаграмма композитной/составной структуры[править | править исходный текст]
- •Диаграмма развёртывания[править | править исходный текст]
- •Диаграмма объектов[править | править исходный текст]
- •Диаграмма пакетов[править | править исходный текст]
- •Диаграмма деятельности[править | править исходный текст]
- •Диаграмма автомата[править | править исходный текст]
- •Диаграмма сценариев использования[править | править исходный текст]
- •Диаграммы коммуникации и последовательности[править | править исходный текст]
- •Диаграмма обзора взаимодействия[править | править исходный текст]
- •Диаграмма синхронизации[править | править исходный текст]
- •Преимущества uml[править | править исходный текст]
- •Критика[править | править исходный текст]
- •Архитектура эвм и систем
- •1.Понятие архитектуры эвм. Области применения и классификация эвм. Структура эвм: состав и назначение основных блоков.
- •2.Понятие архитектуры мп. Особенности архитектур вычислительных систем cisc, risc, mips, sparc. Области применения.
- •3.Внутренняя структура мп. Назначение узлов, входящих в типовую структуру мп.
- •4.Арифметико-логическое устройство (алу): назначение, структура и принцип действия.
- •Операции в алу[править | править исходный текст]
- •Классификация алу[править | править исходный текст]
- •5.Формат и основные этапы выполнения команды микропроцессора на примере семейства Intel х86.
- •Цикл выполнения команды
- •6.Сопроцессоры. Назначение, система команд на примере процессоров Intel x86.
- •Сопроцессоры[править | править исходный текст]
- •Сопроцессоры Intel семейства x86[править | править исходный текст]
- •Содержание
- •Области применения[править | править исходный текст]
- •Содержание
- •7.Команды мультимедийного расширения. Сравнение мультимедийных расширений от фирм Intel и amd.
- •Содержание
- •Предпосылки[править | править исходный текст]
- •8.Организация и принцип работы памяти.
- •Функции памяти[править | править исходный текст]
- •Физические основы функционирования[править | править исходный текст]
- •Классификация типов памяти[править | править исходный текст]
- •Доступные операции с данными[править | править исходный текст]
- •Метод доступа[править | править исходный текст]
- •Организация хранения данных и алгоритмы доступа к ним[править | править исходный текст]
- •Назначение[править | править исходный текст]
- •Организация адресного пространства[править | править исходный текст]
- •Удалённость и доступность для процессора[править | править исходный текст]
- •Управление процессором[править | править исходный текст]
- •Прочие термины[править | править исходный текст]
- •9.Назначение и классификация зу. Физическая и логическая структура зу, их характеристики и параметры.
- •10.Понятие шины. Синхронная и асинхронная шины. Шины pci, usb, ide и scsi.
- •11.Интерфейсы периферийных устройств. Периферийные устройства эвм.
- •12.Контроллеры, основные функции и реализация
- •13.Видеоподсистема эвм. Назначение, организация, характеристики.
- •14. Устройства печати. Назначение и классификация.
- •Содержание
- •Классификация[править | править исходный текст]
- •Матричные принтеры[править | править исходный текст]
- •Струйные принтеры[править | править исходный текст]
- •Классификация[править | править исходный текст]
- •Сублимационные принтеры[править | править исходный текст]
- •Лазерные принтеры[править | править исходный текст]
- •Термопринтеры[править | править исходный текст]
- •Содержание
- •Типы графопостроителей[править | править исходный текст]
- •Планшетные графопостроители[править | править исходный текст]
- •Графопостроители с перемещающимся носителем[править | править исходный текст]
- •Электростатические графопостроители[править | править исходный текст]
- •Фотографопостроители[править | править исходный текст]
- •Производители[править | править исходный текст]
- •15.Внешние запоминающие устройства. Назначение и классификация. Физическая и логическая структура.
- •Назначение, классификация и характеристики внешних запоминающих
- •Операционные системы
- •1.Операционная система (ос). Классификация ос. Эволюция ос. Функции ос. Разновидности ос. Обобщенная модель иерархической ос.
- •Эволюция ос.
- •Функции ос.
- •3.Типовые средства аппаратной поддержки операционных систем, bios.
- •Типовые средства аппаратной поддержки ос
- •Назначение bios материнской платы[править | править исходный текст] Инициализация и проверка работоспособности аппаратуры[править | править исходный текст]
- •Загрузка операционной системы[править | править исходный текст]
- •Утилиты, доступные без загрузки ос[править | править исходный текст]
- •Простейший драйвер[править | править исходный текст]
- •Конфигурирование оборудования[править | править исходный текст]
- •Slic (Software Licensing Description Table)[править | править исходный текст]
- •4.Понятие виртуальной машины. Принципы работы, управления, защиты данных и памяти.
- •5.Файловые системы. Файлы и каталоги. Имена и типы. Файловые системы fat32, ntfs, их характеристики.
- •Классификация файловых систем[править | править исходный текст]
- •Задачи файловой системы[править | править исходный текст]
- •6.Классификация программного обеспечения (по). Базовый уровень по. Системный уровень по. Драйверы. Служебный уровень по. Утилиты. Прикладной уровень по.
- •7.Ресурсы компьютерной системы. Классификация. Распределение и управление ресурсами. Проблемы взаимодействующих процессов.
- •8.Процессы и потоки. Многозадачность и многопоточность. Проблемы разработки приложений для многопоточной среды.
- •Содержание
- •Свойства многозадачной среды[править | править исходный текст]
- •Трудности реализации многозадачной среды[править | править исходный текст]
- •Содержание
- •Типы реализации потоков[править | править исходный текст]
- •Взаимодействие потоков[править | править исходный текст]
- •9.Способы передачи сообщений. Синхронный и асинхронный обмен данными между устройствами компьютерной системы.
- •Асинхронная передача.
- •Синхронная передача.
- •10.Организация памяти (адресация, распределение). Основные понятия защищенного режима.
- •Виртуальные и физические адреса
- •Распределение памяти без использования виртуальных адресов настройка адресов
- •Распределение с фиксированными разделами
- •Распределение с динамическими разделами
- •Страничная организация памяти
- •Сравнение сегментной и страничной организации
- •11.Способы обеспечения монопольного доступа к разделяемым ресурсам. Алгоритмы распределения памяти. Способы защиты памяти.
- •12.Логическая и физическая организация файла. Операции над файлами.
- •51. Логическая организация файла. Файлы с индексно-последовательной структурой.
- •52. Логическая организация файла. Библиотечная структура файлов.
- •53. Физическая структура файла. Способы размещения информации. Непрерывное размещение. Достоинства и недостатки.
- •54. Физическая структура файла. Способы размещения информации. Связный список индексов. Достоинства и недостатки.
- •55. Физическая структура файла. Способы размещения информации. Перечень номеров блоков. Достоинства и недостатки.
- •Информационная безопасность и защита информации
- •3. Понятие политики информационной безопасности. Назначение политики безопасности. Основные типы политики безопасности доступа к данным.
- •4. Защита информации в ит. Основные технологические решения. Шифрование данных. Общая характеристика алгоритмов шифрования, схемы работы.
- •5. Примеры алгоритмов симметричного шифрования и шифрования с открытым ключом. Гибридные криптосистемы. Понятие эцп и сертификата. Протоколы ipSec и ssl.
- •6. Требования к системам криптографической защиты: криптографические требования, требования надежности, требования по защите от нсд, требования к средствам разработки.
- •Мультимедиа технология
- •1.Понятие информации, различные его трактовки. Определения информации (по законодательству Российской Федерации, по н. Винеру, другие).
- •2.Функциональная и структурная организация обработки мультимедийной информации;
- •4.Векторная, растровая, фрактальная и программная графика, их сходство и различие.
- •5.Принципы отображения графической информации. Способы сжатия изображений. Способы преобразования форматов. Типы файлов изображений.
- •6.Основные программные пакеты, применяемые для редактирования графики в мультимедиа технологиях.
- •7.Цветовые модели, их характеристики и области применения.
- •8.Анимация в мультимедиа технологиях. Принципы и методы анимации. Технологии создания анимации в мультимедиа технологиях.
- •Методы анимации
- •9.Средства линейного и нелинейного компьютерного видеомонтажа.
- •Захват видео
- •10.Аппаратные и программные средства обработки звука.
- •11. Сжатие данных. Определение и виды. Примеры кодирования, их применение в информационных технологиях.
- •Способы (виды) сжатия данных:
- •Методы и средства сжатия данных:
3.Типовые средства аппаратной поддержки операционных систем, bios.
Четкой границы между программной и аппаратной реализацией функций ОС не существует - решение о том, какие функции ОС будут выполняться программно, а какие аппаратно, принимается разработчиками аппаратного и программного обеспечения компьютера. Тем не менее практически все современные аппаратные платформы имеют некоторый типичный набор средств аппаратной поддержки ОС, в который входят следующие компоненты: 1) средства поддержки привилегированного режима;
2) средства трансляции адресов; 3) средства переключения процессов; 4) система прерываний;
5) системный таймер; 6) средства защиты областей памяти.
BIOS («базовая система ввода-вывода») — реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе API доступа к аппаратуре компьютера и подключенным к нему устройствам.
Назначение BIOS материнской платы:
1) Инициализация и проверка работоспособности аппаратуры;
2) Загрузка операционной системы;
3) Конфигурирование оборудования.
Типовые средства аппаратной поддержки ос
Типовые средства аппаратной поддержки ОС - раздел Философия, Введение в операционные системы. Определение, назначение, состав и функции операционных систем
Четкой границы между программной и аппаратной реализацией функций ОС не существует — решение о том, какие функции ОС будут выполняться программно, а какие аппаратно, принимается разработчиками аппаратного и программного обеспечения компьютера. Тем не менее практически все современные аппаратные платформы имеют некоторый типичный набор средств аппаратной поддержки ОС, в который входят следующие компоненты:
- средства поддержки привилегированного режима;
- средства трансляции адресов;
- средства переключения процессов;
- система прерываний;
- системный таймер;
- средства защиты областей памяти.
Средства поддержки привилегированного режима обычно основаны на системном регистре процессора, часто называемом «словом состояния» машины или процессора. Этот регистр содержит некоторые признаки, определяющие режимы работы процессора, в том числе и признак текущего режима привилегий. Смена режима привилегий выполняется за счет изменения слова состояния машины в результате прерывания или выполнения привилегированной команды. Число градаций привилегированности может быть разным у разных типов процессоров, наиболее часто используются два уровня (ядро-пользователь) или четыре (например, ядро-супервизор-выполнение-пользователь у платформы VAX или 0-1-2-3 у процессоров Intel x86/Pentium). В обязанности средств поддержки привилегированного режима входит выполнение проверки допустимости выполнения активной программой инструкций процессора при текущем уровне привилегированности.
Средства трансляции адресов выполняют операции преобразования виртуальных адресов, которые содержатся в кодах процесса, в адреса физической памяти. Таблицы, предназначенные при трансляции адресов, обычно имеют большой объем, поэтому для их хранения используются области оперативной памяти, а аппаратура процессора содержит только указатели на эти области. Средства трансляции адресов используют данные указатели для доступа к элементам таблиц и аппаратного выполнения алгоритма преобразования адреса, что значительно ускоряет процедуру трансляции по сравнению с ее чисто программной реализацией.
Средства переключения процессов предназначены для быстрого сохранения контекста приостанавливаемого процесса и восстановления контекста процесса, который становится активным. Содержимое контекста обычно включает содержимое всех регистров общего назначения процессора, регистра флагов операций (то есть флагов нуля, переноса, переполнения и т. п.), а также тех системных регистров и указателей, которые связаны с отдельным процессом, а не операционной системой, например указателя на таблицу трансляции адресов процесса. Для хранения контекстов приостановленных процессов обычно используются области оперативной, памяти, которые поддерживаются указателями процессора.
Переключение контекста выполняется по определенным командам процессора, например по команде перехода на новую задачу. Такая команда вызывает автоматическую загрузку данных из сохраненного контекста в регистры процессора, после чего процесс продолжается с прерванного ранее места.
Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной системе некоторого непредсказуемого события или события, которое не синхронизировано с циклом работы процессора. Примерами таких событий могут служить завершение операции ввода-вывода внешним устройством (например, запись блока данных контроллером диска), некорректное завершение арифметической операции (например, переполнение регистра), истечение интервала астрономического времени. При возникновении условий прерывания его источник (контроллер внешнего устройства, таймер, арифметический блок процессора и т. п.) выставляет определенный электрический сигнал. Этот сигнал прерывает выполнение процессором последовательности команд, задаваемой исполняемым кодом, и вызывает автоматический переход на заранее определенную процедуру, называемую процедурой обработки прерываний. В большинстве моделей процессоров отрабатываемый аппаратурой переход на процедуру обработки прерываний сопровождается заменой слова состояния машины (или даже всего контекста процесса), что позволяет одновременно с переходом по нужному адресу выполнить переход в привилегированный режим. После завершения обработки прерывания обычно происходит возврат к исполнению прерванного кода.
Прерывания играют важнейшую роль в работе любой операционной системы, являясь ее движущей силой. Действительно, большая часть действий ОС инициируется прерываниями различного типа. Даже системные вызовы от приложений выполняются на многих аппаратных платформах с помощью специальной инструкции прерывания, вызывающей переход к выполнению соответствующих процедур ядра (например, инструкция int в процессорах Intel или SVC в мэйнфреймах IBM).
Системный таймер, часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. Для этого в регистр таймера программно загружается значение требуемого интервала в условных единицах, из которого затем автоматически с определенной частотой начинает вычитаться по единице. Частота «тиков» таймера, как правило, тесно связана с частотой тактового генератора процессора. (Не следует путать таймер ни с тактовым генератором, который вырабатывает сигналы, синхронизирующие все операции в компьютере, ни с системными часами — работающей на батареях электронной схеме, — которые ведут независимый отсчет времени и календарной даты.) При достижении нулевого значения счетчика таймер инициирует прерывание, которое обрабатывается процедурой операционной системы. Прерывания от системного таймера используются ОС в первую очередь для слежения за тем, как отдельные процессы расходуют время процессора. Например, в системе разделения времени при обработке очередного прерывания от таймера планировщик процессов может принудительно передать управление другому процессу, если данный процесс исчерпал выделенный ему квант времени.
Средства защиты областей памяти обеспечивают на аппаратном уровне проверку возможности программного кода осуществлять с данными определенной области памяти такие операции, как чтение, запись или выполнение (при передачах управления). Если аппаратура компьютера поддерживает механизм трансляции адресов, то средства защиты областей памяти встраиваются в этот механизм. Функции аппаратуры по защите памяти обычно состоят в сравнении уровней привилегий текущего кода процессора и сегмента памяти, к которому производится обращение.
Машинно-зависимые компоненты ОС
Одна и та же операционная система не может без каких-либо изменений устанавливаться на компьютерах, отличающихся типом процессора или/и способом организации всей аппаратуры. В модулях ядра ОС не могут не отразиться такие особенности аппаратной платформы, как количество типов прерываний и формат таблицы ссылок на процедуры обработки прерываний, состав регистров общего назначения и системных регистров, состояние которых нужно сохранять в контексте процесса, особенности подключения внешних устройств и многие другие.
Однако опыт разработки операционных систем показывает: ядро можно спроектировать таким образом, что только часть модулей будут машинно-зависимыми, а остальные не будут зависеть от особенностей аппаратной платформы. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, естественно примыкающий к слою аппаратуры, как это и показано на рис. 3.8. Такая локализация машинно-зависимых модулей существенно упрощает перенос операционной системы на другую аппаратную платформу.
Объем машинно-зависимых компонентов ОС зависит от того, насколько велики отличия в аппаратных платформах, для которых разрабатывается ОС. Например, ОС, построенная на 32-битовых адресах, для переноса на машину с 16-битовыми адресами должна быть практически переписана заново. Одно из наиболее очевидных отличий — несовпадение системы команд процессоров — преодолевается достаточно просто. Операционная система программируется на языке высокого уровня, а затем соответствующим компилятором вырабатывается код для конкретного типа процессора. Однако во многих случаях различия в организации аппаратуры компьютера лежат гораздо глубже и преодолеть их таким образом не удается. Например, однопроцессорный и двухпроцессорный компьютеры требуют применения в ОС совершенно разных алгоритмов распределения процессорного времени. Аналогично отсутствие аппаратной поддержки виртуальной памяти приводит к принципиальному различию в реализации подсистемы управления памятью. В таких случаях не обойтись без внесения в код операционной системы специфики аппаратной платформы, для которой эта ОС предназначается.
Для уменьшения количества машинно-зависимых модулей производители операционных систем обычно ограничивают универсальность машинно-независимых модулей. Это означает, что их независимость носит условный характер и распространяется только на несколько типов процессоров и созданных на основе этих процессоров аппаратных платформ. По этому пути пошли, например, разработчики ОС Windows NT, ограничив количество типов процессоров для своей системы четырьмя и поставляя различные варианты кодов ядра для однопроцессорных и многопроцессорных компьютеров.
Особое место среди модулей ядра занимают низкоуровневые драйверы внешних устройств. С одной стороны эти драйверы, как и высокоуровневые драйверы, входят в состав менеджера ввода-вывода, то есть принадлежат слою ядра, занимающему достаточно высокое место в иерархии слоев. С другой стороны, низкоуровневые драйверы отражают все особенности управляемых внешних устройств, поэтому их можно отнести и к слою машинно-зависимых модулей. Такая двойственность низкоуровневых драйверов еще раз подтверждает схематичность модели ядра со строгой иерархией слоев.
Для компьютеров на основе процессоров Intel x86/Pentium разработка экранирующего машинно-зависимого слоя ОС несколько упрощается за счет встроенной в постоянную память компьютера базовой системы ввода-вывода — BIOS. BIOS содержит драйверы для всех устройств, входящих в базовую конфигурацию компьютера: жестких и гибких дисков, клавиатуры, дисплея и т. д. Эти драйверы выполняют весьма примитивные операции с управляемыми устройствами, например чтение группы секторов данных с определенной дорожки диска, но за счет этих операций экранируются различия аппаратных платформ персональных компьютеров и серверов на процессорах Intel разных производителей. Разработчики операционной системы могут пользоваться слоем драйверов BIOS как частью машинно-зависимого слоя ОС, а могут и заменить все или часть драйверов BIOS компонентами ОС.
Переносимость операционной системы
Если код операционной системы может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа, то такую ОС называют переносимой (portable), или мобильной.
Хотя ОС часто описываются либо как переносимые, либо как непереносимые, мобильность — это не бинарное состояние, а понятие степени. Вопрос не в том, может ли быть система перенесена, а в том, насколько легко можно это сделать. Для того чтобы обеспечить свойство мобильности ОС, разработчики должны следовать следующим правилам.
- Большая часть кода должна быть написана на языке, трансляторы которого имеются на всех машинах, куда предполагается переносить систему. Такими языками являются стандартизованные языки высокого уровня. Большинство переносимых ОС написано на языке С, который имеет много особенностей, полезных для разработки кодов операционной системы, и компиляторы которого широко доступны. Программа, написанная на ассемблере, является переносимой только в тех случаях, когда перенос операционной системы планируется на компьютер, обладающий той же системой команд. В остальных случаях ассемблер используется только для тех непереносимых частей системы, которые должны непосредственно взаимодействовать с аппаратурой (например, обработчик прерываний), или для частей, которые требуют максимальной скорости (например, целочисленная арифметика повышенной точности).
- Объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть по возможности минимизирован. Так, например, следует всячески избегать прямого манипулирования регистрами и другими аппаратными средствами процессора. Для уменьшения аппаратной зависимости разработчики ОС должны также исключить возможность использования по умолчанию стандартных конфигураций аппаратуры или их характеристик. Аппаратно-зависимые параметры можно «спрятать» в програмно-задаваемые данные абстрактного типа. Для осуществления всех необходимых действий по управлению аппаратурой, представленной этими параметрами, должен быть написан набор аппаратно-зависимых функций. Каждый раз, когда какому-либо модулю ОС требуется выполнить некоторое действие, связанное с аппаратурой, он манипулирует абстрактными данными, используя соответствующую функцию из имеющегося набора. Когда ОС переносится, то изменяются только эти данные и функции, которые ими манипулируют. Например, в ОС Windows NT диспетчер прерываний преобразует аппаратные уровни прерываний конкретного типа процессора в стандартный набор уровней прерываний IRQL, с которыми работают остальные модули операционной системы. Поэтому при переносе Windows NT на новую платформу нужно переписать, в частности, те коды диспетчера прерываний, которые занимаются отображением уровней прерывания на абстрактные уровни IRQL, а те модули ОС, которые пользуются этими абстрактными уровнями, изменений не потребуют.
- Аппаратно-зависимый код должен быть надежно изолирован в нескольких модулях, а не быть распределен по всей системе. Изоляции подлежат все части ОС, которые отражают специфику как процессора, так и аппаратной платформы в целом. Низкоуровневые компоненты ОС, имеющие доступ к процессорно-зависимым структурам данных и регистрам, должны быть оформлены в виде компактных модулей, которые могут быть заменены аналогичными модулями для других процессоров. Для снятия платформенной зависимости, возникающей из-за различий между компьютерами разных производителей, построенными на одном и том же процессоре (например, MIPS R4000), должен быть введен хорошо локализованный программный слой машинно-зависимых функций.
В идеале слой машинно-зависимых компонентов ядра полностью экранирует остальную часть ОС от конкретных деталей аппаратной платформы (кэши, контроллеры прерываний ввода-вывода и т. п.), по крайней мере для того набора платформ, который поддерживает данная ОС. В результате происходит подмена реальной аппаратуры некой унифицированной виртуальной машиной, одинаковой для всех вариантов аппаратной платформы. Все слои операционной системы, которые лежат выше слоя машинно-зависимых компонентов, могут быть написаны для управления именно этой виртуальной аппаратурой. Таким образом, у разработчиков появляется возможность создавать один вариант машинно-независимой части ОС (включая компоненты ядра, утилиты, системные обрабатывающие программы) для всего набора поддерживаемых платформ.
