ОС как система управления ресурсами
Чтобы несколько программ могло работать с одним ресурсом (процессор, память), необходима система управления ресурсами.
Способы распределения ресурса:
· Временной - когда программы используют его по очереди, например, так система управляет процессором.
· Пространственный - программа получает часть ресурса, например, так система управляет оперативной памятью и жестким диском.
1.3 Интерфейс прикладного программирования
API (Application Programming Interface) - интерфейс прикладного программирования, .
Интерфейс между операционной системой и программами определяется набором системных вызовов.
Например, если пользовательскому процессу необходимо считать данные из файла, он должен выполнить команду системного вызова, т.е. выполнить прерывание с переключением в режим ядра и активизировать функцию операционной системы для считывания данных из файла.
Рассмотрим наиболее часто применяемых системных вызовов стандарта POSIX. В POSIX существует более 100 системных вызовов.
fork - создание нового процесса
exit - завершение процесса
open - открывает файл
close - закрывает файл
read - читает данные из файла в буфер
write - пишет данные из буфера в файл
stat - получает информацию о состоянии файла
mkdir - создает новый каталог
rmdir - удаляет каталог
link - создает ссылку
unlink - удаляет ссылку
mount - монтирует файловую систему
umount - демонтирует файловую систему
chdir - изменяет рабочий каталог
В UNIX вызовы почти один к одному идентичны библиотечным процедурам, которые используются для обращения к системным вызовам.
Рассмотрим интерфейс прикладного программирования для Windows - Win32 API. Win32 API отделен от системных вызовов. Это позволяет в разных версиях менять системные вызовы, не переписывая программы.
Поэтому непонятно является ли вызов системным (выполняется ядром), или он обрабатывается в пространстве пользователя.
В Win32 API существует более 1000 вызовов. Такое количество связано и с тем, что графический интерфейс пользователя UNIX запускается в пользовательском режиме, а в Windows встроен в ядро. Поэтому Win32 API имеет много вызовов для управления окнами, текстом, шрифтами т.д.
Рассмотрим вызовы Win32 API, которые подобны вызовам стандарта POSIX.
CreatProcess(fork)- создание нового процесса
ExitProcess (exit) - завершение процесса
CreatFile(open) - открывает файл
CloseHandle(close) - закрывает файл
ReadFile(read) - читает данные из файла в буфер
WriteFile(write) - пишет данные из буфера в файл
CreatDirectory(mkdir) - создает новый каталог
RemoveDirectory(rmdir) - удаляет каталог
SetCurrentDirectory(chdir) - изменяет рабочий каталог
Интерфейс Win32 API позволяет программам работать почти на всех версиях Windows
Дата добавления: 2014-12-21; просмотров: 645;