Программное обеспечение (10985-1)

Посмотреть архив целиком

Программное обеспечение

Общие сведения

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

ЭВМ является исполнителем программ.

Программное обеспечение (ПО) [software]– это просто совокупность программ, используемых для решения задач на ЭВМ. ПО делится на системное и прикладное.

Системное ПО [system software] предназначено для разработки и выполнения программ, а также для предоставлению пользователю некоторых средств общего назначения для управления ЭВМ. Системное ПО – необходимое дополнение к аппаратной части ЭВМ.

Прикладное ПО [application software] предназначено для решения определённой задачи или класса задач.


Рис. 1. Классификация программного обеспечения

Источник: [2].

Задачей прикладного ПО является автоматизация конкретного вида человеческой деятельности.

Главное место в наборе системных программ занимают операционные системы. Операционная система – это неотъемлемая часть ЭВМ. Она снабжает другие программы и пользователя необходимыми средствами для управления ЭВМ.

Сервисные системы расширяют возможности операционной системы. (DOS-Shell или Norton Commander для DOS, Norton Utilities for Windows, многочисленные оболочки для UNIX-семейства ОС).

Инструментальные системы предназначены для решения задач, которые встречаются в составе любой проблемы, ориентированной на применение ЭВМ, и не связаны с конкретной практической областью.

Системы техобслуживания используются для облегчения тестирования оборудования ЭВМ и применяются специалистами по аппаратуре ЭВМ.

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

Все программные средства можно разделить на внутреннее и внешнее ПО.

Программы первого уровня хранятся в ПЗУ и работают непосредственно с аппаратурой ЭВМ. Таким образом, все подобные программы являются неотъемлемой частью конкретной ЭВМ. Поэтому набор таких программ называют внутренним программным обеспечением. Для ПЭВМ совокупность этих программ носит название BIOS (Base Input Output Systemбазовая система ввода-вывода). В состав BIOS входят:

драйверы стандартных внешних устройств;

тестовые программы для контроля работоспособности оборудования;

программа начальной загрузки.

Все эти программы начинают работать при включении ЭВМ: сначала тестируют память, затем проверяют наличие внешних устройств и их работоспособность и после всего передают управление операционной системе.

Рис. 2. Иерархия программных средств.

Источник: [10].

Драйвер [driver] – программа, обслуживающая внешнее устройство. Она предоставляет пользователю или программам более высокого уровня набор функций – программный интерфейс – для управления конкретным внешним устройством. Кроме того, драйвер обрабатывает прерывания от обслуживаемого устройства.

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

К третьему уровню относятся все остальные программы.

Программы второго и третьего уровней хранятся в файлах.

Программное обеспечение первого уровня является машинно-зависимым [computer-independent]. То есть для каждого микропроцессора или семейства ЭВМ набор данных программ уникален.

Операционная система имеет машинно-зависимое ядро [kernel] – небольшой набор программ, с помощью которых осуществляется более эффективное управление ЭВМ конкретного типа (семейство ЭВМ, тип процессора, конкретные аппаратные компоненты ЭВМ и внешние устройства). Остальные программы операционной системы стараются делать максимально независимыми от конкретной ЭВМ. Свойство программы, позволяющее переносить её без переделок с одной ЭВМ на другую, называется переносимостью [portability]. Если программа является машинно-зависимой, то её переносимость определяется степенью совместимости ЭВМ. Переносимость программ имеет прямое влияние на коммерческие возможности программных продуктов.

Операционные системы

Общая характеристика

Операционная система [operating system] – это комплекс программ, обеспечивающий управление ресурсами ЭВМ и процессами, которые используют эти ресурсы при вычислениях.

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

Управление ресурсом состоит из двух функций:

упрощение доступа к ресурсу;

распределение ресурсов между конкурирующими за них процессами.

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

Операционные системы характеризуются признаками:

количество пользователей, одновременно обслуживаемых системой (однопользовательские и многопользовательские);

число одновременно выполняемых процессов (однозадачные и многозадачные);

тип используемой вычислительной системы (однопроцессорные, многопроцессорные, сетевые, распределённые).

Пример

Операционная система Windows98 является многозадачной, ОС Linux – многопользовательской, MS-DOS однозадачной и, следовательно, однопользовательской. Операционные системы Windows NT и Linux могут поддерживать многопроцессорные ЭВМ с 16 процессорами. Операционная система Novell NetWare является сетевой, однако, встроенные сетевые средства имеют также Windows NT и Linux.

Пользовательский и программный интерфейсы

Для упрощения доступа к ресурсам ЭВМ операционные системы поддерживают пользовательский и программный интерфейсы.

Пользовательский интерфейс [user interface] – это набор команд и сервисных услуг, которые упрощают пользователю работу с ЭВМ.

Рис. 3. Интерфейсы операционной системы.

Источник [2].

Программный интерфейс [program interface] – это набор процедур, которые упрощают для программиста управление ЭВМ.

Пример

Операционная система Windows98 предоставляет пользователю графический интерфейс, который представляет собой (с точки зрения пользователя) набор правил для наглядного управления ЭВМ. Кроме графического интерфейса пользователю предоставляется также командный интерфейс, то есть набор команд определённого формата. Для этого в системном меню имеется пункт «Выполнить». Например, чтобы скопировать файл на дискету, нужно набрать:

copy file a:\.

Основной упор в Windows98 сделан на графическом интерфейсе. В операционной системе Linux также имеются две возможности для управления ЭВМ, но, как правило, предпочтение отдаётся командам.

Набор системных функций в Windows98 носит название API (Application Programming Interface). В этом наборе имеются более тысячи процедур для решения разных системных задач. Например, если в программе на языке Си написать

MessageBox (wnd, “Форматирование винчестера, вы уверены?”,” ”, MB_OK);

то, дойдя до этого места, программа высветит небольшое окно с данным сообщением и кнопкой ОК и будет ожидать нажатия этой кнопки.

Процессорное время и организация памяти

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

Одной из главных задач операционной системы является управление памятью. Когда основной памяти не хватает, все данные, которые не используются в данный момент, записываются в особый файл подкачки. Память, представленная файлом подкачки, называется внешней страничной памятью [external page storage]. Совокупность основной и внешней страничной памяти называется виртуальной памятью [virtual memory]. Однако для программиста виртуальная память выглядит как единое целое, то есть рассматривается как неупорядоченный набор байтов. В этом случае говорят, что используется линейная адресация памяти.

Пример

Операционные системы Windows98 и Linux используют линейную адресацию виртуальной памяти. В операционной системе MS-DOS использовалась нелинейная адресация основной памяти. Основная память имела сложную структуру, которую приходилось учитывать при программировании. Файлы подкачки системой MS-DOS не поддерживались.

Структура операционной системы

Современные операционные системы, как правило, имеют многоуровневое строение (см. рис. 3.4).

Непосредственно с аппаратурой работает ядро операционной системы. Ядро [kernel] – это программа или совокупность связанных программ, которые используют аппаратные особенности ЭВМ. Таким образом, ядро является машинно-зависимой частью операционной системы.

Рис. 4. Уровни операционной системы Linux.

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


Случайные файлы

Файл
21616.doc
73908.rtf
53459.doc
130259.rtf
70670.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.