АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Платформенно-независимый интерфейс POSIX

Прочитайте:
  1. Адаптирующийся интерфейс
  2. Интерфейс прикладного программирования
  3. Основные элементы графического интерфейса Windows
  4. Принципы построения интерфейсов операционных систем
  5. Проектирование «взаимодействия» против проектирования «интерфейса»
  6. Создание законченных приложений на основе графического интерфейса пользователя.
  7. Текст программы для Linux (POSIX API)

POSIX (Portable Operating System Interface for Computer Environments) — плат-форменно независимый системный интерфейс для компьютерного окружения. Это стандарт IEEE, описывающий системные интерфейсы для открытых опера­ционных систем, в том числе оболочки, утилиты и инструментарии. Помимо этого, согласно POSIX, стандартизированными являются задачи обеспечения безопасности, задачи реального времени, процессы администрирования, сетевые

В данном контексте под системными командами следует понимать некий набор про­грамм, позволяющих управлять вычислительными процессами. Например, pstat, kill, dir и др.



функции и обработка транзакций. Стандарт базируется на UNIX-системах, но допускает реализацию и в других ОС.

POSIX возник как попытка всемирно известной организации ШЕЕ1 пропаганди­ровать переносимость приложений в UNIX-средах путем разработки абстракт­ного, платформенно-независимого стандарта. Однако POSIX не ограничивается только UNIX-системами; существуют различные реализации этого стандарта в системах, которые соответствуют требованиям, предъявляемым стандартом IEEE Standard 1003.1-1990 (POSIX.1). Например, известная ОС реального времени QNX соответствует спецификациям этого стандарта, что облегчает перенос приложе­ний в эту систему, но UNIX-системой не является ни в каком виде, ибо ее архи­тектура использует абсолютно иные принципы.

Этот стандарт подробно описывает VMS (virtual memory system, систему вирту­альной памяти), многозадачность (МРЕ, multiprocess executing) и технологию переноса операционных систем (CTOS). Таким образом, на самом деле POSIX представляет собой множество стандартов, именуемых POSIX. I — POSIX. 12. В табл. 5.1 приведены основные направления, описываемые данными стандар­тами. Следует также особо отметить, что POSIX. 1 предполагает язык С как ос­новной язык описания системных функций API.


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


 



1 IEEE (Institute of Electrical and Electronical Engineers) — американский Институт инже­неров по электротехнике и радиоэлектронике.


Из рис. 5.1 видно, что для взаимодействия с операционной системой программа использует только библиотеки POSIX. 1 и стандартную библиотеку RTL языка С, в которой возможно использование лишь 110 различных функций, также опи­санных стандартом POSIX. 1.

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

Реализации POSIX API на уровне операционной системы различны. Если UNIX-системы в своем абсолютном большинстве изначально соответствуют специфи­кациям IEEE Standard 1003.1-1990, то WinAPI не является POSIX-совместимым. Однако для поддержки данного стандарта в операционной системе MS Win­dows NT введен специальный модуль поддержки POSIX API, работающий на


уровне привилегий пользовательских процессов. Данный модуль обеспечивает конвертацию и передачу вызовов из пользовательской программы к ядру систе­мы и обратно, работая с ядром через WinAPI. Прочие приложения, написанные с использованием WinAPI, могут передавать информацию POSIX-приложениям через стандартные механизмы потоков ввода/вывода (stdin, stdout) [97].


Дата добавления: 2015-01-18 | Просмотры: 649 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.004 сек.)