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