Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
41-50.docx
Скачиваний:
0
Добавлен:
26.12.2019
Размер:
34.14 Кб
Скачать

41. Структура записей и содержимое файлов-каталогов unix:

Каталог представляет собой совокупность записей обо всех файлах и каталогах, входящих в него. Каждая запись состоит из 16 байтов, 14 байтов отводится под короткое символьное имя файла или каталога, а 2 байта - под номер индексного дескриптора этого файла. В каталоге файловой системы s5 непосредственно не указываются характеристики файлов. Такая организация файловой системы позволяет с меньшими затратами перестраивать систему каталогов.

Команда ls (list files) предназначена для просмотра содержимого каталогов и получения информации о файлах.

Примеры:

$ ls $ ls -a $ ls /bin…

Команда file представляет собой интерфейс к системе magic, который доступен пользователю в виде обычной команды. Примеры: $ file /usr/sbin/adduser

Пейджеры (pager) more или less используются для просмотра больших объемов текстовой информации страницами. Они позволяют осуществлять навигавицию, поиск по тексту и некоторые другие действия с помощью команд.

Программа du (disk usage) позволяет получить статистику использования дискового пространства не по разделам целиком, а для конкретных указанных каталогов.

Про структуру данных(записей не нашел):

Структуры ("записи") представляют собой агрегаты разнородных данных (полей разного типа); в отличие от массивов, где все элементы имеют один и тот же тип.

struct {

int x, y; /* два целых поля */

char s[10]; /* и одно - для строки */

} s1;

Доступ к полям структуры производится по имени поля (а не по индексу, как у массивов):  имя_структурной_переменной.имя_поля  указатель_на_структуру -> имя_поля

Структура может содержать структуры другого типа в качестве полей.

Структуры одинакового типа можно присваивать целиком (что соответствует присваиванию каждого из полей): struct XYS s1, s2; ... s2 = s1;

44. Формат і призначення таблиці переміщень в об'єктних файлах

Таблица перемещений(в формате ELF) содержит по одному элементу для каждой настраиваемой ссылки в секциях кода. Структура элемента таблицы параметров:

Typedef struct elf 32_rel {

ELF32_Addr r_offset; //алресс

ELF32_Word r_info; //тип(размер)

}ELF 32_Rel;

45. Адресний простір і атрибути процессу

API управления адресного пространства:

Int brk(char *ends) – (работают с границами сегмента данных.) – позволяет устанавливать новую границу сегмента данных(виртуальный адрес); если успешно – 0, иначе – 1.

У каждого процесса есть ряд важных атрибутов:

Основной атрибут  - это идентификационный номер в системе (Process ID). Каждому новому процессу назначается следующий свободный номер. После завершения процесса его номер освобождается.

идентификатор родительского процесса (Parent Process ID). В unix системах процесс не может появиться сам собой. Каждый процесс рождается клонированием другого процесса, порождающий процесс называется родительским. Родителем всех процессов является процесс init.

Приоритет процесса. Приоритет процесса складывается из нескольких факторов. Есть относительный приоритет, который может изменить только пользователь. Он в свою очередь влияет на фактический приоритет выполнения, который динамически обновляется ядром. Изменить относительный приоритет можно командой nice.

Управляющий терминал. Этот атрибут имеет значение только для пользовательских процессов. Управляющим терминалом для него будет имя терминала, с которого этот процесс был запущен.

Идентификатор пользователя (User ID).  Это идентификатор пользователя создавшего процесс. Процесс обладает правами пользователя, его запустившего. Этот атрибут совпадает с эффективным идентификатором родительского процесса.

Идентификатор группы пользователя (Group ID) и эффективный идентификатор группы пользователя (Effective Group ID) эти идентификаторы работают аналогично пользовательским, только на уровне группы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]