Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_ukaz.doc
Скачиваний:
0
Добавлен:
20.06.2023
Размер:
325.63 Кб
Скачать

Указания к выполнению работы

В работе следует продемонстрировать возможности изоляции объектов дочернего пространства имен от объектов родительского пространства имен путем вывода параметров объектов дочернего и родительского пространств имен.

По согласованию с преподавателем выбирается вариант программного интерфейса пространства имен – unshare() или clone().

Затем по согласованию с преподавателем выбирается тип пространства имен.

Для пространства имен PID можно использовать функции getpid() и getppid().

Для пространства имен UTS можно использовать функции uname(), sethostname(), setdomainname().

Для пространства имен IPC можно использовать функции mq_open().

Для пространства имен Network можно использовать функции socket() и bind().

Для пространства имен Mount можно использовать функции mount(), umount(), opendir(), readdir().

Для пространства имен User можно использовать функции getuid(), getgid(), setuid(), setgid(). Также необходимо ознакомиться со структурой файлов /proc/[pid]/uid_map и /proc/[pid]/gid_map.

Для пространства имен TIME можно использовать функцию clock_gettime() для тестирования изолированности пространств времени. Также необходимо ознакомиться со структурой файла /proc/[pid]/timens_offsets.

Вопросы для самопроверки

  1. В чем состоят различия между вызовами для создания процессов fork() и clone()?

  2. Что представляют собой пространства имен Linux?

  3. Какие функции, кроме clone(), еще входят в программный интерфейс пространств имен Linux?

  4. В каком каталоге можно найти файловые дескрипторы пространств имен процесса?

  5. Какие пространства имен процессов Linux не рассмотрены в данной работе?

  6. Какие существуют ограничения в назначении пользователей и групп в дочернем пространстве имен пользователей?

Таблица системных функций

Студент выбирает функцию для работ 3, 6, 7, 8, 9 по согласованию с преподавателем

Номер

Функции

1

uname - получение системной информации

2

sysinfo - получение системной информации Linux

3

sysconf - получение значения системной переменной

4

statfs - получение статуса файловой системы

5

stat - получение статуса файла

6

pathconf - получение информации о файле

7

получение даты и времени в формате ГГГГ.ММ.ДД ЧЧ:мм:СС

8

getsockopt - получение установок опций сокета

9

getsockname - получение адреса сокета

10

gethostbyname - получение информации о хосте по его имени

11

getaddrinfo - возвращает одну или несколько структур addrinfo, каждая из которых содержит Интернет-адрес

12

getrusage - сводка ресурсов

13

getrlimit - получение лимита ресурсов

14

getegid - получение эффективного id группы

getgrgid –получение информации о группе по id

getgrnam –получение информации о группе по имени

15

getgid - получение id группы

getgrgid – получение инфо о группе по id

getgrnam – получение инфо о группе по имени

16

getgroups - получение дополнительных групп

17

geteuid - получение эффективного id пользователя

getpwuid - получение информации о пользователе по id

getpwnam - получение информации о пользователе по имени

18

getuid - получение действительного id пользователя

getpwuid - получение информации о пользователе по id

getpwnam - получение информации о пользователе по имени

19

getpriority - получение приоритета (процесса, группы, пользователя)

20

getpgid - получение id группы родителя заданного процесса

21

getpgrp - получение id группы родителя текущего процесса

22

getpid - получение id текущего процесса

23

getppid - получение id родительского процесса

24

getpagesize - получение размеров страницы в системе

25

gethostid - получение уникального идентификатора хоста

59

Соседние файлы в предмете Операционные системы