Основная функция BIOS заключается в управлении стандартными внешними и внутренними устройствами:
- монитором
- клавиатурой
- дисководами
- принтером
- таймером
Вспомогательные функции реализуются при включении ПК на этапе так называемой «предварительной загрузки»:
- тестирование аппаратного обеспечения, в том числе оперативной памяти. В случае обнаружения неисправности выводится индикация
- инициализация векторов прерывания нижнего уровня (ранжирование устройств ПК по степени значимости, «важности»)
- поиск сначала на гибком, затем на жестком диске программы-загрузчика операционной системы (OS-loader) и загрузка ОС в оперативную память
Системный уровень - является переходным. Системное программное обеспечение (system software) – это, фактически, минимальный набор программных средств, обеспечивающих работу компьютера. Программы этого уровня обеспечивают взаимодействие других программ компьютера с программами базового уровня и непосредственно с аппаратным обеспечением, то есть выполняют "посреднические" функции. От программ этого уровня зависят эксплуатационные показатели всей вычислительной системы.
К системному программному обеспечению относятся:
- операционная система и её компоненты (оснастка ОС: файлы динамических библиотек, программы для управления оборудованием – так называемые драйверы, программы для обслуживания работы операционной системы (системные утилиты), входящие в её состав и т. д.)
- операционные оболочки
- файловые менеджеры
Операционная система (operating system) – набор программ, обеспечивающих работоспособность компьютерной системы, управление аппаратурой и прикладными программами, интерфейс с пользователем.
Исторически, первой операционной системой для IBM-совместимых компьютеров была MS-DOS, которую предложила фирма Microsoft в конце 70_х годов. Сегодня она практически не используется в качестве настольной операционной системы для домашнего и офисного применения. Лишь очень небольшая ниша рынка ПО занята ей и её аналогами: MS-DOS или аналогичные операционные системы используются для управления каким-либо специализированным оборудованием в так называемых «промышленных ЭВМ» (industrial PC).
В настоящее время на IBM-совместимых персональных компьютерах с x32/x64-архитектурой центральных процессоров устанавливаются различные версии операционной системы Windows (разработка фирмы Microsoft), UNIX (разработка Bell Laboratories и UNIX Group) и Linux (свободно распространяемая UNIX-подобная ОС, разрабатываемая сообществом программистов во главе с Линусом Торвальдсом). Также возможна установка специализированных операционных систем (операционных систем реального времени – ОСРВ, а также сетевых операционных систем). Эти вопросы будут более подробно рассмотрены в наших следующих лекциях.
Для Macintosh-совместимых компьютеров (Mac-compatible computers), разрабатываемых фирмой Apple, используются различные версии операционной системы Mac OS X, которая представляет собой UNIX-подобную ОС с очень развитым графическим интерфейсом, максимально дружественным для пользователя (user friendly interface).
При подсоединении к компьютеру нового оборудования, на системном уровне должна быть установлена программа, обеспечивающая для остальных программ взаимосвязь с устройством. Конкретные системные программы, предназначенные для взаимодействия с конкретными устройствами, называют драйверами.
Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Благодаря ему, можно вводить данные в вычислительную систему, руководить ее работой и получать результат в удобной форме. Это средства обеспечения пользовательского интерфейса, от них зависит удобство и производительность работы с компьютером.
Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Ядро операционной системы выполняет такие функции как:
управление памятью, процессами ввода-вывода, файловой системой, организация взаимодействия и диспетчеризация процессов, учет использования ресурсов, обработка команд и т.д.
Операционные-оболочки и файловые менеджеры. Во времена господства на IBM-совместимых компьютерах операционной системы MS-DOS пользователю было очень трудно с ней взаимодействовать. Это было связано с тем, что диалог с операционной системой проводился из «командной строки» - то есть, в виде ввода в компьютер команд с клавиатуры. Пользователь должен был помнить формат (правила записи) каждой команды, что вызывало определенные затруднения, особенно у технически малограмотных людей. Пользовательский интерфейс MS-DOS, кроме интерфейса командной строки, представленный программой DOS-Shell, также оставлял желать лучшего. В связи с необходимостью облегчить пользователю взаимодействие с операционной системой появились операционные оболочки – специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Самой популярной программой-оболочкой стала программа Norton Commander, разработанная программистом Питером Нортоном (в последствие, он стал основателем фирмы Symantec). Кроме того, широко применялись также и другие операционные оболочки: Command Processor (разработка фирмы PhisTechSoft); DOS-Navigator (разработка RIT Research Labs); PC Tools DeLuxe (разработка Holden Software).
С появлением операционных систем, имеющих графический интерфейс, потребность в таких программах-оболочках отпала, однако те удобства, которые были предоставлены пользователям при базовых приемах работы с файлами (копирование, перемещение, переименование) были настолько велики, что появились программы под названием файловые менеджеры. Наибольшее распространение получили программы Windows Commander (ныне – Total Commander) и FAR Manager.
Служебный уровень - программы этого уровня взаимодействуют как с программами базового уровня, так и с программами системного уровня. Назначение служебных программ (утилит) состоит в автоматизации работ по проверке и настройке системы в целом, а также для улучшения функций системных программ. Некоторые служебные программы (программы обслуживания) сразу входят в состав операционной системы, дополняя ее ядро, но большинство являются внешними программами и расширяют функции операционной системы. То есть, в разработке служебных программ отслеживаются два направления: интеграция с операционной системой и автономное функционирование.