Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания Редакция 1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
100.42 Кб
Скачать

Варианты:

1. Для создания использовать системный вызов open(2);

  • права доступа: 760

  • ошибки:

  • открывает для чтения несуществующий файл;

  • открывает для записи существующий файл, который удалять нельзя;

  • при чтении аргумент fildes является некорректным (искусственно его следует испортить или ввести с клавиатуры не верное значение);

2. Для создания использовать системный вызов creat(2);

  • права доступа: 744

  • ошибки:

  • открывает для чтения файл, не имея права доступа на чтение;

  • открывает для записи файл, у которого в имени присутствует элемент, не являющийся каталогом;

  • при записи аргумент fildes является не корректным (искусственно его следует испортить или ввести с клавиатуры не верное значение);

3. Для создания использовать системный вызов open(2);

  • права доступа: 666

  • ошибки:

  • открывает для чтения файл, который является каталогом (при исправлении ввести корректное имя файла);

  • открывает для записи уже существующий файл, который удалять нельзя;

  • при закрытии аргумент fildes является не корректным (искусственно его следует испортить или ввести с клавиатуры не верное значение);

4. Для создания использовать системный вызов creat(2);

  • права доступа: 740

  • ошибки:

  • открывает для чтения файл, к которому не имеет доступа;

  • открывает для записи уже существующий файл, который удалять нельзя;

  • при закрытии аргумент fildes является не корректным (искусственно его следует испортить или ввести с клавиатуры не верное значение);

5. Для создания использовать системный вызов open(2);

  • права доступа: 777

  • ошибки:

  • открывает для чтения файл, к которому не имеет доступа;

  • открывает для записи файл, к которому не имеет доступа

  • при записи происходит превышение допустимого размера файлов [реализуйте многократное копирование и см. ulimit(2)].

6. Для создания использовать системный вызов creat(2);

  • права доступа: 644

  • ошибки:

  • открывает для чтения несуществующий файл;

  • открывает для записи уже существующий файл, который удалять нельзя;

  • при записи происходит превышение допустимого размера файлов [реализуйте многократное копирование и см. ulimit(2)].

Контрольные вопросы

  1. По каким причинам могут возникать ошибки в программах (перечислите не менее 5 причин)?

  2. Как определить, что в программе произошла ошибка? Как определить, какая именно ошибка имеет место?

  3. Что такое дескриптор файла? Для чего он нужен операционной системе?

  4. Какие дескрипторы зарезервированы в UNIX и для чего?

  5. В каком случае число, возвращаемое функцией read (2) будет меньше запрошенного? Почему эту ситуацию необходимо отслеживать в программе?

  6. В каком случае число, возвращаемое функцией write (2) будет меньше запрошенного? Почему эту ситуацию необходимо отслеживать в программе?

  7. Почему при копировании файлов с помощью read (2) и write (2) следует проверять значения, возвращаемые этими функциями на равенство?

ЛАБОРАТОРНАЯ РАБОТА № 4

ПОЛУЧЕНИЕ ИНФОРМАЦИИ О ФАЙЛЕ. ФУНКЦИЯ stat() И lstat()

Цель работы: Изучить функции stat() и lstat(). Научиться получать о файле информацию.

Программа выполнения работы