[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Доступ к файлам и устройствам
Система UNIX характерна тем, что в ней одинаковым образом обеспечен
способ работы как с файлами, так и с устройствами. Обычно и те и
другие представляются программам одинаково, позволяя писать программы
общего вида. До SVR4 ресурсы носителя (файлы/устройства) всегда были
доступны пользовательским процессам только с помощью системных
вызовов. Многие из этих вызовов могут применяться и к файлам, и к
устройствам. Например, open(2), read(2), write(2) и close(2) могут
быть использованы и с файлами, и с устройствами.
SVR4 позволяет отобразить ресурсы хранения данных (файлы/устройства) в
адресное пространство процесса. Установление такого отображения
обеспечивает метод доступа, который делает объект явно адресуемым
процессом. Файл должен по-прежнему открываться вызовом open(2) и
закрываться вызовом close(2), однако read(2) и write(2) можно уже не
использовать. После отображения функцией mmap(2) к содержимому файла
можно обращаться, как к оперативной памяти. Потенциальные преимущества
включают эффективность (отсутствие излишнего копирования данных),
уменьшенную сложность (непосредственное изменение взамен чтения,
модификации, повторной записи).
ДОСТУП К ФАЙЛАМ И УСТРОЙСТВАМ
. Традиционный подход
- открыть файл/устройство
- читать/писать
- закрыть файл/устройство
. Отображение файла в адресное пространство
- открыть файл/устройство
- отобразить файл/устройство в адресное пространство процесса
- обращаться к содержимому файла как к памяти
- закрыть файл/устройство