Архитектура строения операционной системы. Назначение API в операционных системах и разных платформах. Особенности строения API в ядре Linux. Реализация проекта для работы с CDROM на CentOS. Сравнение Linux и Windows. Реализация проекта на Win32 API.
На сегодняшний день каждая операционная система имеет свои API - Application Programming Interface, которые позволяют программистам разрабатывать приложения под конкретную платформу. По сути дела, API является набор готовых функций, классов, библиотек, модулей, констант и функций, которые предоставляет операционная система и/или набор стороннего программного обеспечения. API помогают взаимодействовать компонентам операционной системы и прикладным программам посредствам передачи информации в API, Однако сама концепция API также имеет и ряд недостатков, например, жестко ограничивает платформу.АРІНАЧАЛО развиваться с эволюцией и разработкой операционных систем. Для более полного представления об взаимодействии API с операционной системой и/или прикладным программным обеспечением следует понимать об их внутреннем устройстве. Операционная система (в дальнейшем ОС) должна обеспечивать: Взаимодействие между аппаратными комплектующими ПК (ввод/вывод данных). Организовывать роль интерфейса между пользователем и аппаратным обеспечением. На основание предыдущих пунктов можно сформулировать понятие: ОС - комплекс программ, обеспечивающих интерфейс между пользователем и "железом".[API (интерфейс программирования приложений, интерфейс прикладного программирования) (англ. application programming interface) - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах. Используется программистами при написании всевозможных приложений], цитирование из Википедии. Файлы, с уже написанными метода, функциями и т.д., и если приложения обладает достаточным уровнем доступа, то оно может использовать эти возможности. В качестве примера можно провести аналогию с динамическими библиотеками. В качестве примера смоделируем следующую ситуацию: "Необходимо разработать программу для ОС GNU/Linux, которая отобразит файлы в указанной директории".Для совершения такого запроса приложению необходимы права доступа изза того что приложения выполняются в своем адресном пространстве и не могут изменять другие приложения или саму ОС. Для обеспечения безопасности и используют системные вызовы, то есть обращение приложения к ядру дляпредоставление доступа к каким-то ресурсам. Если ресурсы доступны и права доступа соблюдены, то ядро предоставляет требуемую операцию и возвращает результат и/или предоставляет приложению управление ресурсом. Интерфейс системных вызовов в ОС семейства Microsoft Windows предоставлены в Native API - API для внутреннего использования ОС Microsoft Windows, или функция syscall из заголовочного файла sys/syscall. h в CENTOS (как и в любом другом GNU/Linux дистрибутиве). Дистрибутив включает в себя программы для начальной инициализации операционной системы, ее установщика и некоторые другие программы, например программа для работы с жесткими дисками cfdisk, проверка интернет соединения с помощью программы ping и так далее.Ядро Linux предоставляет несколько интерфейсов для приложений пользовательского пространства, которые используются для разных целей и имеют разные свойства по использованию. В ядре Linux есть два типа интерфейса прикладного программирования (API), которые не следует путать: API-интерфейс "пространство ядра пользователя" и "внутренний интерфейс ядра". APILINUX - это API-интерфейс пользователя ядра, который позволяет программам в пространстве пользователя получать доступ к системным ресурсам и службам ядра Linux. Поскольку в ядро Linux поступает гораздо больше изменений по сравнению с другими стандартными библиотеками ядра и CIOS, совместимыми с POSIX, ядро Linux и его API были дополнены дополнительными функциями. Поскольку в ядро Linux поступает гораздо больше изменений по сравнению с другими стандартными библиотеками ядра и CIOS, совместимыми с POSIX, ядро Linux и его API были дополнены дополнительными функциями.Все языки программирования, способные вызывать такие функции и оперировать такими типами данных в программах, исполняемых в среде Windows, могут пользоваться этим API. Для облегчения программирования под Windows, в компании Microsoft и сторонними разработчиками было предпринято множество попыток создать библиотеки и среды программирования, частично или полностью скрывающие от программиста особенности Windows API, и предоставляющие ту или иную часть его возможностей в более удобном виде. Например, когда ядро обнаруживает устройство, для которого необходимо загрузить модуль, то как происходит этот процесс? Дальнейшее конфигурирование структуры (и последующих вызовов) осуществляется с помощью вызовов call_usermodehelper_setkeys (работа с учетными данными), call_usermodehelper_setcleanup и call_usermodehelper_stdinpipe. Вызовы, использующие конвейеры (call_usermodehelper_stdinpipe и функция call_usermodehelper_pipe из helper), создают соответствующий конвейер для использования его helper-ом.Мы уже рассматривали API в операционных системах
План
Содержание
Введение
1. Теоретическая часть
1.1 Архитектура строения операционной системы
1.2 API в операционных системах и разных платформах
1.3 API и системные вызовы
1.4 CENTOS
1.5 Строение API в ядре Linux
1.6 Windows API
1.7 Usermodehelper API
1.8 Win32 API
2. Практическая часть
2.1 Примечание к практической части
2.2 Пример использования usermodehelper API
2.3 Реализация проекта для работы с CDROM на CENTOS
2.4 Реализация проекта на Win32 API
2.5 Сравнение Linux и Windows
Заключение
Список литературы
Приложение А Приложение Б
Введение
На сегодняшний день каждая операционная система имеет свои API - Application Programming Interface, которые позволяют программистам разрабатывать приложения под конкретную платформу. По сути дела, API является набор готовых функций, классов, библиотек, модулей, констант и функций, которые предоставляет операционная система и/или набор стороннего программного обеспечения.
Это дает ряд преимуществ при написании программного обеспечения, поскольку разработчику не придется писать свой метод, а воспользоваться уже готовым решением.
API помогают взаимодействовать компонентам операционной системы и прикладным программам посредствам передачи информации в API, Однако сама концепция API также имеет и ряд недостатков, например, жестко ограничивает платформу. Приложение, написанное под Microsoft Windows уже не запуститься под GNU/Linux или FREEBSD штатными средствами. Конечно, можно использовать программы для эмуляции предоставления API, такие как Wine и Cygwin, но это только эмуляции программного обеспечения, а не полноценная поддержка.
Актуальность данной темы является в постоянном использовании API практически во всех приложениях, начиная от запуска графического интерфейса и демонов служб, и заканчивая новейшими играми.
Целью данного дипломного проекта является изучения реализации API в операционной системе CENTOS, а задачи можно выделить как: Теоретически рассмотреть API в разных платформах и с точки зрения разработчика программного обеспечения.
Практически сравнить API в 2-х ОС: CENTOS, Microsoft Windows, путем написания программы с использованием API.
Написать сравнительный анализ.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы