- •Курс «Информатика» Тема 1. Информатика и информатизация: понятия и задачи.
- •Составляющих предмет информатики
- •Тема 2. Понятия, виды и особенности данных, информации, знаний.
- •Понятие информационного поля принятия решений.
- •В большой сложной системе
- •Понятие, сущность и классификация информационных ресурсов.
- •Потребность в информационных ресурсах
- •Критерии оценки информационных ресурсов.
- •Вопрос 1. Понятие и классификация технических средств информатизации.
- •Тема 3. Технические средства информатизации
- •Вопрос 2. Понятие конфигурации персонального компьютера.
- •Вопрос 3. Назначение внутренних устройств персонального компьютера.
- •Вопрос 4. Понятие и назначение периферийных устройств персонального компьютера.
- •Тема 4. Компьютерные сети
- •Вопрос 1. Общая характеристика вычислительных сетей.
- •Вопрос 2. Классификация вычислительных сетей.
- •Вопрос 3. Понятие «открытая система» и проблемы стандартизации.
- •Вопрос 4. Эталонная модель взаимодействия открытых систем (osi).
- •Вопрос 5. Одноранговая модель взаимодействия.
- •Вопрос 6. Техническое обеспечение сетей – среда передачи данных.
- •Вопрос 7. Локальные вычислительные сети.
- •Вопрос 8. Организация функционирования глобальных сетей.
- •Арендуемые элементы глобальной сети
- •Канальный уровень глобальных сетей
- •Вопрос 9. Характеристика корпоративных компьютерных сетей.
- •Тема 5. Основы работы в сети Интернет
- •Вопрос 1. Характеристика сети Интернет.
- •Аббревиатура Интернет
- •Вопрос 2. Поисковые системы и каталоги.
- •Вопрос 3. Поисковые систем (машины) и каталогов.
- •Сводная таблица по ведущим поисковым машинам
- •Вопрос 4. Обзор каталогов.
- •Сводная таблица избранных предметных каталогов
- •Вопрос 5. Планирование поисковой процедуры.
- •Технология поиска
- •7. Попробуйте использовать язык запросов.
- •8. Искать без морфологии.
- •9. Поиск картинок и фотографий.
- •Тема 6. Основы работы с операционной системой ms Windows
- •Вопрос 1. Понятие операционной системы.
- •Вопрос 2. Назначение, состав и функции операционных систем.
- •Вопрос 3. Виды операционных систем.
- •Вопрос 4. Требования к операционным системам.
- •Расширяемость.
- •Переносимость.
- •Совместимость.
- •Безопасность.
Переносимость.
Требование переносимости кода тесно связано с расширяемостью. Расширяемость позволяет улучшать операционную систему, в то время как переносимость дает возможность перемещать всю систему на машину, базирующуюся на другом процессоре или аппаратной платформе, делая при этом по возможности небольшие изменения в коде. Хотя ОС часто описываются либо как переносимые, либо как непереносимые, переносимость - это не бинарное состояние. Вопрос не в том, может ли быть система перенесена, а в том, насколько легко можно это сделать. Написание переносимой ОС аналогично написанию любого переносимого кода - нужно следовать некоторым правилам.
Во-первых, большая часть кода должна быть написана на языке, который имеется на всех машинах, куда вы хотите переносить систему. Обычно это означает, что код должен быть написан на языке высокого уровня, предпочтительно стандартизованном, например, на языке С. Программа, написанная на ассемблере, не является переносимой, если только вы не собираетесь переносить ее на машину, обладающую командной совместимостью с вашей.
Во-вторых, следует учесть, в какое физическое окружение программа должна быть перенесена. Различная аппаратура требует различных решений при создании ОС. Например, ОС, построенная на 32-битовых адресах, не может быть перенесена на машину с 16-битовыми адресами (разве что с огромными трудностями).
В-третьих, важно минимизировать или, если возможно, исключить те части кода, которые непосредственно взаимодействуют с аппаратными средствами. Зависимость от аппаратуры может иметь много форм. Некоторые очевидные формы зависимости включают прямое манипулирование регистрами и другими аппаратными средствами.
В-четвертых, если аппаратно зависимый код не может быть полностью исключен, то он должен быть изолирован в нескольких хорошо локализуемых модулях. Аппаратно-зависимый код не должен быть распределен по всей системе. Например, можно спрятать аппаратно-зависимую структуру в программно-задаваемые данные абстрактного типа. Другие модули системы будут работать с этими данными, а не с аппаратурой, используя набор некоторых функций. Когда ОС переносится, то изменяются только эти данные и функции, которые ими манипулируют.
Для легкого переноса ОС при ее разработке должны быть соблюдены следующие требования:
Переносимый язык высокого уровня. Большинство переносимых ОС написано на языке С (стандарт ANSI X3.159-1989). Разработчики выбирают С потому, что он стандартизован, и потому, что С-компиляторы широко доступны. Ассемблер используется только для тех частей системы, которые должны непосредственно взаимодействовать с аппаратурой (например, обработчик прерываний) или для частей, которые требуют максимальной скорости (например, целочисленная арифметика повышенной точности). Однако непереносимый код должен быть тщательно изолирован внутри тех компонентов, где он используется.
Изоляция процессора. Некоторые низкоуровневые части ОС должны иметь доступ к процессорно-зависимым структурам данных и регистрам. Однако код, который делает это, должен содержаться в небольших модулях, которые могут быть заменены аналогичными модулями для других процессоров.
Изоляция платформы. Зависимость от платформы заключается в различиях между рабочими станциями разных производителей, построенными на одном и том же процессоре (например, MIPS R4000). Должен быть введен программный уровень, абстрагирующий аппаратуру (кэши, контроллеры прерываний ввода-вывода и т. п.) вместе со слоем низкоуровневых программ таким образом, чтобы высокоуровневый код не нуждался в изменении при переносе с одной платформы на другую.
