Выбрать главу

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.

[Bunt 76] Bunt, R.B., "Scheduling Techniques for Operating Systems", Computer, Oct. 1976, pp. 10–17.

[Christian 83] Christian, K., The UNIX Operating System, John Wiley & Sons Inc., New York, NY, 1983.

[Coffman 73] Coffman, E.G., and P.J.Denning, Operating Systems Theory, Prentice-Hall Inc., Englewood Cliffs, NJ, 1973.

[Cole 85] Cole, C.T., P.B.Flinn, and A.B.Atlas, "An Implementation of an Extended File System for UNIX", Proceedings of the USENIX Conference, Summer 1985, pp. 131–149.

[Denning 68] Denning, P.J., "The Working Set Model for Program Behavior, Communications of the ACM, Volume 11, No. 5, May 1968, pp. 323–333.

[Dijkstra 65] Dijkstra, E.W., "Solution of a Problem in Concurrent Program Control", CACM, Vol. 8, No. 9, Sept. 1965, p. 569.

[Dijkstra 68] Dijkstra, E.W., "Cooperating Sequential Processes", in Programming Languages, ed. F.Genuys, Academic Press, New York, NY, 1968.

[Felton 84] Felton, W.A., G.L.Miller, and J.M.Milner, "A UNIX Implementation for System/370", AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8, Oct. 1984, pp. 1751–1767.

[Goble 81] Goble, G.H. and M.H.Marsh, "A Dual Processor VAX 11/780", Purdue University Technical Report, TR-EE 81–31, Sept. 1981.