Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety2.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
139.57 Кб
Скачать

4.Понятие программного интерфейса и операционного окружения

Программный интерфейс — функциональность, которую некоторый программный компонент предоставляет другим программным компонентам.

Можно различать два вида такой функциональности:

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

та, что используется при создании системных компонентов и может называться интерфейсом программирования компонентов операционной системы или интерфейсом системного программирования (SPI, англ. system programming interface).

Кроме того, программные интерфейсы могут быть разноуровневыми, относясь либо к уровню программного кода (API и SPI), либо к уровню кода машинного (ABI, англ. application binary interface, и SBI, англ. system binary interface).

Операцио́нное окруже́ние (англ. operating environment) — среда, в которой пользователь запускает программу. Например, операционное окружение DOS состоит из всех команд DOS, доступных пользователю. С другой стороны, операционное окружение Macintosh включает в себя графический интерфейс пользователя, использующий иконки и меню вместо команд.

В различных операционных системах состав среды окружения может сильно различаться.

К составу среды окружения обычно относят:

системные переменные

Текущие пути на различных дисках (в случае поддержки нескольких дисков операционной системой)

Точка монтирования каталогов (в том числе корневого), используется в unix-подобных операционных системах для обеспечения режима «тюрьмы» (англ. jail)

Связь стандартных потоков ввода-вывода с файловыми хэндлерами или устройствами (используется для перенаправления ввода-вывода)

Ограничения на количество одновременно открытых файлов, стеков и т. д.

Набор прав (обычно соответствует правам пользователя, запустившего процесс, но может изменяться как в сторону большего набора прав, так и в сторону ужесточения)

Дисковые квоты, ограничение на максимальный объём оперативной памяти, загрузки процессоров и т. д.

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

Между операционным окружением и shell пролегает очень тонкая грань. Исторически shell создавались как интерфейс к операционной системе. Он не добавлял новых возможностей и свойств. В задачу shell входило создание более удобного пользовательского интерфейса. Но со временем появились «интеллектуальные» shell. И в данный момент есть некоторые отличия между интеллектуальным shell и операционным окружением.

Также операционное окружение иногда называют контролирующей программой (control program).

В сфере бизнеса существует понятие стандартного операционного окружения (SOE — Standart Operating Environment)

5.Ос как виртуальная машина

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]