игра брюс 2048
Главная / Операционные системы / Внутреннее устройство ядра Linux / Тест 18

Внутреннее устройство ядра Linux - тест 18

Упражнение 1:
Номер 1
Какие операции являются основными для директории?

Ответ:

 (1) операция readdir - получение содержимого директории 

 (2) операция fopen - открытие файла 

 (3) операция lookup - превращение пути в объект dentry 

 (4) операция сhdir - смена рабочего каталога приложения 


Номер 2
Что делает операция readdir?

Ответ:

 (1) берёт inode, являющийся директорией и считывает атрибуты и содержимое файлов, находящихся в директории 

 (2) превращает путь к файлу в объект dentry 

 (3) берёт inode, являющийся директорией и получает список имен файлов директории 

 (4) для заданной директорной записи формирует список всех файлов, находящихся в соответствующей директории и в вложенных директориях 


Номер 3
Что делает операция lookup?

Ответ:

 (1) превращает путь к файлу в объект dentry 

 (2) для данного объекта dentry формирует полный путь 

 (3) берёт inode, являющийся директорией и получает список файлов (имена) директории 

 (4) для заданной директорной записи формирует список всех файлов, находящихся в соответствующей директории и в вложенных директориях 


Упражнение 2:
Номер 1
Из каких шагов состоит операция lookup?

Ответ:

 (1) поиск dentry в hash-таблице dentry по полному пути 

 (2) запрос у файловой системы объекта dentry по полному пути 

 (3) поиск dentry в hash-таблице dentry для элемента пути 

 (4) запрос у файловой системы объекта dentry по элементу пути 


Номер 2
По каким ключам выполняется поиск в dentry hash?

Ответ:

 (1) superblock + name + parent dentry 

 (2) superblock + name 

 (3) name + parent dentry 

 (4) root dentry + parent dentry + name 


Номер 3
Какие шаги выполняются при операции lookup, если dentry не найден в hash-таблице?

Ответ:

 (1) VFS возвращает ошибку поиска пути 

 (2) VFS обращается к файловой системе для поиска dentry 

 (3) файловая система создаёт пустую dentry 

 (4) файловая система нотифицируется об удалённом файле 


Упражнение 3:
Номер 1
Кем и когда создаётся новый dentry в кэше detnry?

Ответ:

 (1) все dentry создаются VFS при монтировании файловой системы 

 (2) для всех файловых систем все dentry создаются драйвером файловой системы при монтировании файловой системы 

 (3) dentry создаёт VFS когда не удаётся найти в hash-таблице detnry 

 (4) dentry создаёт драйвер файловой системы, когда не удаётся найти в hash-таблице detnry по имени пути 


Номер 2
Что происходит с созданной в процессе поиска dentry в памяти, если на файловой системе не находится искомого файла?

Ответ:

 (1) dentry остаётся в таблице с пустой ссылкой на inode 

 (2) dentry удаляется из hash-таблицы 

 (3) dentry остаётся в таблице, ссылка на inode заполняется адресом созданной пустой inode 

 (4) dentry остаётся в таблице и используется 


Номер 3
Что означает пустая ссылка на inode для структуры dentry?

Ответ:

 (1) на объект detnry нет больше ссылок и она должна быть удалена 

 (2) dentry описывает корневую директорию файловой системы 

 (3) на файловой системе не существует такого файла 

 (4) dentry описывает пустую директорию 


Упражнение 4:
Номер 1
Каким образом для файловых систем решается проблема актуальности кэша dentry?

Ответ:

 (1) VFS вызывает метод revalidate() после нахождения в кэше dentry искомой записи 

 (2) VFS вызывает метод revalidate() после того как файловая система возвращает искомую запись dentry 

 (3) сетевые файловые системы обеспечивают сами актуальность кэша dentry 

 (4) все объекты кэша dentry заносятся в список "less recently used" объектов и объекты из этого списка регулярно удаляются 


Номер 2
Для чего служит метод  revalidate()?

Ответ:

 (1) для проверки актуальности закэшированных записей dentry 

 (2) для очистки кэша записей dentry раз в минуту 

 (3) для проверки наличия реальных inode 

 (4) для очистки кэша dentry от устаревших записей 


Номер 3
Для каких файловых систем имеет смысл поддержка метода revalidate()?

Ответ:

 (1) дисковые файловые системы: FAT, EXT4 

 (2) сетевые файловые системы: NFS 

 (3) облачные файловые системы: googlefs 

 (4) виртуальный файловые системы: procfs, debugfs 


Упражнение 5:
Номер 1
Какие объекты файловой системы должны создаваться в ядре при загрузке драйвера файловой системы?

Ответ:

 (1) структура file_system_type 

 (2) структура superblock и корневой dentry файловой системы 

 (3) массив структур dentry 

 (4) коллекция структур inode 


Номер 2
Какие объекты файловой системы создаются в ядре при монтировании файловой системы? 

Ответ:

 (1) структура file_system_type 

 (2) структура superblock и корневая dentry файловой системы 

 (3) массив структур dentry 

 (4) коллекция структур inode 


Номер 3
Какие объекты создаются в ядре при поиске пути в файловой системе?

Ответ:

 (1) структура file_system_type 

 (2) структура superblock и корневой dentry файловой системы 

 (3) структура dentry, в случае её отсутствия в хеш-таблице 

 (4) hash-таблицы структур inode и dentry 

 (5) структура inode для существующих файлов 


Упражнение 6:
Номер 1
Каким образом в ядре решается проблема разрастания дерева каталогов в памяти?

Ответ:

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

 (2) ведётся список ссылок на объекты detnry, отсортированный по времени использования и регулярно из него (и из кэша dentry, соответственно) удаляются наиболее ранние элементы 

 (3) кэш dentry записей очищается каждую минуту 

 (4) использование метода revalidate() после каждого использования поиска в кеше dentry решает эту проблему 


Номер 2
Упорядочены ли dentry в списке lru?

Ответ:

 (1) список dentry не является упорядоченным 

 (2) упорядочены по количеству ссылок на dentry 

 (3) отсортированы по имени директории 

 (4) упорядочены по времени последнего обращения 


Номер 3
Когда происходит очистка кэша dentry на основании списка lru (least resently used)?

Ответ:

 (1) в ходе общей очистки памяти, случающейся когда в системе уменьшается количество свободной памяти ниже некоторого предела 

 (2) регулярно c заданным интервалом времени 

 (3) когда объём кэша достигает пороговых значений 

 (4) когда размер списка lru достигает заданных пороговых значений 


Упражнение 7:
Номер 1
За счёт чего увеличиваются счётчики ссылок на dentry?

Ответ:

 (1) дочерние элементы дерева директорий увеличивают счётчик ссылок у родительских элементов дерева 

 (2) родительские элементы дерева директорий увеличивают счётчик ссылок у дочерних элементов дерева 

 (3) системные вызовы chdir и chroot увеличивают счётчик ссылок на объекты dentry 

 (4) системные вызовы lseek и pread увеличивают счётчик ссылок на объекты dentry 

 (5) открытые файлы увеличивают счётчик ссылок на объекты dentry 


Номер 2
Что входит в контекст открытого файла?

Ответ:

 (1) индекс в принадлежащем task_struct, массиве объектов struct files 

 (2) флаг, указывающий на то в каком режиме: текстовом или бинарном читается файл 

 (3) позиция в файле 

 (4) режим доступа: read only / write 


Номер 3
Что такое файловый дескриптор?

Ответ:

 (1) уникальный в рамках системы идентификатор, по которому можно получить доступ к данным файла 

 (2) индекс в принадлежащем task_struct, массиве объектов struct files 

 (3) указатель на объект struct file, описывающий контекст открытия файла 

 (4) указатель на объект inode, принадлежащий объекту struct file 


Упражнение 8:
Номер 1
При каких вызовах увеличивается количестово ссылок на объекты dentry?

Ответ:

 (1) clone c флагом CLONE_FILES 

 (2) open() 

 (3) dup() 

 (4) fork() 


Номер 2
При каких вызовах увеличивается количество ссылок на объекты struct file?

Ответ:

 (1) clone c флагом CLONE_FILES 

 (2) open() 

 (3) dup() 

 (4) fork() 


Номер 3
При каких вызовах увеличивается количество ссылок на объекты struct files_struct?

Ответ:

 (1) clone c флагом CLONE_FILES 

 (2) open() 

 (3) dup() 

 (4) fork() 


Упражнение 9:
Номер 1
Какие операции могут выполняться при вызове unlink?

Ответ:

 (1) нахождение dentry операцией lookup() 

 (2) отцепление inode от dentry 

 (3) уменьшение количества ссылок на структуру files 

 (4) уменьшение количества жёских ссылок в структуре inode 


Номер 2
Если количество жестких ссылок на inode при удалении файла уменьшилось до 0,то:

Ответ:

 (1) выплняется запрос на удаление файла из файловой системы 

 (2) dentry, относящаяся к удаляемому файлу удаляется из кеша dentry 

 (3) inode отрывается от dentry 

 (4) уничтожается в памяти объект dentry 


Номер 3
Если количество жестких ссылок на inode при удалении файла осталось больше 0, то:

Ответ:

 (1) выполняется запрос на удаление файла из файловой системы 

 (2) уничтожается в памяти объект inode 

 (3) уничтожается в памяти объект dentry 

 (4) dentry, относящаяся к удаляемому файлу, удаляется из кэша dentry 




Главная / Операционные системы / Внутреннее устройство ядра Linux / Тест 18