Основные сведения
Одной из важнейших функций любой операционной системы (ОС) является предоставление прикладной программе средств взаимодействия с аппаратурой, другими программами и, наконец, с самой ОС. Набор подобных средств взаимодействия называется интерфейсом прикладных программ (API – application programming interface). В большинстве однозадачных ОС прикладная программа обычно имеет возможность игнорировать API при доступе к ресурсам. Например, в MS DOS API реализован в виде функций программного прерывания 21h, однако, ничто не мешает прикладной программе непосредственно вызывать функции BIOSили обращаться к аппаратуре через порты ввода/вывода. Подобная ситуация недопустима в мультизадачных ОС, так как неизбежно будет приводить к конфликтам при доступе к разделяемым ресурсам. Поэтому в таких ОС единственным способом связи прикладной программы с внешним миром является использование API.
Windows95 и Windows NT 4.0 используют единый 32-разрядный API, который носит название API WIN32. В идеале это означает, что прикладная программа, использующая WIN32, будет корректно работать и под управлением Windows95, и под управлением Windows NT 4.0. Для большинства программ это соответствует действительности, однако, в силу определенных различий в архитектуре рассматриваемых ОС имеется некоторый набор функций API, которые реализованы в Windows NT, но отсутствуют в Windows95, и наоборот. Программы, использующие эти функции будут успешно компилироваться (ведь API – единый!), но при работе программы в среде другой ОС будут возникать ошибки. Подобный эффект достигается за счет того, что неподдерживаемые функции реализованы в виде “заглушек”, возвращающих информацию об ошибке. К счастью, таких функций немного и они достаточно редко используются. В данном пособии мы будем избегать использования подобных функций, а где это необходимо будет приводиться соответствующая информация.
предыдущая темаследующая