Интерфейс прикладного программирования
Какие функции возложены на подсистему управления процесса-ми? Для каких целей современные ОC используют виртуальную па-мять? Какой смысл в терминах ОС вкладывается в слово «подсистема»? В чем сходство и различие терминов «программа» и «процесс»? Что подразумевают под термином «адресное пространство»? Как организована поддержка отказоустойчивости системы? Какие функции выполняет подсистема… Читать ещё >
Интерфейс прикладного программирования (реферат, курсовая, диплом, контрольная)
Прикладные программисты используют в своих приложениях обращения к ОС, когда для выполнения тех или иных действий им требуется особый статус, которым обладает только операционная система. Например, в большинстве современных ОС все действия, связанные с управлением аппаратными средствами компьютера, может выполнять только ОС. Помимо этих функций, прикладной программист может воспользоваться набором сервисных функций ОС, которые упрощают написание приложений. Функции такого типа реализуют универсальные действия, часто требующиеся в различных приложениях, такие, например, как обработка текстовых строк. Эти функции могли бы быть выполнены и самим приложением, однако гораздо проще использовать уже готовые, отлаженные процедуры, включенные в состав операционной системы. В то же время даже при наличии в ОС соответствующей функции программист может реализовать ее самостоятельно в рамках приложения, если предложенный операционной системой вариант его не вполне устраивает.
Возможности операционной системы доступны прикладному программисту в виде набора функций, называющегося интерфейсом прикладного программирования (Application Programming Interface, API). От конечного пользователя эти функции скрыты за оболочкой алфавитноцифрового или графического пользовательского интерфейса.
Для разработчиков приложений все особенности конкретной операционной системы представлены особенностями ее API. Поэтому операционные системы с различной внутренней организацией, но с одинаковым набором функций API кажутся им одной и той же ОС, что упрощает стандартизацию операционных систем и обеспечивает переносимость приложений между внутренне различными ОС, соответствующими определенному стандарту на API. Например, следование общим стандартам API UNIX, одним из которых является стандарт POSIX (Portable Operating System Interface for Computer Environment), позволяет говорить о некоторой обобщенной операционной системе UNIX, хотя многочисленные версии этой ОС от разных производителей иногда существенно отличаются внутренней организацией.
Приложения выполняют обращения к функциям API с помощью системных вызовов. Способ, которым приложение получает услуги операционной системы, очень похож на вызов подпрограмм. Информация, нужная ОС и состоящая обычно из идентификатора команды и данных, помещается в определенное место памяти, в регистры и/или стек. Затем управление передается операционной системе, которая выполняет требуемую функцию и возвращает результаты через память, регистры или стеки. Если операция проведена неуспешно, то результат включает индикацию ошибки.
Способ реализации системных вызовов зависит от структурной организации ОС, которая, в свою очередь, тесно связана с особенностями аппаратной платформы. Кроме того, он зависит от языка программирования. При использовании языков высокого уровня функции ОС вызываются тем же способом, что и написанные пользователем подпрограммы, требуя задания определенных аргументов в определенном порядке.
Вопросы для самопроверки
- 1. Какие функции выполняет ОС, выступая в качестве виртуальной машины?
- 2. Какие функции возложены на подсистему управления процесса-ми?
- 3. Для каких целей современные ОC используют виртуальную па-мять?
- 4. Какие задачи возлагает ОС на файловую систему?
- 5. Какие действия предпринимает ОС для того, чтобы защитить данные от несанкционированного доступа?
Контрольные вопросы
- 6. Что представляет собой операционная система?
- 7. Какие основные функции выполняет ОС?
- 8. Назовите основные ресурсы вычислительной системы.
- 9. В чем сходство и различие терминов «программа» и «процесс»?
- 10. Какие задачи по управлению ресурсами возложены на ОС?
- 11. Какой смысл в терминах ОС вкладывается в слово «подсистема»?
- 12. Какие основные подсистемы относятся к подсистемам управления ресурсами?
- 13. Какие подсистемы являются общими для всех ресурсов?
- 14. Какие типы процессов Вам известны?
- 15. Что подразумевают под термином «адресное пространство»?
- 16. Что такое «контекст процесса»?
- 17. Какие функции выполняет подсистема управления памятью?
- 18. Какие задачи решает подсистема управления виртуальной па-мятью?
- 19. В чем суть механизма защиты памяти?
- 20. Для каких целей служит файловая система (ФС)?
- 21. Как организована поддержка отказоустойчивости системы?
- 22. Какое средство предусмотрено в ОС для того, чтобы пользова-тельское приложение могло управлять аппаратными средствами ПК?