- •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().
3)Системные вызовы fork, exec ,wait.
Системный вызов fork приводит к созданию нового адресного пространства, состояние которого абсолютно идентично состоянию адресного пространства основного процесса (т.е. в нем содержатся те же программы и данные). Другими словами, сразу после выполнения системного вызова fork основной и порожденный процессы являются абсолютными близнецами; управление и в том, и в другом находится в точке, непосредственно следующей за вызовом fork.
Выполнение системного вызова exec приводит к тому, что в адресное пространство порожденного процесса загружается новая выполняемая программа и запускается с адреса, соответствующего входу в функцию main.
В результате осуществления процессом системного вызова wait() функционирование процесса приостанавливается до момента завершения порожденного им процесса-потомка. По завершении процесса-потомка процесс-предок пробуждается и в качестве возвращаемого значения системного вызова wait() получает идентификатор завершившегося процесса-потомка, что позволяет процессу-предку определить, какой из его процессов-потомков завершился (если он имел более одного процесса-потомка).
4)Файловая система. Системные вызовы mount, umount.
Любые устройства Unix’ом распознаются как файл. Для Unix файл- это фундаментальная абстракция. Файл-это именованная область. Каждый файл имеет уникальное полное имя. Корень Unix это директория “/”. В файловых системах Unix отсутствует понятие дисков. Расширения в файлах не обязательны. Кроме полных имен существуют относительные имена:
текущий каталог ./
родительский отн. текущего ../
Родные файловые системы для Unix: ext2,ext3.
mount[какая ФС][куда] – монтировать ФС в точку монтирования
umount[тока монтирования] – изъять ФС в точке монтирования
5)Файловая система. I-nodes.
Любые устройства Unix’ом распознаются как файл. Для Unix файл-это фундаментальная абстракция. Файл-это именованная область. Каждый файл имеет уникальное полное имя. Корень Unix- это директория / . В файловых системах Unix отсутствует понятие дисков. Расширения в файлах не обязательны. Кроме полных имен существуют относительные имена:
текущий каталог ./
родительский отн. текущего ../
Родные файловые системы для Unix: ext2,ext3.
Блоки в ФС:
1.базовые блоки
2.boot блок(Boot record)
3.superblock – располагается в произв. месте, содержит список свободных блоков и свободных i-nodes.
I-nodes – это перечисление занятых блоков конкретным файлом. В i-nodes содержатся права доступа к файлам, время (созд/мод), имя файла, идентификатор владельца.
Индексный дескриптор, или i-node, содержит информацию о файле, необходимую для обработки данных т.е. метаданные файла. Каждый файл связан, ассоциирован с одним индексным дескриптором, хотя может иметь несколько имен в файловой системе, каждое из которых указывает на один и тот же индексный дескриптор. При открытии файла ядро помещает копию дискового дескриптора в память в соответствующую таблицу (in-core inode), которая содержит несколько дополнительных полей.