Создание и работа с файлом
fd=creat("abc", mode) - Пример создания файла abc с режимом защиты, указанном в переменной mode(какие пользователи имеют доступ). Используется системный вызов creat.
Успешный вызов возвращает целое число fd - дескриптор файла.
Который хранится в таблице дескрипторов файла, открывшегопроцесса.
После этого можно работать с файлом, используя системные вызовы write и read.
n=read(fd, buffer, nbytes)
n=write(fd, buffer, nbytes)
У обоих вызовов всего по три параметра:
· fd - дескриптор файла, указывающий на открытый файл
· buffer - адрес буфера, куда писать или откуда читать данные
· nbytes - счетчик байтов, сколько прочитать или записать байт
Теперь нужно по дескриптору получить указатель на i-узел и указатель на позицию в файле для записи или чтения.
Таблица открытых файлов - создана для хранения указателей на i-узел и на позицию в файле. И позволяет родительскому и дочернему процессам совместно использовать один указатель в файле, но для посторонних процессов выделять отдельные указатели.
Связь между таблицей дескрипторов файлов, таблицей открытых файлов и таблицей i-узлов.
Дата добавления: 2014-12-21; просмотров: 601;