Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение. (определения основных понятий)

(определения основных понятий)

 

Дадим определения основных понятий, изучаемых в дисциплине «Сис­темное программное обеспечение» (СПО).

 

Системное программное обеспечение [ System Software, Operating (Operational) Software ] – это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы (процессор, оперативная память, устройства ввода-вывода, сетевое оборудование и др.), выступая как «межслойный интерфейс» («мост») между аппаратурой и приложениями пользователя.

В англоязычной технической литературе термин «системное про­граммное обеспечение» означает программы и комплексы программ, являющие­ся общими для всех, кто совместно использует технические средства компьютера, и применяемые как для автоматизации разработки (создания) новых программ, так и для организации выполнения программ существующих.

В отличие от прикладного программного обеспечения, СПО не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы.

 

На рис. 1 показано место СПО в многоуровневой структуре компьютера.

Рис. 1. Место СПО в многоуровневой структуре компьютера

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

К дополнительному СПО можно отнести:

1) системы программирования;

2) утилиты;

3) системы управления файлами (СУФ);

4) системы управления базами данных (СУБД) и т.д.

Встроенное программное обеспечение (микропрограммы, «прошивки») [ Firmware, ROMware ] – это программы, необходимые для управления работой аппаратного обеспечения, «зашитые» в цифровых электронных устройствах в микросхемы энергонезависимой памяти, т.е. (программируемых) постоянных запоминающих устройств (П)ПЗУ [(P)ROM] или Flash-памяти, с использованием которых отпадает необходимость загружать эти программы или данные с дискеты, клавиатуры или других устройств ввода-вывода (УВВ).

Прошивкой также называются файлы образов (ISO-образов) микропрограммы, которые могут быть загружены в аппаратное обеспечение при обновлении версии прошивки («перепрошивке»).

 

Примеры встроенного ПО:

1) базовая система ввода-вывода [ Basic Input-Output System = BIOS ] компьютеров, поставляемая вместе с материнской платой компьютера и обеспечивающая начальную подготовку компьютера к запуску операционной системы;

2) ОС реального времени;

3) система управления и отсчета времени для стиральных машин

4) код платформы на системах с Mac OS X на базе Intel Itanium;

5) Open Firmware, который используется в компьютерах Sun Microsystems и Apple Computer;

6) RTAS (службы абстрагирования для времени выполнения), которые используются в компьютерах IBM и др.

 

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

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

Прошивки могут создаваться «с нуля» для данного конкретного типа устройства, либо иметь в основе готовую операционную систему, как правило, с открытым исходным кодом. Так, для небольших устройств иногда используется FreeRTOS. В последнее время, в связи с удешевлением памяти, достаточно часто применяется GNU/Linux.

Для написания исходных текстов программ используются ассемблеры, язык Си, языки типа Verilog для микросхем с программируемой логикой (ПЛИС).

В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) встроенные программы являются, по сути, частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные «прошивки», осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.

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

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

Естественно, нет чётко определённой границы между встроенными программами и просто программным обеспечением, поскольку оба термина обозначают достаточно гибкие понятия. Вместе с тем, микропрограммные средства всегда связаны с достаточно низким базовым уровнем операций в устройстве, без которого устройство будет абсолютно нефункциональным.

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

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

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

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

Порой появляются неофициальные новые или измененные версии прошивок, созданные третьими сторонами для обеспечения новых функций или разблокирования скрытых. Например, Rockbox для цифрового аудиоплеера, CHDK для цифровых фотоаппаратов Canon, а также OpenWRT для беспроводных маршрутизаторов, а также много доморощенных проектов для игровых консолей. Чаще разблокировывается функциональность общего назначения в устройствах, где она ограничена (например, запуск Doom на Ipod). Большинство патчей несанкционированных изменений для встроенных программ является свободным программным обеспечением с открытыми исходными текстами. Для установки и активизации этих изменений, как правило, пользуются возможностями обновления встроенных программ. Однако некоторые производители в целях безопасности предусматривают блокировку своих аппаратных средств для остановки его работы в случае установления нелицензированного кода.

 

Системное программное обеспечение может быть разделено на следующие группы:

1. Операционные системы (ОС).

2. Системы управления файлами (СУФ).

3. Интерфейсные оболочки для взаимодействия пользователя с ОС и программ­ные среды.

4. Системы программирования.

5. Утилиты.

На рис. 2 изображена обобщенная структура про­граммного обеспечения вычислительной системы.

Рис. 2. Обобщенная структура программного обеспечения вычислительной системы

 

Рассмотрим вкратце эти группы системных программ.

2. Назначение системы управления файлами [ File Control System, File Manager System ] – организация более удобного доступа к данным, организованным как файлы. Именно благодаря системе управления файлами вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной нам записи используется логиче­ский доступ с указанием имени файла и записи в нём. Как правило, все совре­менные ОС имеют соответствующие системы управления файлами. Однако выделение этого вида системного программного обеспечения в отдельную ка­тегорию представляется целесообразным, поскольку ряд ОС позволяет рабо­тать с несколькими файловыми системами [File System] (либо с одной из нескольких, либо сразу с несколькими одновременно). В этом случае говорят о монтируемых файловых системах (дополнительную систему управления файлами можно установить), и в этом смысле они самостоятельны. Более того, можно назвать примеры простейших ОС, которые могут работать и без файловых систем, а значит, им необязательно иметь систему управления файлами, либо они мо­гут работать с одной из выбранных файловых систем. Надо, однако, понимать, что любая система управления файлами не существует сама по себе – она разработана для работы в конкретной ОС и с конкретной файловой систе­мой. Можно сказать, что всем известная файловая система FAT (File Allocation Table) имеет множество реализаций как система управления файлами, напри­мер FAT-16 для самой MS-DOS, Super-FAT для OS/2, FAT для Windows NT и т. д. Другими словами, для работы с файлами, организованными в соответ­ствии с некоторой файловой системой, для каждой ОС должна быть разра­ботана соответствующая система управления файлами; и эта система управ­ления файлами будет работать только в той ОС, для которой она и создана.

Для удобства взаимодействия с ОС могут использоваться дополнительные интерфейсные оболочки – файловые менеджеры [ File Manager ]. Их основное назначение – либо расширить возмож­ности по управлению ОС, либо изменить встроенные в систему возможности. В качестве классических примеров интерфейсных оболочек и соответствую­щих операционных систем выполнения программ можно назвать различные варианты графического интерфейса X Window в системах семейства UNIX (например, K Desktop Environment в Linux), РМ Shell или Object Desktop в OS/2 с графическим интерфейсом Presentation Manager; наконец, можно указать разнообразные варианты интерфейсов для семейства ОС Windows компании Microsoft, которые заменяют Explorer и могут напоминать либо UNIX с его графическим интерфейсом, либо OS/2, либо MAC OS. Следует отметить, что о семействе ОС компании Microsoft с общим интерфейсом, реа­лизуемым программными модулями с названием Explorer (в файле system.ini, который находится в каталоге Windows, имеется строка SHELL=EXPLORER.EXE), все же можно сказать, что заменяемой в этих системах является только ин­терфейсная оболочка, в то время как сама операционная среда остаётся неиз­менной; она интегрирована в ОС. Другими словами, операционная среда определяется программными интерфейсами, то есть API (Application Program Interface). Интерфейс прикладного программирования (API) включает в себя управление процессами, памятью и вводом/выводом.

Ряд операционных систем могут организовывать выполнение программ, соз­данных для других ОС. Например, в OS/2 можно выполнять как программы, созданные для самой OS/2, так и программы, предназначенные для выполне­ния в среде MS-DOS и Windows 3.x. Соответствующая операционная среда организуется в операционной системе в рамках отдельной виртуальной ма­шины. Аналогично, в системе Linux можно создать условия для выполнения некоторых программ, написанных для Windows 95/98. Определёнными воз­можностями исполнения программ, созданных для иной операционной среды, обладает и Windows NT. Эта система позволяет выполнять некоторые про­граммы, созданные для MS-DOS, OS/2 1.x, Windows 3.x. Правда, в семействе ОС Windows 2000 разработчики решили отказаться от поддержки возможности выполнения DOS-программ.

Наконец, к этому классу СПО следует отне­сти и эмуляторы, позволяющие смоделировать в одной операционной сис­теме какую-либо другую машину или операционную систему. Так, известна система эмуляции WMWARE, которая позволяет запустить в среде Linux любую другую ОС, например Windows. Можно, наоборот, создать эмулятор, работающий в среде Windows, который позволит смоделировать компьютер, работающий под управлением любой ОС, в том числе и под Linux.

Таким образом, термин операционная среда означает соответствующий ин­терфейс, необходимый программам обращения к ОС с целью получить определённый сервис – выполнить операцию ввода/вывода, получить или освободить участок памяти и т. д.

3. Система программирования на рис. 2 представлена, прежде всего, такими компонентами, как транслятор с соответствующего языка, библиотеки подпро­грамм, редакторы, компоновщики и отладчики. Не бывает самостоятельных (оторванных от ОС) систем программирования. Любая система программи­рования может работать только в соответствующей ОС, под которую она и создана, однако при этом она может позволять разрабатывать программное обеспечение и под другие ОС. Например, одна из популярных систем про­граммирования на языке C/C++ от фирмы Watcom для OS/2 позволяет по­лучать программы и для самой OS/2, и для DOS, и для Windows.

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

4. Под утилитами понимают специальные системные программы, с по­мощью которых можно как обслуживать саму операционную систему, так и подготавливать для работы носители данных, выполнять перекодирование данных, осуществлять оптимизацию размещения данных на носителе и про­изводить некоторые другие работы, связанные с обслуживанием вычислитель­ной системы. К утилитам следует отнести и программу разбиения накопителя на магнитных дисках на разделы, и программу форматирования, и программу переноса основных системных файлов самой ОС. Также к утилитам относят­ся и небезызвестные комплексы программ от фирмы Symantec, носящие имя Питера Нортона (создателя этой фирмы и соавтора популярного набора ути­лит для первых IBM PC). Естественно, что утилиты могут работать только в соответствующей операционной среде.

 

<== предыдущая лекция | следующая лекция ==>
Основные права потребителя | Операционные системы и Операционные среды
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 528; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.