Основы операционных систем. Практикум



         

Глава 5


  Лекции

Основы операционных систем. Практикум

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 при возникновении ошибки.

<


Содержание  Назад  Вперед