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


Авторские права

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

Здесь можно скачать бесплатно "Морис Бах - Архитектура операционной системы UNIX" в формате fb2, epub, txt, doc, pdf. Жанр: Программное обеспечение, издательство Издано корпорацией Prentice-Hall.. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Архитектура операционной системы UNIX
Автор:
Издательство:
Издано корпорацией Prentice-Hall.
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Архитектура операционной системы UNIX"

Описание и краткое содержание "Архитектура операционной системы UNIX" читать бесплатно онлайн.








040000 каталог

060000 специальный файл устройства ввода-вывода блоками

12 младших разрядов параметра modes имеют тот же самый смысл, что и в функции chmod. Если файл имеет специальный тип, параметр dev содержит старший и младший номера устройства.

мount

mount(specialfile, dir, rwflag)

char *specialfile, *dir;

int rwflag;

Функция mount выполняет монтирование файловой системы, на которую указывает параметр specialfile, в каталоге dir. Если младший бит параметра rwflag установлен, файловая система монтируется только для чтения.

мsgctl

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgctl(id, cmd, buf)

int id, cmd;

struct msgid_ds *buf;

В зависимости от операции, указанной в параметре cmd, функция msgctl дает процессам возможность устанавливать или запрашивать информацию о статусе очереди сообщений с идентификатором id, а также удалять очередь из системы. Структура msquid_ds определена следующим образом:

struct ipc_perm {

 ushort uid; /* идентификатор текущего пользователя */

 ushort gid; /* идентификатор текущей группы */

 ushort cuid; /* идентификатор пользователя-создателя */

 ushort cgid; /* идентификатор группы создателя */

 ushort mode; /* права доступа */

 short pad1; /* используется системой */

 long pad2; /* используется системой */

};

struct msquid_ds {

 struct ipc_perm msg_perm; /* структура, описывающая права доступа */

 short pad1[7]; /* используется системой */

 ushort msg_qnum; /* количество сообщений в очереди */

 ushort msg_qbytes; /* максимальный размер очереди в байтах */

 ushort msg_lspid; /* идентификатор процесса, связанного с последней посылкой сообщения */

 ushort msg_lrpid; /* идентификатор процесса, связанного с последним получением сообщения */

 time_t msg_stime; /* время последней посылки сообщения */

 time_t msg_rtime; /* время последнего получения сообщения */

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

};

Типы операций:

IPC_STAT Прочитать в буфер заголовок очереди сообщений, ассоциированный с идентификатором id

IPC_SET Установить значения переменных msg_perm.uid, msg_perm.gid, msg_perm.mode (9 младших разрядов структуры msg_perm) и mgr_qbytes в соответствии со значениями, содержащимися в буфере

IPC_RMID Удалить из системы очередь сообщений с идентификатором id

мsgget

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgget(key, flag)

key_t key;

int flag;

Функция msgget возвращает идентификатор очереди сообщений, имя которой указано в key. Параметр key может указывать на то, что возвращаемый идентификатор относится к частной очереди (IPC_PRIVATE), в этом случае создается новая очередь сообщений. С помощью параметра flag можно сделать указание о необходимости создания очереди (IPC_CREAT), а также о том, что создание очереди должно выполняться монопольно (IPC_EXCL). В последнем случае, если очередь уже существует, функция msgget дает отказ.

мsgsnd и msgrcv

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/msg.h›

msgsnd(id, msgp, size, flag)

int id, size, flag;

struct msgbuf *msgp;

msgrcv(id, msgp, size, type, flag)

int id, size, type, flag;

struct msgbuf *msgmp;

Функция msgsnd посылает сообщение указанного размера в байтах (size) из буфера msgp в очередь сообщений с идентификатором id. Структура msgbuf определена следующим образом:

struct msgbuf {

 long mtype;

 char mtext[];

};

Если в параметре flag бит IPC_NOWAIT сброшен, функция msgsnd будет приостанавливаться в тех случаях, когда размер отдельного сообщения или число сообщений в системе превышают допустимый максимум. Если бит IPC_NOWAIT установлен, функция msgsnd в этих случаях прерывает свое выполнение. Функция msgrcv принимает сообщение из очереди с идентификатором id. Если параметр type имеет нулевое значение, из очереди будет выбрано сообщение, первое по счету; если положительное значение, из очереди выбирается первое сообщение данного типа; если отрицательное значение, из очереди выбирается сообщение, имеющее самый младший тип среди тех типов, значение которых не превышает абсолютное значение параметра type. В параметре size указывается максимальный размер сообщения, ожидаемого пользователем. Если в параметре flag установлен бит MSG_NOERROR, в том случае, когда размер получаемого сообщения превысит предел, установленный параметром size, ядро обрежет это сообщение. Если же соответствующий бит сброшен, в подобных случаях функция будет возвращать ошибку. Если в параметре flag бит IPC_NOWAIT сброшен, функция msgrcv приостановит свое выполнение до тех пор, пока сообщение, удовлетворяющее указанному в параметре type условию, не будет получено. Если соответствующий бит сброшен, функция завершит свою работу немедленно. Функция msgrcv возвращает размер полученного сообщения (в байтах).

niсе

nice(increment)

int increment;

Функция nice увеличивает значение соответствующей компоненты, участвующей в вычислении приоритета планирования текущего процесса, на величину increment. Увеличение значения nice ведет к снижению приоритета планирования.

оpen

#include ‹fcntl.h›

open(filename, flag, mode)

char *filename;

int flag, mode;

Функция open выполняет открытие указанного файла в соответствии со значением параметра flag. Значение параметра flag представляет собой комбинацию из следующих разрядов (причем из первых трех разрядов может быть использован только один):

O_RDONLY открыть только для чтения

O_WRONLY открыть только для записи

O_RDWR открыть для чтения и записи

O_NDELAY если файл является специальным файлом устройства, функция возвращает управление, не дожидаясь ответного сигнала; если файл является поименованным каналом, функция в случае неудачи возвращает управление немедленно (с индикацией ошибки, когда бит O_WRONLY установлен), не дожидаясь открытия файла другим процессом

O_APPEND добавляемые данные записывать в конец файла

O_CREAT если файл не существует, создать его; режим создания (mode) имеет тот же смысл, что и в функции creat; если файл уже существует, данный флаг игнорируется

O_TRUNC укоротить длину файла до 0

O_EXCL если этот бит и бит O_CREAT установлены и файл существует, функция не будет выполняться; это так называемое "монопольное открытие"

Функция open возвращает дескриптор файла для последующего использования в других системных функциях.

рausе

pause()

Функция pause приостанавливает выполнение текущего процесса до получения сигнала.

рipе

pipe(fildes)

int fildes[2];

Функция pipe возвращает дескрипторы чтения и записи (соответственно, в fildes[0] и fildes[1]) для данного канала. Данные передаются через канал в порядке поступления; одни и те же данные не могут быть прочитаны дважды.

рlock

#include ‹sys/lock.h›

plock(op)

int op;

Функция plock устанавливает и снимает блокировку областей процесса в памяти в зависимости от значения параметра op:

PROCLOCK заблокировать в памяти области команд и данных

TXTLOCK заблокировать в памяти область команд

DATLOCK заблокировать в памяти область данных

UNLOCK снять блокировку всех областей

рrofil

profil(buf, size, offset, scale)

char *buf;

int size, offset, scale;

Функция profil запрашивает у ядра профиль выполнения процесса. Параметр buf определяет массив, накапливающий число копий процесса, выполняющихся в разных адресах. Параметр size определяет размер массива buf, offset — начальный адрес участка профилирования, scale — коэффициент масштабирования.

рtraсе

ptrace(cmd, pid, addr, data)

int cmd, pid, addr, data;

Функция ptrace дает текущему процессу возможность выполнять трассировку другого процесса, имеющего идентификатор pid, в соответствии со значением параметра cmd:

0 разрешить трассировку потомку (по его указанию)

1,2 вернуть слово, расположенное по адресу addr в пространстве трассируемого процесса с идентификатором pid

3 вернуть слово, расположенное в пространстве трассируемого процесса по адресу со смещением addr

4,5 записать значение по адресу addr в пространстве трассируемого процесса

6 записать значение по адресу со смещением addr

7 заставить трассируемый процесс возобновить свое выполнение

8 заставить трассируемый процесс завершить свое выполнение

9 машинно-зависимая команда — установить в слове состояния программы бит для отладки в режиме пошагового выполнения

read

read(fildes, buf, size)

int fildes;

char *buf;

int size;

Функция read выполняет чтение из файла с дескриптором fildes в пользовательский буфер buf указанного в параметре size количества байт. Функция возвращает число фактически прочитанных байт. Если файл является специальным файлом устройства или каналом и если в вызове функции open был установлен бит O_NDELAY, функция read в случае отсутствия доступных для чтения данных возвратит управление немедленно.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Архитектура операционной системы UNIX"

Книги похожие на "Архитектура операционной системы UNIX" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Морис Бах

Морис Бах - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Морис Бах - Архитектура операционной системы UNIX"

Отзывы читателей о книге "Архитектура операционной системы UNIX", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.