![](/user_photo/2706_HbeT2.jpg)
- •1)Права доступа к файлу
- •2)Родительский процесс, порожденный, «сирота»
- •3)Системные вызовы fork, exec ,wait.
- •4)Файловая система. Системные вызовы mount, umount.
- •5)Файловая система. I-nodes.
- •6)Жесткая и символическая ссылки.
- •7)Схема переходов процесса из состояния в состояние
- •8)Системные вызовы getpid, getppid
- •9)Системный вызов times. Ядерная и пользовательские фазы процессов.
- •10)Программные каналы. Fifo-файлы.
- •11)Очередь сообщений. Последовательность системных вызовов.
- •12) Параметры функции msgget.
- •13)Параметры функции msgsnd.
- •14)Параметры функции msgrcv.
- •15)Параметры функции msgctl.
- •16)Семафоры. Последовательность системных вызовов.
- •17)Параметры функции semget.
- •18)Параметры функции semop.
- •19)Параметры функции semctl.
- •20)Разделяемая память. Последовательность системных вызовов.
- •21)Параметры функции shmget.
- •22)Параметры функции shmat.
- •23)Параметры функции shmdt.
- •24)Параметры функции shmctl.
- •25)Последовательность системных вызовов при работе с socket.
- •26)Потоки стандарта Posix.1c
- •27) Системный вызов pthread_create.
- •28)Системные вызовы pthread_self,exit и sched_yield
- •29) Системные вызовы pthread_join kill
- •30) Взаимоисключающие блокировки. Пример тупиковой ситуации.
- •34)Условные переменные
- •35) Системные вызовы pthread_cond_init, pthread_cond_signal и pthread_cond_timedwait. Их предназначение и параметры.
- •36) Системные вызовы pthread_cond_broadcast, pthread_cond_wait и pthread_cond_destroy. Их предназначение и параметры.
- •38) Системный вызов sem_open. Его предназначение и параметры.
- •39) Системные вызовы sem_init. Его предназначение и параметры.
- •40) Системные вызовы sem_getvalue, sem_wait и sem_close. Их предназначение и параметры.
- •41) Системные вызовы sem_trywait и sem_unlink. Их предназначение и параметры.
- •42) Системные вызовы sem_post и sem_destroy. Их предназначение и параметры.
- •43.Последовательность вызовов api серверного гнезда.
- •44.Последовательность вызовов api клиентского гнезда.
- •45.Последовательность вызовов api дейтаграммного гнезда.
- •46.Предназначение системного вызова socket().
- •47.Предназначение системного вызова bind().
- •48.Предназначение системного вызова listen().
- •49.Предназначение системного вызова accept().
- •50.Предназначение системного вызова connect().
- •51.Предназначение системных вызовов send() и sendto().
- •52.Предназначение системных вызовов recv() и recvfrom().
44.Последовательность вызовов api клиентского гнезда.
Этот объект предназначен для установления связи с сервером. Точнее, с серверным сокетом, даже если этот сокет выполнен на другом языке программирования. Нахождение нужного сервера осуществляется в сети по его имени, либо IP-адресу. После установления соединения программа может взаимодействовать с сервером, а именно — посылать и принимать данные. Интересно то, что эти данные могут быть произвольного типа.
ClientType - Определяет тип клиента с позиций работы с потоками передачи/приема данных. Значение ctNonBlocking позволяет вести с сервером асинхронную работу, посредством операторов чтения/записи. Альтернативный вариант — ctBlocking устанавливает поток обмена данными с сервером, через который и ведется работа
Socket - Определяет объект типа TClientwinSocket, который и представляет программе все сокетные сервисы. Будет описан чуть позже
Active - Определяет — активно ли соединение
Address - Содержит IP-адрес сервера
Host - Содержит имя (DNS) сервера
Port - Определяет порт, на котором установлена служба, с которой требуется соединиться
Service - Определяет название службы, точнее — протокола высокого уровня (HTTP, FTP, POP), по которому будет вестись работа. Если используется собственный формат обмена данными, то поле можно оставлять пустым
45.Последовательность вызовов api дейтаграммного гнезда.
Дейтаграммное соединение используется для передачи отдельных пакетов, содержащих порции данных – дейтаграмм. Для дэйтаграмм не гарантируется доставка в том же порядке, в каком они были посланы. Вообще говоря, для них не гарантируется доставка вообще, надежность соединения в этом случае ниже, чем при установлении виртуального канала. Однако дейтаграммные соединения, как правило, более быстрые. Примером дейтаграммного соединения из реальной жизни может служить обычная почта: письма и посылки могут приходить адресату не в том порядке, в каком они были посланы, а некоторые из них могут и совсем пропадать.
Функция IPXListenForPacket - предназначена для инициирования процесса приема пакетов из сети.
Функция IPXSendPacket - подготавливает блок ECB и связанный с ним заголовок пакета для передачи пакета по сети. Она сразу возвращает управление вызвавшей ее программе, не дожидаясь завершения процесса передачи пакета.
Функция IPXGetInternetworkAddress - с помощью этой функции программа может узнать сетевой адрес станции, на которой она сама работает.
46.Предназначение системного вызова socket().
прототип функции socket выглядит следующим образом:
#include <sys/types.h> #include <sys/socket.h>
int socket ( int donnain, int type, int protocol );
Эта функция создает для указанного пользователем домена гнездо заданного типа и с указанным протоколом.
Аргумент domain определяет правила именования гнезда и формат адреса, используемые в протоколе. Широко применяются такие домены, как AF UNIX (домен UNIX) и AF INET (Internet-домен).
Аргумент type задает тип гнезда. Возможные значения этого аргумента приведены ниже.
Тип гнезда
Смысл
SOCK STREAM
SOCK DGRAM
SOCK SEQPACKET
Сообщения передаются в виде упорядоченного двунаправленного потока байтов с высокой степенью надежности и предварительным установлением соединения
Межпроцессное взаимодействие обеспечивается с помощью дейтаграмм. Сообщения передаются быстро (как правило, без установления соединения), но с низкой степенью надежности
Двунаправленная последовательная высоконадежная передача сообщений фиксированной максимальной длины с предварительным установлением соединения
Аргумент protocol указывает конкретный протокол, который следует использовать с данным гнездом. Фактическое значение этого аргумента зависит от значения аргумента domain. Как правило, оно устанавливается в О, и ядро само выбирает для указанного домена соответствующий протокол.
В случае успешного выполнения рассматриваемая функция возвращает целочисленный дескриптор гнезда, а в случае неудачи возвращает -1. Отметим, что дескриптор гнезда - это то же самое, что и дескритггор файла; он занимает одну ячейку таблицы дескрипторов файлов в вызывающем процессе.