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.
writе
write(fd, buf, count)
int fd, count;
char *buf;
Функция write выполняет запись указанного в count количества байт данных, начиная с адреса buf, в файл с дескриптором fd.
БИБЛИОГРАФИЯ
[Babaoglu 81] Babaoglu, O., and W.Joy, 'Converting a Swap-Based System to do Paging in an Architecture Lacking Page-Referenced Bits', Proceedings of the 8th Symposium on Operating Systems Principles, ACM Operating Systems Review, Vol. 15(5), Dec. 1981, pp. 78–86.
[Bach 84] Bach, M.J., and S.J.Buroff, 'Multiprocessor UNIX Systems', AT&T Bell Laboratories Technical Journal, Oct. 1984, Vol. 63, No. 8, Part 2, pp. 1733– 1750.
[Barak 80] Barak, A.B. and Aapir, 'UNIX with Satellite Processors', Software — Practice and Experience, Vol. 10, 1980, pp. 383–392.
[Beck 85] Beck, B. and B.Kasten, 'VLSI Assist in Building a Multiprocessor UNIX System', Proceedings of the USENIX Association Summer Conference, June 1985, pp. 255–275.
[Berkeley 83] UNIX Programmer's Manual, 4.2 Berkeley Software Distribution, Virtual VAX-11 Version, Computer Science Division, Department of Electrical Engineering and Computer Science, University of California at Berkeley, August 1983.
[Birrell 84] Birrell, A.D. and B.J.Nelson, 'Implementing Remote Procedure Calls', ACM Transactions on Computer Systems, Vol. 2, No. 1, Feb. 1984, pp. 39–59.
[Bodenstab 84] Bodenstab, D.E., T.F.Houghton, K.A.Kelleman, G.Ronkin, and E.P.Schan, 'UNIX Operating System Porting Experiences', AT amp;T Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984, pp. 1769–1790.
[Bourne 78] Bourne, S.R., 'The UNIX Shell', The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1971–1990.
[Bourne 83] Bourne, S.R., The UNIX System, Addison-Wesley, Reading, MA, 1983.
[Brownbridge 82] Brownbridge, D.R., L.F.Marshall, and B.Randell, 'The Newcastle Connection or UNIXes of the World Unite!' in Software Practice and Experience, Vol. 12, 1982, pp. 1147–1162.