Методические указания по выполнению курсовых работ по дисциплине «Системное программное обеспечение» для студентов, обучающихся по специальностям 210100, 210200 и направлению 550200 icon

Методические указания по выполнению курсовых работ по дисциплине «Системное программное обеспечение» для студентов, обучающихся по специальностям 210100, 210200 и направлению 550200


Смотрите также:
Методические указания по выполнению курсовых работ по дисциплине «Системное программное...
В. И. Харитонов > К. И. Меша Одобрено методической > С. С...
Методические указания по выполнению, представлению и защите курсовых работ для специальности...
Методические указания по выполнению курсовых работ по дисциплине «Экономический анализ» для...
Методические указания к выполнению лабораторных работ по курсам «Технические средства...
Методические указания к выполнению курсовой и лабораторных работ по дисциплине «Системное...
Методические указания по выполнению курсовых работ для студентов всех форм обучения...
Методические указания по выполнению курсовых работ для студентов специальности спо 032002...
Методические указания по выполнению контрольных работ для студентов...
Методические рекомендации к выполнению курсовых работ по дисциплине «Документоведение»...
Методические указания по выполнению курсовых работ для студентов III курса...
Методические рекомендации по выполнению курсовых работ по дисциплине «Экономическая теория»...



Загрузка...
страницы: 1   2   3   4
вернуться в начало
скачать
^

Системный вызов ореn


Системный вызов ореn (открыть файл) имеет следующий формат:

#include

open(name, flags, mode)

char *name;

int flags, mode;

Системный вызов open открывает файл с именем name для чтения и/или записи. Режим открытия файла определяется значением параметра flags. Это значение может быть задано как результат логического сложения следующих признаков (в любой комбинации):

0_RDONLY - открыть только для чтения.

0_WRONLY -открыть только для записи.

0_RDWR - открыть для чтения и записи.

0_NDELAY - не блокировать при открытии. Если операция открытия задерживается по каким-либо причинам, например, при отсутствии готовности линии связи, процесс не приостанавливается. Возвращается код ошибки.

0_АРРЕND - открыть для дозаписи. Обычно, при открытии файла, указатель текущей позиции чтения/записи устанавливается на его начало, но, если задан режим 0_АРРЕND, этот указатель устанавливается на конец файла.

0_СRЕАТ - создать файл, если он не существует.

0_TRUNC - сократить размер файла. В режиме 0_ТRUNC, если указанный файл существует, его размер усекается до нуля.

0_ЕХСL - выдавать ошибку при попытке создания существующего файла. (Этот признак используется в сочетании с признаком 0_СRЕАТ). Режим может применяться для организации простого механизма блокировки.

В случае успешного завершения вызова^ Ореn, возвращается дескриптор открытого файла, иначе - значение -1 и в переменную еrrn записывается код ошибки.

При неудачном завершении, переменная еrrnо может принимать следующие значения:

[ЕNOTDIR] - указанное имя, содержит компоненту, которая не является справочником;

[ЕNOENT] - указанный файл не существует и режим 0_СRЕАТ не был определен;

[ЕРЕКМ] - указанное имя содержит символ, отсутствующий в коде АSCП*);

[ЕLООР] - число косвенных ссылок в указанном имени превышает максимально допустимое значение;

[ЕROFS] - указанный файл содержится в файловой системе закрытой по записи и не может быть модифицирован;

[ЕTXTBSY] - попытка открыть на запись файл, содержащий загрузочный модуль выполняющейся реентерабельной программы;

[ЕАССЕS] - режим доступа указанного файла не соответствует

запросу;

[ЕFAULТ] - адрес параметра системного вызова выходит за границы адресного пространства процесса;

[ЕISDIR] Попытка открыть на запись справочник;

[ЕМFILЕ] - переполнена таблица дескрипторов открытых файлов процесса;

[ЕNXIO] - указанный файл является внешним устройством, которое в данный момент не готово к работе.
^

Системный вызов сrеаt


Системный вызов сrеаt (создать файл) имеет следующий формат:

сreat(name,mode)

сhar *name;

int mode;

Функция сгеаt создает новый (или подготавливает к повторной записи уже существующий) файл с именем name. Если файл еще не существует, значение параметра mode используется для формирования режимов доступа создаваемого файла, при этом учитывается значение маски режимов процесса. Значение параметра mode составляется по правилам, приведенным в описание системного вызова chmod. Если указанный файл существует, то его владелец и режим доступа остаются прежними, а файл усекается до нулевой длины. Кроме того, файл открывается для записи и возвращается его дескриптор.

При неудачном завершении, операции сгеаt возвращается значение -1, в остальных случаях возвращается дескриптор открытого файла (целое положительное число).

После неудачного завершения системного вызова сгеаt переменная еrrnо может принимать следующие значения:

[ЕNOTDIR] - указанное имя содержит компоненту, которая не является справочником;

[ЕNOENТ] - задано слишком длинное или пустое имя файла, или указанный файл не существует или какой-либо из справочников, входящих в имя файла, не доступен для просмотра;

[ЕРЕКМ] - указанное имя содержит символ, отсутствующий в коде АSСП;

[ELООР] - число косвенных ссылок в указанном имени превышает максимально допустимое значение;

[ЕROFS] - попытка создания файла в файловой системе, закрытой на запись;

[ЕТХТВSУ] - попытка сократить длину файла, содержащего загрузочный модуль реентерабельной программы (разделяемый текстовый сегмент), которая в настоящей момент выполняется;

[ЕАССЕS] - режим доступа указанного файла не соответствует запросу;

[ЕFAULТ] - адреса аргументов системного вызова выходят за границы памяти, доступной данному процессу;

[ЕISDIR] - указанное имя файла является именем справочника;

[ЕМFILЕ] - переполнилась таблица открытых файлов процесса;

[ЕNXIO] - указано имя специального файла, для которого нет соответствующего устройства.

Параметр mode задается произвольно, в нем не обязательно должно быть разрешение на запись. Эта возможность используется программами, которые работают с временными файлами с фиксированными именами. Создание производится с режимом, запрещающим запись. Затем, если другая программа пытается выполнить вызов сгеаt, возвращается ошибка и программе становится известно, что в данный момент это имя использовать нельзя. Все действия, перечисленные для вызова сгеаtе, можно выполнить с помощью системного вызова ореn. Вызов сгеаtе оставлен для совместимости с ранними версиями ОС Unix.
^

Системный вызов read


Системный вызов геаd (чтение файла) имеет следующий формат:

read (fd, buf, nbytes)

char *buf;

int fd, nbytes;

Системный вызов read обеспечивает считывание nbytes данных в массив buf из файла с дескриптором fd. Информация читается из файла по текущему указателю позиции чтения/записи. После завершения пересылки данных значение указателя увеличивается на число считанных байт. Для некоторых файлов значение указателя позиции чтения/записи не имеет смысла (например, для терминала), тем не менее, данные передаются. При успешном завершении вызова, возвращается число считанных байт, в случае ошибки - значение -1, при достижении конца файла в процессе чтения - число 0.

При возникновении ошибки чтения, переменная еrrnо может принимать следующие значения:

[ЕВАDF] - указанный дескриптор не является дескриптором файла, открытого для чтения;

[ЕFAULТ] - адрес параметра системного вызова не входит в адресное пространство процесса;

[ЕINTR] - чтение с медленного устройства прервано до передачи данных.
^

Системный вызов write


Системный вызов write (запись в файл) имеет следующий формат:

write (fd, buf, nbytes)

char *buf;

int fd, nbytes;

Системный вызов write записывает nbytes данных из массива buf в файл с дескриптором fd. Информация записывается в файл по текущему указателю позиции чтения/записи. После завершения пересылки данных, значение указателя увеличивается на число записанных байт. Для некоторых файлов значение указателя позиции чтения/записи не имеет смысла, (например, для терминала), тем не менее, данные передаются.

Если статус файла, в который записывается информация, содержит признак set-UID и процесс работает в непривилегированном режиме, данный признак удаляется (в целях защиты информации). При успешном завершении вызова возвращается число записанных байт, в случае ошибки - значение -1. При возникновении ошибки, переменная еrrnо может принимать следующие значения:

[ЕВАDF] - указанный дескриптор не является дескриптором файла, открытого для записи;

[ЕРIРЕ] - попытка записи в программный канал, который никто не читает;

[ЕРIРЕ] - запись в файл типа "гнездо" в режиме S0СК_SТRЕАМ, при отсутствии соединения;

[ЕFВIG] - при записи в файл превышается допустимый размер файла;

[ЕFAULТ] - адрес параметра системного вызова не входит в адресное пространство процесса.




оставить комментарий
страница2/4
Дата23.01.2012
Размер0,67 Mb.
ТипМетодические указания, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы: 1   2   3   4
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх