Архитектура операционной системы UNIX - страница 233

Шрифт
Интервал

стр.

 ushort st_mode; /* тип файла (см. mknod) и права доступа к нему (см. chmod) */

 short st_nlink; /* число связей, указывающих на файл */

 ushort st_uid; /* код идентификации владельца файла */

 ushort st_gid; /* код идентификации группы */

 dev_t st_rdev; /* старший и младший номера устройства */

 off_t st_size; /* размер в байтах */

 time_t st_atime; /* время последнего обращения */

 time_t st_mtime; /* время последнего внесения изменений */

 time_t st_ctime; /* время последнего изменения статуса */

};

stimе

stime(tptr)

long *tptr;

Функция stime устанавливает системное время и дату в соответствие со значением, указанным в параметре tptr. Время указывается в секундах от 00:00:00 1 января 1970 года по Гринвичу.

synс

sync()

Функция sync выгружает содержащуюся в системных буферах информацию (относящуюся к файловой системе) на диск.

timе

time(tloc)

long *tloc;

Функция time возвращает системное время в секундах от 00:00:00 1 января 1970 года по Гринвичу.

times

#include ‹sys/types.h›

#include ‹sys/times.h›

times(tbuf)

struct tms *tbuf;

Функция times возвращает время в таймерных тиках, реально прошедшее с любого произвольного момента в прошлом, и заполняет буфер tbuf следующей учетной информацией:

struct tms {

 time_t tms_utime; /* продолжительность использования ЦП в режиме задачи */

 time_t tms_stime; /* продолжительность использования ЦП в режиме ядра */

 time_t tms_cutime; /* сумма значений tms_utime и tms_cutime у потомков */

 time_t tms_sutime; /* сумма значений tms_stime и tms_sutime у потомков */

};

ulimit

ulimit(cmd, limit)

int cmd;

long limit;

Функция ulimit дает процессу возможность устанавливать различные ограничения в зависимости от значения параметра cmd:

1 вернуть максимальный размер файла (в блоках по 512 байт), в который процесс может вести запись

2 установить ограничение сверху на размер файла равным значению параметра limit

3 вернуть значение верхней точки прерывания (максимальный доступный адрес в области данных)

uмask

umask(mask)

int mask;

Функция umask устанавливает значение маски, описывающей режим создания файла (mask), и возвращает старое значение. При создании файла биты разрешения доступа, которым соответствуют установленные разряды в mask, будут сброшены.

uмount

umount(specialfile)

char *specialfile

Функция umount выполняет демонтирование файловой системы, расположенной на устройстве ввода-вывода блоками specialfile.

unamе

#include ‹sys/utsname.h›

uname(name)

struct utsname *name;

Функция uname возвращает информацию, идентифицирующую систему в соответствии со следующей структурой:

struct utsname {

 char sysname[9]; /* наименование */

 char nodename[9]; /* имя сетевого узла */

 char release[9]; /* информация о версии системы */

 char version[9]; /* дополнительная информация о версии */

 char machine[9]; /* технический комплекс */

};

unlink

unlink(filename)

char *filename;

Функция unlink удаляет из каталога запись об указанном файле.

ustat

#include ‹sys/types.h›

#include ‹ustat.h›

ustat(dev, ubuf)

int dev;

struct ustat *ubuf;

Функция ustat возвращает статистические данные, характеризующие файловую систему с идентификатором dev (старший и младший номера устройства). Структура ustat определена следующим образом:

struct ustat {

 daddr_t f_tfree; /* количество свободных блоков */

 ino_t f_tinode; /* количество свободных индексов */

 char f_fname[6]; /* наименование файловой системы */

 char f_fpack[6]; /* сокращенное (упакованное) имя файловой системы */

};

utimе

#include ‹sys/types.h›

utime(filename, times)

char *filename;

struct utimbuf *times;

Функция utime переустанавливает время последнего обращения к указанному файлу и последнего внесения изменений в соответствии со значениями, на которые указывает параметр times. Если параметр содержит нулевое значение, используется текущее время. В противном случае параметр указывает на следующую структуру:

struct utimbuf {

 time_t axtime; /* время последнего обращения */

 time_t modtime; /* время последнего внесения изменений */

};

Все значения отсчитываются от 00:00:00 1 января 1970 года по Гринвичу.

wait

wait(wait_stat)

int *wait_stat;

Функция wait побуждает процесс приостановить свое выполнение до момента завершения потомка или до момента приостанова трассируемого процесса. Если значение параметра wait_stat ненулевое, оно представляет собой адрес, по которому функция записывает возвращаемую процессу информацию. При этом используются только 16 младших разрядов кода возврата. Если обнаружен завершивший свое выполнение потомок, 8 младших разрядов кода возврата содержат 0, а 8 старших разрядов — код возврата (аргумент) функции exit. Если потомок завершил свое выполнение в результате получения сигнала, код возврата функции exit содержит номер сигнала. Кроме того, если образ процесса-потомка сохранен в файле "core", производится установка бита 0200. Если обнаружен приостановивший свое выполнение трассируемый процесс, 8 старших разрядов кода возврата функции wait содержат номер приведшего к его приостанову сигнала, а 8 младших разрядов — восьмиричное число 0177.


стр.

Похожие книги