Лекция: Создание и работа с файлом
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-узел и на позицию в файле. И позволяет родительскому и дочернему процессам совместно использовать один указатель в файле, но для посторонних процессов выделять отдельные указатели.