Состав системного программного обеспечения
К системному программному обеспечению относятся: базовая система ввода- вывода (Base Input-Output System, BIOS), ядро операционной системы, утилиты системного администрирования, утилиты системного программирования, оболочки и прочее программное обеспечение, позволяющее пользователю запускать прикладные программы и работать с ними. Таким образом, к системному программному обеспечению можно отнести весь программный слой, обеспечивающий взаимодействие прикладных программ пользователя с аппаратными средствами компьютера (рис. 16.1).
Пользователь г
|
Рис. 16.1. Структура системного ПО |
16.1.1. BIOS
Между моментом включения компьютера и моментом начала работы операционной системы есть промежуток времени, в который на компьютере работает подсистема BIOS, выполняющая несколько важных функций.
□ Тестирование аппаратного обеспечения. Сразу после включения компьютера BIOS осуществляет тестирование аппаратного обеспечения. При этом проверяются все жизненно важные устройства компьютера. Если во время проверки обнаруживается, что то или иное устройство функционирует неправильно или отсутствует, из-за чего работа операционной системы становится невозможной (например, обнаружена ошибка в оперативной памяти), то процесс загрузки прерывается. Если же продолжение работы операционной системы возможно, на экран выводится предупреждение об отсутствии устройства (например, дисковода для гибких дисков), но процесс загрузки компьютера не прерывается.
□ Запуск загрузчика операционной системы. Если тестирование прошло нормально, то осуществляется запуск загрузчика операционной системы, после чего основное управление компьютером передается операционной системе.
□ Проверка некоторых параметров аппаратного обеспечения компьютера. Кроме этих двух операций, самопроверки при включении и запуска загрузчика, современные подсистемы BIOS выполняют контрольные и настроечные функции некоторых параметров аппаратного обеспечения компьютера. Например, используя параметры BIOS, можно в довольно широких пределах изменять частоту системной шины и тактовую частоту процессора, временные интервалы циклов чтения, записи и обновления оперативной памяти, параметры кэширования оперативной памяти. В компьютерах с многоядерными процессорами BIOS управляет режимами «многоядерности». Значительное расширение функциональности BIOS в современных компьютерах привело к тому, что операционные системы взаимодействуют с BIOS уже после того, как управление компьютером полностью передано им.
BIOS, в отличие от остального программного обеспечения, располагается не на дисковых устройствах компьютера, а внутри специальной микросхемы — постоянного запоминающего устройства. Микросхема поставляется вместе с материнской платой, и BIOS можно рассматривать как программную поддержку материнской платы.
16.1.2. Ядро операционной системы
После того как подсистема BIOS последовательно выполнит все действия по проверке и инициализации аппаратных устройств компьютера, загрузчик операционной системы загружает в память компьютера ядро операционной системы. С этого момента и до окончания сеанса работы с компьютером (до его выключения) ядро операционной системы постоянно находится в оперативной памяти компьютера, и функционирование всех остальных программных компонентов, как системных, так и прикладных, происходит только через взаимодействие с ядром.
Важным свойством ядра является то, что процесс ядра работает в привилегированном режиме, то есть процесс ядра может прервать любой другой процесс, но ни один процесс не может прервать процесс ядра; процесс ядра может выполнять инструкции, которые не могут выполнять программы. Ядро обеспечивает загрузку программ, как прикладных, так и системных, ядро выделяет программам ресурсы, ядро обеспечивает взаимодействие программ между собой и с аппаратным обеспечением компьютера. Ядро является самым необходимым компонентом системного программного обеспечения. На рис. 6.1 ядро специально выделено, а границы операционной системы (ОС) обозначены'пунктирной линией. Прикладные программы внесены внутрь этих границ, так как они запускаются и работают внутри операционной системы и только под ее управлением.
16.1.3. Драйверы устройств
Современные компьютеры все больше и больше походят по своему дизайну на конструктор: они легко собираются из функциональных блоков, созданных разными производителями. На уровне механическом совместимость разных устройств, корпуса компьютера и его материнской платы обеспечивается стандартизацией размеров и разъемов устройств. На аппаратном уровне необходимую совместимость обеспечивает соблюдение стандартных значений напряжения, тока, параметров импульса и последовательности следования сигналов.
На уровне операционной системы взаимодействие устройств различных типов с операционной системой, а через нее — и с прикладными программами, осуществляется через небольшие загружаемые блоки машинного кода, так называемые драйверы. Драйвер осуществляет стыковку стандартизированного программного интерфейса операционной системы и системы команд внешнего устройства.
16.1.4. Службы операционной системы
Обычно программы, как прикладные, так и системные, запускаются по мере необходимости, выполняют свою работу, а затем завершаются. Но есть особый тип программ, которые должны постоянно находится в ожидании запросов от других программ или отслеживать состояние некоторых параметров операционной системы. Такие программы запускаются и завершают свою работу одновременно с операционной системой. Если в такой программе происходит сбой и она аварийно завершается, то программа автоматически снова загружается в память. Такого рода программы называются службами, сервисами, или демонами, операционной системы. Примером службы операционной системы может быть служба печати: эта служба может принимать документы одновременно от нескольких программ (компьютеров), ставить их в очередь и затем поочередно выводить на печать.
16.1.5. Системные оболочки
Программы взаимодействуют с операционной системой через интерфейс, называемый API (Application Programming Interface — прикладной программный интерфейс). Программа, которая должна воспринимать действия пользователя и переводить их на язык, понятный операционной системе, называется системной оболочкой (shell). Оболочки могут быть как графическими (оконные менеджеры), так и текстовыми, предназначенными для работы в терминальном режиме.
Одни операционные системы, например Windows и OS/2, изначально были ориентированы на графическую оконную среду. Другие изначально отдавали предпочтение общению с пользователем с помощью символов и текстов, поэтому графическая среда в них представляет собой надстройку, без которой операционная система может работать вполне эффективно. На рис. 6.2 показаны примеры графических оболочек Alt Linux и Solaris X, а также командного интерпретатора терминального режима Windows XP.
Рис. 6.2. Оболочки OC |
16.1.6. Инструменты администрирования
В операционной системе необходимо решать задачи, связанные с настройкой или перенастройкой определенных параметров, добавлением пользователей, оборудования, установкой новых прикладных программ и их конфигурированием. Кроме того, нужно поддерживать систему в рабочем состоянии и обеспечивать достаточный уровень защиты от несанкционированных действий. Для этих целей существует целый ряд программ, называемых системными утилитами. К функциям, выполняемым этими программами, можно отнести добавление, удаление и назначение прав пользователей; управление файлами и файловыми системами; управление дисковыми устройствами; управление сервисами операционной системы; добавление и конфигурирование новых устройств; установку и удаление программ; настройку графической оболочки; настройку сетевых подключений; настройку печати и множество других.
16.1.7. Инструменты системного программирования
Данный вид системного программного обеспечения, безусловно, существует во всех операционных системах, но далеко не во всех входит в комплект поставки. Чаще всего в коммерческих операционных системах инструменты системного программирования продаются отдельно и стоят довольно дорого, как и различного рода закрытые спецификации или фрагменты исходных кодов. Для свободного и открытого ПО обычным является обратное — включение инструментов системного программирования в состав поставки (дистрибутив) операционной системы и полная доступность исходных кодов. К инструментам системного программирования можно отнести языки программирования, текстовые редакторы, трансляторы, редакторы связей, компоновщики программ, библиотеки подпрограмм. К современным средствам программирования можно также отнести большие интегрированные многоязыковые среды программирования, такие как KDeveloper, Borland Developer Studio или Microsoft Visual Studio.
Дата добавления: 2016-04-14; просмотров: 2791;