[<<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) к содержимому файла
можно обращаться, как к оперативной памяти. Потенциальные преимущества
включают эффективность (отсутствие излишнего копирования данных),
уменьшенную сложность (непосредственное изменение взамен чтения,
модификации, повторной записи).
ДОСТУП К ФАЙЛАМ И УСТРОЙСТВАМ

.   Традиционный подход

    -  открыть файл/устройство

    -  читать/писать

    -  закрыть файл/устройство

.   Отображение файла в адресное пространство

    -  открыть файл/устройство

    -  отобразить файл/устройство в адресное пространство процесса

    -  обращаться к содержимому файла как к памяти

    -  закрыть файл/устройство