Иерархическая структура компьютера
3. Операционные системы и процесс начальной загрузки
3.1. Иерархическая структура компьютера
Прежде чем углубиться в изучение операционных систем, необходимо разобраться со сложными (и, увы, иногда нарушающимися) взаимосвязями между аппаратурой и программным обеспечением компьютера. Эти взаимосвязи часто изображаются в виде иерархической структуры, показанной на рис. На каждом из уровней иерархии в процессе работе компьютера выполняются свои строго определенные задачи. Таких уровней четыре: аппаратные средства, BIOS (Basic Input/Output System - базовая система ввода/вывода), операционная система и прикладные программы (приложения).
3.1.1. Аппаратные средства
Как и следовало ожидать, ядром иерархии компьютера являются аппаратные средства, поскольку что-то должно исполнять написанные программы. К аппаратным средствам относятся различные электронные компоненты, накопители, платы расширения, источники питания, периферийные устройства и соединяющие их проводники и кабели. К ним же относятся внешние по отношению к системному блоку компьютера компоненты: мониторы, клавиатуры, манипуляторы, принтеры и т.п. Посылая соответствующие цифровые коды в различные порты ввода/вывода или записывая их в различные ячейки памяти, можно управлять практически всем, что прямо или косвенно подключено к центральному процессору системы. Однако для того чтобы управлять устройствами, входящими в состав вычислительной системы, на аппаратном уровне, необходимо очень хорошо разбираться в их схемотехнике. Каким же образом, корпорации Microsoft удается продавать операционные системы, которые работают как на компьютерах, совместимых с АТ на базе процессора 386 так и на новых системах с процессором Pentium-4? Практически каждая фирма-производитель проектирует свои электронные блоки самостоятельно (особенно это характерно для системных плат). Поэтому практически невозможно создать универсальную операционную систему, которая работала бы без некоего посредника между собой и множеством разновидностей существующих на сегодняшний день аппаратных средств. Таким посредником (интерфейсом) является BIOS.
3.1.2. Базовая система ввода/вывода (BIOS)
BIOS — это набор небольших программ каждая из которых предназначена для управления одной из основных подсистем компьютера (видео и дисковой системы, клавиатуры и т.п.). Эти функции инициализируется с помощью стандартных вызовов (первоначально разработанных фирмой IBM), осуществляемых операционной системой. Когда операционной системе необходимо, чтобы BIOS выполнила какую-либо стандартную процедуру, то вызывается соответствующая программа BIOS, обслуживающая конкретное устройство в компьютере и разработанная специально для этого устройства. По этой причине для каждой модели системной платы требуется своя BIOS. В рамках принятой методологии BIOS отводится роль связующего звена, позволяющего операционным системам работать с самой разнообразной аппаратурой. Кроме выполнения функций по обслуживанию аппаратных средств, BIOS при каждом включении компьютера проводит процедуру его самопроверки (POST— Power-On Self-Test). Она необходима для того, чтобы проверить все основные подсистемы компьютера перед попыткой загрузить операционную систему. Поскольку для каждой модели системной платы разрабатывается собственная BIOS, она хранится на самой плате в интегральной микросхеме постоянного запоминающего устройства (ПЗУ или ROM — Read-Only Memory). В новейших системах в качестве хранилища BIOS используется электрически перепрограммируемое постоянное запоминающее устройство (flash-ROM), позволяющее модернизировать BIOS без замены самой микросхемы. Поскольку BIOS постоянно хранится в микросхеме, ее часто называют (встроенным программным обеспечением (firmware)).
3.1.3. Встроенные программы и BIOS
Встроенные или зашитые программы (firmware) - особый класс программного обеспечения, получивший свое название из-за того, что хранятся эти программы в ППЗУ микросхем. Все встроенные программы часто называют одним словом “BIOS” (Basic Input/Output System - базовая система ввода-вывода), потому что в первых персональных компьютерах встроенные программы имелись только в микросхемах ПЗУ BIOS (ROM-BIOS). Сейчас это уже не так: почти все компоненты современного персонального компьютера имеют собственные микросхемы ППЗУ со встроенными программами. Жесткие диски, контроллеры SCSI, видеоадаптеры, звуковые карты и большинство других устройств содержат встроенные программы, причем чаще всего доступные не только для чтения.
Ещё посмотрите лекцию "2.5. Параллельные АЦП" по этой теме.
3.1.4. Операционная система
Операционная система (operating system) ос - это программа, управляющая самим персональным компьютером, обеспечивающая выполнение базовых функций, таких как запись на диск и чтение с него или вывод изображения на монитор. На персональном компьютере можно установить любую из десятков существующих операционных систем, включая DOS, Windows 95/98/98SE/Me (все эти системы мы будем обозначать как Windows 9X, а все их, за исключением Windows 95, будем называть Windows 98), Windows NT, Windows 2000, Windows XP, Linux и другие версии Unix, NetWare, BeOS и многие другие. От того, какую операционную систему вы установили на свой компьютер, зависит, какие приложения вы сможете запускать, с каким оборудованием работать (некоторые устройства поддерживаются лишь избранными операционными системами), какие технологии будут вам доступны (например, NT не поддерживает Plug-N-Play и USB) и насколько надежной будет ваша система. Огромное большинство персональных компьютеров работают под управлением Windows 95/98/Me/NT/2000/XP, по крайней мере, на сегодняшний день. Однако нельзя не отметить, что Linux сейчас посягает на монополию Microsoft на рынке операционных систем для настольных компьютеров.
3.1.5. Приложения и программы
Многие думают, что персональный компьютер состоит только из оборудования. Без программ оборудование будет просто бесполезной кучей кремния, металла и пластика. Программы - это последовательности инструкций, позволяющих компьютеру выполнять определенные действия. Программы обычно разделяются на три категории.
Прикладные программы (application programs) - это то, о чем люди думают прежде всего, когда слышат слово software (программное обеспечение). Эти программы предназначены для решения конкретных пользовательских задач, таких как создание текстового документа или электронной таблицы, путешествие в Веб, обмен почтовыми сообщениями, работа с расписанием, создание презентации или восстановление удаленного файла. Количество прикладных программ исчисляется сотнями тысяч. Чего бы вы ни пожелали сделать на своем компьютере - почти наверняка найдется программа, которая поможет вам в этом.
Драйверы устройств (device drivers). Да, мы сказали, что операционная система определяет, какими периферийными устройствами вы сможете пользоваться. Это верно, но лишь косвенно. Операционные системы сами по себе способны работать лишь с самыми простыми, стандартными компонентами системы, такими как память, системные часы и т. д. Драйверы устройств - это небольшие программы, работающие на очень низком уровне и обеспечивающие интеграцию поддержки этих устройств в операционную систему. Использование драйверов устройств позволяет операционным системам быть расширяемыми: установка нового устройства не требует обновления самой операционной системы. Например, если вы устанавливаете новый видеоадаптер, подключение драйвера этого адаптера позволит операционной системе распознать его и использовать все его возможности в полном объеме. Большинство операционных систем содержат в комплекте поставки так называемые “ванилиновые” драйверы (vanilla drivers), которые позволяют использовать устройство не на полную мощность (хорошим примером является драйвер “Стандартный видеоадаптер (VGA)” в Windows), пока вы не найдете “родной” драйвер для этого устройства. Нужно взять себе за правило: при установке нового оборудования загружать самые свежие драйверы устройств от производителя.