|
Лекции |
Основы операционных систем. Практикум
|
|
1. |
|
Введение в курс практических зан...
|
2. |
|
Процессы в операционной системе ...
|
3. |
|
Организация взаимодействия проце...
|
4. |
|
Средства System V IPC. Организац...
|
5. |
|
Семафоры в UNIX как средство син...
|
6. |
|
Очереди сообщений в UNIX
|
7. |
|
Контрольная работа
|
8. |
|
Организация файловой системы в UNIX. Работа с файлами и директориями. Понятие о memory mapped файлах
|
9. |
|
Организация ввода-вывода в UNIX....
|
10. |
|
Семейство протоколов TCP/IP. Сок...
|
|
|
|
Экзамен |
|
|
Сдать экзамен экстерном |
|
|
|
Литература |
|
|
Предметный указатель |
|
|
Примеры |
|
|
|
|
|
Основы операционных систем. Практикум |
версия для локальной работы
|
|
|
|
8. Лекция: Организация файловой системы в UNIX. Работа с файлами и директориями. Понятие о memory mapped файлах
|
|
|
|
Страницы:
« |
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
вопросы | »
|
|
учебники
|
для печати и PDA
|
|
Если Вы заметили ошибку - сообщите нам. |
|
|
Включить комментарии
|| Настройки
|| Модерация
|| Помощь
|
|
|
|
|
Операция создания файла. Системный вызов creat(). При обсуждении системного вызова open() подробно рассказывалось о его использовании для создания нового файла. Для этих же целей можно использовать системный вызов creat(), являющийся, по существу, урезанным вариантом вызова open() (о значении флага O_TRUNC для системного вызова open() будет сказано чуть ниже).
Системный вызов creat()
Прототип системного вызова
#include <fcntl.h>
int creat(char *path, int mode);
Описание системного вызова
Системный вызов creat эквивалентен системному вызову open() с параметром flags, установленным в значение O_CREAT | O_WRONLY | O_TRUNC.
Параметр path является указателем на строку, содержащую полное или относительное имя файла.
Если файла с указанным именем не существовало к моменту системного вызова, он будет создан и открыт только для выполнения операций записи. Если файл уже существовал, то он открывается также только для операции записи, при этом его длина уменьшается до 0 с одновременным сохранением всех других атрибутов файла.
Параметр mode устанавливает атрибуты прав доступа различных категорий пользователей к новому файлу при его создании. Этот параметр задается как сумма следующих восьмеричных значений:
- 0400 – разрешено чтение для пользователя, создавшего файл.
- 0200 – разрешена запись для пользователя, создавшего файл.
- 0100 – разрешено исполнение для пользователя, создавшего файл.
- 0040 – разрешено чтение для группы пользователя, создавшего файл.
- 0020 – разрешена запись для группы пользователя, создавшего файл.
- 0010 – разрешено исполнение для группы пользователя, создавшего файл.
- 0004 – разрешено чтение для всех остальных пользователей
- 0002 – разрешена запись для всех остальных пользователей
- 0001 – разрешено исполнение для всех остальных пользователей
При создании файла реально устанавливаемые права доступа получаются из стандартной комбинации параметра mode и маски создания файлов текущего процесса umask, а именно – они равны mode & ~umask.
Возвращаемое значение
Системный вызов возвращает значение файлового дескриптора для открытого файла при нормальном завершении и значение -1 при возникновении ошибки. | <
Содержание Назад Вперед
|
|