Программирование системного ввода-вывода
-
открыть
-
писать
-
читать
-
искать
-
закрывать
псевдокод:
внутр.дд;
fd = открыть (имя файла, флаги, режим);
lseek(fd,смещение,откуда);
запись(fd,buf,write_len);
читать (fd, buf, read_len)
близко (ФД);
файловый дескриптор
специальный индекс
fd на самом деле является индексом массива члена структуры file_struct fd_array в процессе
режим открытия файла
основной режим:
-
O_RDONLY: режим только для чтения
-
O_WRONLY: режим только для записи
-
O_RDWR: чтение и запись, режим
Вторичный режим:
-
O_CREAT: Если файл не существует, вам нужно создать файл
-
O_APPEND: режим добавления
-
O_DIRECT: режим прямого ввода-вывода
-
O_SYNC: синхронный режим
-
O_NOBLOCK: неблокирующий режим
процесс
Каждая программа по сути является процессом