Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Тема 8. Системное программное обеспечение.




 

К системному программному обеспечению относятся: базовая система ввода- вывода (Base Input-Output System, BIOS), ядро операционной системы, утилиты системного администрирования, утилиты системного программирования, обо­лочки и прочее программное обеспечение, позволяющее пользователю запускать прикладные программы и работать с ними. Таким образом, к системному про­граммному обеспечению можно отнести весь программный слой, обеспечивающий взаимодействие прикладных программ пользователя с аппаратными средствами компьютера.

 

Рис. 8.1. Структура системного программного обеспечения

 

BIOS

Между моментом включения компьютера и моментом начала работы опера­ционной системы есть промежуток времени, в который на компьютере работает подсистема BIOS, выполняющая несколько важных функций.

Тестирование аппаратного обеспечения. Сразу после включения компьютера BIOS осуществляет тестирование аппаратного обеспечения. При этом про­веряются все жизненно важные устройства компьютера. Если во время провер­ки обнаруживается, что то или иное устройство функционирует неправильно или отсутствует, из-за чего работа операционной системы становится невоз­можной (например, обнаружена ошибка в оперативной памяти), то процесс загрузки прерывается. Если же продолжение работы операционной системы возможно, на экран выводится предупреждение об отсутствии устройства (на­пример, дисковода для гибких дисков), но процесс загрузки компьютера не прерывается.

Запуск загрузчика операционной системы. Если тестирование прошло нормаль­но, то осуществляется запуск загрузчика операционной системы, после чего основное управление компьютером передается операционной системе.

Проверка некоторых параметров аппаратного обеспечения компьютера. Кроме этих двух операций, самопроверки при включении и запуска загрузчика, со­временные подсистемы BIOS выполняют контрольные и настроечные функ­ции некоторых параметров аппаратного обеспечения компьютера. Например, используя параметры BIOS, можно в довольно широких пределах изменять частоту системной шины и тактовую частоту процессора, временные интервалы циклов чтения, записи и обновления оперативной памяти, параметры кэширова­ния оперативной памяти. В компьютерах с многоядерными процессорами BIOS управляет режимами «многоядерности». Значительное расширение функцио­нальности BIOS в современных компьютерах привело к тому, что операционные системы взаимодействуют с BIOS уже после того, как управление компьютером полностью передано им.

BIOS, в отличие от остального программного обеспечения, располагается не на дисковых устройствах компьютера, а внутри специальной микросхемы — постоян­ного запоминающего устройства. Микросхема поставляется вместе с материнской платой, и BIOS можно рассматривать как программную поддержку материнской платы.

Ядро операционной системы

После того как подсистема BIOS последовательно выполнит все действия по проверке и инициализации аппаратных устройств компьютера, загрузчик операционной системы загружает в память компьютера ядро операционной си­стемы. С этого момента и до окончания сеанса работы с компьютером (до его выключения) ядро операционной системы постоянно находится в оперативной памяти компьютера, и функционирование всех остальных программных компонен­тов, как системных, так и прикладных, происходит только через взаимодействие с ядром.

Важным свойством ядра является то, что процесс ядра работает в привилеги­рованном режиме, то есть процесс ядра может прервать любой другой процесс, но ни один процесс не может прервать процесс ядра; процесс ядра может выполнять инструкции, которые не могут выполнять программы. Ядро обеспечивает загрузку программ, как прикладных, так и системных, ядро выделяет программам ресурсы, ядро обеспечивает взаимодействие программ между собой и с аппаратным обеспе­чением компьютера. Ядро является самым необходимым компонентом системного программного обеспечения. На рис. 8.1 ядро специально выделено, а границы операционной системы (ОС) обозначены пунктирной линией. Прикладные про­граммы внесены внутрь этих границ, так как они запускаются и работают внутри операционной системы и только под ее управлением.

Драйверы устройств

Современные компьютеры все больше и больше походят по своему дизайну на конструктор: они легко собираются из функциональных блоков, созданных разны­ми производителями. На уровне механическом совместимость разных устройств, корпуса компьютера и его материнской платы обеспечивается стандартизацией раз­меров и разъемов устройств. На аппаратном уровне необходимую совместимость обеспечивает соблюдение стандартных значений напряжения, тока, параметров импульса и последовательности следования сигналов.

На уровне операционной системы взаимодействие устройств различных типов с операционной системой, а через нее — и с прикладными программами, осущест­вляется через небольшие загружаемые блоки машинного кода, так называемые драйверы. Драйвер осуществляет стыковку стандартизированного программного интерфейса операционной системы и системы команд внешнего устройства.

Службы операционной системы

Обычно программы, как прикладные, так и системные, запускаются по мере необходимости, выполняют свою работу, а затем завершаются. Но есть особый тип программ, которые должны постоянно находится в ожидании запросов от других программ или отслеживать состояние некоторых параметров операцион­ной системы. Такие программы запускаются и завершают свою работу одновре­менно с операционной системой. Если в такой программе происходит сбой и она аварийно завершается, то программа автоматически снова загружается в память. Такого рода программы называются службами, сервисами, или демонами, опера­ционной системы. Примером службы операционной системы может быть служба печати: эта служба может принимать документы одновременно от нескольких программ (компьютеров), ставить их в очередь и затем поочередно выводить на печать.

Системные оболочки

Программы взаимодействуют с операционной системой через интерфейс, на­зываемый API (Application Programming Interface — прикладной программный интерфейс). Программа, которая должна воспринимать действия пользователя и переводить их на язык, понятный операционной системе, называется системной оболочкой (shell). Оболочки могут быть как графическими (оконные менеджеры), так и текстовыми, предназначенными для работы в терминальном режиме.

Одни операционные системы, например Windows и OS/2, изначально были ориентированы на графическую оконную среду. Другие изначально отдавали предпочтение общению с пользователем с помощью символов и текстов, поэтому графическая среда в них представляет собой надстройку, без которой операцион­ная система может работать вполне эффективно.

 

Инструменты администрирования

В операционной системе необходимо решать задачи, связанные с настройкой или перенастройкой определенных параметров, добавлением пользователей, обо­рудования, установкой новых прикладных программ и их конфигурированием. Кроме того, нужно поддерживать систему в рабочем состоянии и обеспечивать достаточный уровень защиты от несанкционированных действий. Для этих целей существует целый ряд программ, называемых системными утилитами. К функ­циям, выполняемым этими программами, можно отнести добавление, удаление и назначение прав пользователей; управление файлами и файловыми системами; управление дисковыми устройствами; управление сервисами операционной си­стемы; добавление и конфигурирование новых устройств; установку и удаление программ; настройку графической оболочки; настройку сетевых подключений; настройку печати и множество других.

Инструменты системного программирования

Данный вид системного программного обеспечения, безусловно, существует во всех операционных системах, но далеко не во всех входит в комплект поставки. Чаще всего в коммерческих операционных системах инструменты системного программирования продаются отдельно и стоят довольно дорого, как и различного рода закрытые спецификации или фрагменты исходных кодов. Для свободного и открытого ПО обычным является обратное — включение инструментов систем­ного программирования в состав поставки (дистрибутив) операционной системы и полная доступность исходных кодов. К инструментам системного программи­рования можно отнести языки программирования, текстовые редакторы, транс­ляторы, редакторы связей, компоновщики программ, библиотеки подпрограмм. К современным средствам программирования можно также отнести большие интегрированные многоязыковые среды программирования, такие как KDeveloper, Borland Developer Studio или Microsoft Visual Studio.

Классификация операционных систем

Операционные системы можно классифицировать по разным критериям.

· По количеству пользователей, имеющих возможность одновременно работать с операционной системой:

ü однопользовательские (MS-DOS);

ü многопользовательские (UNIX, Windows ХР, Linux).

· По механизму обеспечения доступа:

ü пакетные (OS 360);

ü интерактивные (UNIX, Windows, Linux);

ü реального времени (QNX).

· По количеству одновременно решаемых задач:

ü однозадачные (MS-DOS);

ü многозадачные (UNIX, Windows ХР, Linux).

· По функциональности:

ü общего применения;

ü специализированные.

· По возможности обслуживать разное количество процессоров:

ü однопроцессорные;

ü с поддержкой многопроцессорности;

ü с поддержкой распределенных вычислений.

Однозадачные операционные системы непосредственной обработки. На ранней стадии развития компьютерной техники первые операционные системы работали в непосредственном режиме: из устройства ввода программаи данные считывались с носителя информации в память компьютера. Затем про­цессор выполнял задание и выводил результаты на устройство печати. Далее вся последовательность действий повторялась. На ранней стадии развития компьютерной техники первые операционные системы работали в непосредственном режиме: из устройства ввода программаи данные считывались с носителя информации в память компьютера. Затем про­цессор выполнял задание и выводил результаты на устройство печати. Далее вся последовательность действий повторялась.

Однозадачные операционные системы пакетной обработки.

Появление устройств чтения и записи перфолент и магнитных лент немного изменило ситуацию в лучшую сторону: задания (программа и данные для нее) записывались на магнитную ленту (МЛ) на отдельном устройстве. Когда лента заполнялась, получался пакет программ. Этот пакет переносился на вычисли­тельную машину и запускался там. Результаты вычислений также записывались последовательно на вторую, выходную, ленту. Когда выходная лента заполнялась, ее заменяли новой, а заполненную распечатывали на отдельном от вычислительной машины устройстве. Такой режим работы позволял добиться почти непрерывной загрузки центрального процессора

Группировка программ в пакеты позволила более эффективно использовать время центрального процессора при решении длительных по времени задач. Од­нако с задачами другого рода, например бизнес-задачами, этот режим работынельзя было назвать эффективным, так как время расчета было примерно равным, а иногда и много меньше, чем время операций считывания и записи на магнитную ленту. Задача прерывания одного задания ради выполнения другого решена не была.

Многозадачные операционные системы без разделения времени.

Очередные усовершенствования в архитектуре компьютеров вызвали к жизни появление нового поколения операционных систем. Увеличение объема опера­тивной памяти и появление дисковых устройств сделало возможным запись про­грамм и данных на магнитный диск (МД) с последующим их считыванием оттуда в произвольном порядке, а не последовательно, как это было с магнитной лентой. Увеличение объемов оперативной памяти позволило загружать больше чем одну программу. Пока одна программа считывалась с диска в память, другая выполня­лась. Пока результаты выполнения одной программы записывались на диск, про­цессор продолжал работу над другой программой.

Однако самым важным моментом на этом этапе развития операционных систем было появление возможности управлять заданиями. Поскольку задания можно было одновременно размещать в разных сегментах памяти, можно было в любой момент приостановить работу над одним заданием и переключиться на выполне­ние другого. Кроме того, порядок выполнения заданий стал не последовательным, а произвольным, причем этот порядок мог быть изменен оператором.

Многозадачные операционные системы с разделением времени

История современных операционных систем ведет отсчет от появления первой многозадачной ОС с разделением времени. В таких операционных системах между заданиями делится не только оперативная и дисковая память компьютера, но и время центрального процессора. Такое разделение позволило организовать как псевдопараллельное выполнение заданий, так и многопользовательский режим работы, когда обеспечивается подключение к центральному компьютеру множе­ства терминалов (сочетание устройства ввода и вывода, дисплея и клавиатуры). Первой операционной системой с разделением времени, получившей сравнительно удачную реализацию, была ОС MULTICS. С момента разработки MULTICS ком­пьютерный мир вошел в эпоху мэйнфреймов и многопользовательских информа­ционных систем.Свое развитие ОС MULTICS получила в широко известном семействе опера­ционных систем UNIX, которые и сегодня составляют значительную часть опера­ционных систем, установленных на компьютерах во всем мире.

Операционные системы персональных компьютеров

С появлением персональных компьютеров отдельно обозначилось направление разработки однопользовательской однозадачной операционной системы.

Первые операционные системы MS-DOS, СР/М и APLLE DOS в качестве интерфейса имели командную строку и позволяли запускать в каждый момент времени одно задание. Пользователь мог либо играть, либо программировать, либо составлять текстовый документ, в любом случае в памяти компьютера в этот момент времени размещалась и выполнялась одна программа.

Большие изменения в концепции ОС для персональных компьютеров, насту­пили в тот момент, когда, во-первых, появились аппаратные возможности реали­зовывать многозадачные приложения в компьютерах такого класса (к примеру, процессор Intel 80286 и 80386), во-вторых, были изобретены графические оконные интерфейсы.

Появление на экране нескольких окон изначально подразумевало, что в каждом окне может быть открыта отдельная программа, а этот факт сам по себе подраз­умевал наличие многозадачности. В одних случаях многозадачность сразу закла­дывалась в операционную систему компьютера вместе с графическим интерфейсом (в операционных системах Mac OS), или же, как в линейке Windows, к ней шли постепенно. Вначале Windows представляла собой просто графическую надстройку над MS-DOS, и только позже была разработана ОС Windows NT, принципы работы которой являются базовыми для всех современных версий Windows.

Так или иначе, все современные операционные системы персональных компью­теров являются многозадачными системами с разделением времени, а значит, они поддерживают возможность одновременного выполнения нескольких программ и многопользовательский режим. Реализуется многопользовательский режим или нет, зависит от комплекта поставки операционной системы.

Сферы применения операционных систем

Операционные системы различаются в зависимости от сферы применения.

Суперкомпьютеры. Операционные системы для современных суперкомпью­теров представляют собой многозадачные многопроцессорные операционные системы с разделением времени, способные работать в сетевой распределенной среде. Обычно операционная система суперкомпьютера — это оснащенная спе­циальными программными расширениями система UNIX или Linux. В послед­ние два года наблюдаются попытки корпорации Microsoft выйти на этот рынок, становящийся все более популярным. Так, операционная система Windows НРС Server 2008 создана специально для высокопроизводительных кластерных систем. В России высокопроизводительные кластерные системы работают под управлением отечественных разработок Linux (суперкомпьютер СКИФ-МГУ, операционная система ALT Linux 4.1 SKIF).

Мэйнфреймы. Операционные системы для мэйнфреймов должны совмещать сразу три функциональности: высокопроизводительные автоматизированные пакетные вычисления (без вмешательства операторов), разделение времени для терминального доступа большого (сотни и тысячи) количества пользователей, обработка транзакций (групповые операции). Несмотря на то, что системы UNIX можно установить и сконфигурировать для успешной работы на мэйн­фрейме, оптимально там работают специализированные операционные системы, например OS/390.

Серверы. Основная черта серверных систем — поддержка большого числа одно­временно работающих служб, обслуживание множества клиентов и передача большого количества информации. Таким образом, серверные операционные си­стемы должны быть многозадачными системами с разделением времени и разви­тыми сетевыми возможностями. Традиционно в качестве серверных систем ис­пользовались различные варианты UNIX. После появления Linux и Windows NT эти операционные системы также стали использоваться в качестве серверных.

Персональные компьютеры. Операционные системы для персональных компью­теров в первую очередь должны обладать дружественным пользовательским интерфейсом. Хотя у систем семейства UNIX есть графическая оконная среда XWindows, долгое время она считалась менее «дружественной», чем Windows или Macintosh. Однако активная экспансия Linux в сферу персональных машин приве­ла к тому, что эта операционная система сегодня может предложить пользователям не менее, а иногда и более удобные средства работы в графической оконной среде.

Наладонные компьютеры. Малые размеры этих устройств изначально подразу­мевали ограничения в ресурсах, которые компьютер может выделить для выпол­нения заданий. В то же время название «компьютер» требует от этого устройства, чтобы номенклатура выполняемых пользовательских заданий была примерно такой же, какую обеспечивает пользователю настольный компьютер. Таким обра­зом, операционная система наладонного компьютера должна эффективно функ­ционировать с разделением времени в условиях ограниченных ресурсов. Эта задача решается либо специализированными версиями операционных систем (например, Windows СЕ или специальным образом собранный ОС Linux), либо разработанными специально для этого операционными системами (Palm OS).

Встраиваемые системы. Встраиваемые операционные системы должны выполнять ограниченный набор операций, связанных со специфической функцио­нальностью устройства, для которого они предназначены. Примером встраива­емой операционной системы может служить операционная система устройства для чтения электронных книг, операционная система аудио- или видеопрои­грывателя или операционная система смарт-карты. Такого рода операционныесистемы крайне ограничены в ресурсах, но и их функциональность не слишком разнообразна. Очень часто они работают в однопользовательском однозадачном режиме или в режиме, когда пользователь вообще не имеет доступа к опера­ционной системе (например, мини-роутер для работы в локальной домашней сети). Чаще всего в качестве встраиваемых операционных систем используются варианты Linux или виртуальная машина Java.

Системы реального времени. Это очень важный класс операционных систем, предназначенных для работы с автоматизированными производственными, технологическими или военными устройствами. Особенность этих систем в том, что они должны реагировать на сигналы извне (например, от датчиков) в жест­ко фиксированные временные интервалы. Это значит, что обработке внешних сигналов в системе реального времени должен быть присвоен самый высокий приоритет, даже более высокий, чем процессам ядра. Одной из наиболее при­меняемых и известных сегодня системах реального времени является QNX.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 290.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...