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

Внутреннее устройство ядра Linux - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Курс об основных конструктивных элементах ядра Linux.
Смотрите также:
Что такое файловая система?
(1) это подсистема ядра управляющая доступом к всем данным ядра операционной системы
(2) это способ предоставления доступа к данным
(3) это способ получения доступа для пользовательских программ к секторам жёсткого диска
(4) это подсистема ядра, обеспечивающая унификацию интерфейсов к контроллерам жёстких дисков различных производителей
Какие операции являются основными для директории?
(1) операция readdir - получение содержимого директории
(2) операция fopen - открытие файла
(3) операция lookup - превращение пути в объект dentry
(4) операция сhdir - смена рабочего каталога приложения
Для каких операций используется команда shell mount?
(1) загрузка драйвера файловой системы
(2) монтирование файловой системы
(3) создание синонима каталога в дереве файловой системы
(4) изменение текущего каталога приложения
За что отвечает сетевой стек ядра linux?
(1) - сетевой стек отвечает за передачу данных по физическим каналам
(2) сетевой стек помогает приложениям работать с сетью
(3) сетевой стек отвечает за организацию сетевых файловых систем
(4) сетевой стек раздаёт процессорное время приложениям
Каким образом пролегает входящий путь сетевого пакета?
(1) сокет -> стек протоколов -> драйвер сетевой карты -> сетевая карта
(2) сетевой адаптер -> драйвер сетевого адаптера -> обработчик NET_RX_SOFTIRQ -> сокет -> стек протоколов
(3) сетевой адаптер -> драйвер сетевого адаптера -> обработчик NET_RX_SOFTIRQ -> стек протоколов -> сокет
(4) сокет -> драйвер сетевой карты -> обработчик NET_RX_SOFTIRQ -> стек протоколов -> сетевая карта
Что описывает структура sk_buff?
(1) данные которые приложение записывает в сокет или файл
(2) полный сетевой пакет
(3) фрейм протокола TCP/IP
(4) сетевой пакет без MAC заголовка
За что отвечает протокол уровня MAC (Ethernet)?
(1) обмен пакетами данных между сетевыми устройствами в рамках одного сегмента сети
(2) маршрутизация сетевых пакетов между системами в рамках глобальной сети
(3) обмен сетевых пакетов между приложениями
(4) определение сетевого адреса в рамках глобальной сети
Зачем нужен планировщик процессорного времени?
(1) запуск на одном процессоре одного процесса
(2) запуск на одном процессоре нескольких процессов одновременно
(3) запуск на системе с несколькими процессорами нескольких процессов одновременно
(4) одновременное выполнение нескольких операций с файловой подсистемой
(5) контроль за работой системы procfs
Что такое Page Cache в ядре Linux?
(1) это кэш данных с съёмного носителя
(2) это кэш данных зачитанных с диска или другой файловой системы
(3) это процессорный кэш
(4) это кэш данных из сети
Какие основные задачи решает ядро операционной системы?
(1) предоставление интерфейса к аппаратуре, на которой работает операционная система
(2) организует генерацию аппаратных прерываний
(3) управление ресурсами
(4) поддерживает виртуализацию (VTx)
Какие из перечисленных файловых систем предоставляют доступ к реальным, а не сгенерированным данным?
(1) FAT, EXT4
(2) NFS
(3) procfs, debugfs
(4) googlefs
Из каких шагов состоит операция lookup?
(1) поиск dentry в hash-таблице dentry по полному пути
(2) запрос у файловой системы объекта dentry по полному пути
(3) поиск dentry в hash-таблице dentry для элемента пути
(4) запрос у файловой системы объекта dentry по элементу пути
Какие действия исполняются системным вызовом sys_mount()?
(1) превращение пути к точке монтирования в dentry
(2) полное считывание данных монтируемого устройства
(3) поиск объекта file_system_type и вызов метода mount() (или get_sb())
(4) установление связи между путём к точке монтирования и корнем файловой системы
(5) через вызов метода VFS построение полного дерева монтируемой файловой системы
Какие виртуальные сетевые устройства существуют?
(1) NIC
(2) lo
(3) veth
(4) bonding
В каком контексте происходит обработка прерывания от сетевой карты?
(1) контексте пользовательской задачи
(2) контексте аппаратного прерывания
(3) контексте программного прерывания (Soft IRQ)
(4) как в контексте аппаратного прерывания, так и в контексте пользовательской задачи
В случае задержек в обработке прерывания от сетевой карты и большого количества входящих пакетов:
(1) возможны задержки в приёмке остальных данных из сети
(2) ничего страшного, все данные могут быть буферизованы
(3) возможны потери сетевых пакетов
(4) данные автоматически будут пере запрошены для любого протокола
Какие указатели на данные пакета содержит sk_buff
(1) голова (head)
(2) конец (end)
(3) хвост (tail)
(4) данные (data)
(5) заголовки (headers)
откуда получает протокол IP входящий пакет
(1) от MAC уровня
(2) от драйвера сетевой карты
(3) от подсистемы сокетов
(4) от протокола транспортного уровня
За что отвечает функция schedule()?
(1) диспетчиризует доступ приложений к файловой системе
(2) следит за расписанием старта приложений
(3) переключает контекст выполнения процессора с одной задачи на другую
(4) переключает из состояния выполнения в состояние ожидания процессорного времени
Какие режимы работы есть у кэшей ядра Linux?
(1) write back
(2) write through - оптимизирует только чтение
(3) кэш не работает
(4) write page
Каковы минимальные требования к аппаратуре для того что бы ядро linux могло на ней выполняться?
(1) поддержка страничной адресации памяти
(2) генерация прерываний при сбоях ввода-вывода
(3) генерация прерываний в предсказуемой манере (таймер)
(4) поддержка DMA и SMP
Как соотносится VFS и дисковые файловые системы?
(1) дисковая файловая система задаёт набор правил, по которым должна быть имплементирована VFS
(2) дисковая файловая система частично подчиняется правилам работы, заданными VFS
(3) дисковая файловая система - это система, работающая с реальными данными на диске и не имеет никакого отношения к виртуальной файловой системе (VFS)
(4) VFS задаёт набор объектов, функций и правил работы с ними, которые должны быть поддержаны при написании любой файловой системы в linux (включая дисковые файловые системы)
Кем и когда создаётся новый dentry в кэше detnry?
(1) все dentry создаются VFS при монтировании файловой системы
(2) для всех файловых систем все dentry создаются драйвером файловой системы при монтировании файловой системы
(3) dentry создаёт VFS когда не удаётся найти в hash-таблице detnry
(4) dentry создаёт драйвер файловой системы, когда не удаётся найти в hash-таблице detnry по имени пути
Что описывает объект vfsmount?
(1) связь между точкой монтирования и корнем файловой системы
(2) корневой каталог файловой системы, к которой монтируется новая файловая система
(3) корневой каталог монтируемой файловой системы
(4) связь между объектом файловой системы и его синонимом
Виртуальной сетевой устройство bonding служит для:
(1) объединения 2х loopback интерфейсов в один
(2) объединения 2х и более физических сетевых карт
(3) как возможность организации 2х и более сетевых интерфейсов на одной сетевой карте
(4) эмуляции сетевого интерфейса через последовательный порт
Что делает драйвер сетевой карты при обработке прерывания?
(1) инициализирует данными входящего пакета с структуру sk_buff
(2) перекладывает входящий пакет в специальную очередь
(3) вызывает программное прерывание (NET_RX_SOFTIRQ) для передачи управления последующему обработчику сетевых пакетов
(4) выполняет вызов обработчика пакета подсистемой сокетов
Что происходит в сетевой подсистеме с sk_buff для исходящего трафика?
(1) создаётся sk_buf, инициализируются указатели, для пустого sk_buff
(2) вызывается метод skb_reserve() для сдвига data и tail в сторону конца буфера
(3) каждый протокол выполняет операцию skb_push двигает указатель data в сторону начала буфера
(4) каждый протокол выполняет операцию skb_put двигает указатель end в сторону начала буфера
(5) вызывается метод skb_put() - двигает хвост в сторону конца буфера
за что отвечает Net Filter
(1) за преобразование сетевых адресов
(2) за отсылку уведомлений ICMP при невозможности найти получателя пакета
(3) за фильтрацию сетевого трафика согласно заданным наборам правил
(4) за преобразование МАС адресов в IP адреса
Как работает процедура переключения контекста с процесса current на процесс next?
(1) дождаться перехода приложения в режим ожидания какого либо события
(2) сохранить регистры на стеке процесса current
(3) перезаписать регистры значениями из стека next
(4) продолжить исполнение процесса current
(5) продолжить исполнение процесса next
В каком режиме работает Page cache в Linux?
(1) по умолчанию write through, если надо для некоторых файловых систем может быть переключён в write back
(2) по умолчанию write back, для некоторых файловых систем переключается в write through
(3) по умолчанию кэш не работает, если надо то может быть включен как write through, так и write back
(4) режим использования Page cache зависит от настроек сборки ядра
Что такое POSIX?
(1) это свод правил, по которым пользовательские программы могут взаимодействовать с операционной системой Linux
(2) это свод правил, по которым программы могут взаимодействовать с абстрактной операционной системой
(3) это стандарт управления процессами в абстрактной операционной системе
(4) это стандартный программный интерфейс для работы с файловыми системами в ОС Linux
Что описывает структура file_system_type?
(1) тип файловой системы
(2) конкретный экземпляр файловой системы
(3) корень дерева файловой системы
(4) hash – таблицу файлов
Каким образом для файловых систем решается проблема актуальности кэша dentry?
(1) VFS вызывает метод revalidate() после нахождения в кэше dentry искомой записи
(2) VFS вызывает метод revalidate() после того как файловая система возвращает искомую запись dentry
(3) сетевые файловые системы обеспечивают сами актуальность кэша dentry
(4) все объекты кэша dentry заносятся в список "less recently used" объектов и объекты из этого списка регулярно удаляются
Как выглядит lookup если в искомом пути задействовано несколько файловых систем?
(1) если процедура lookup встречает dentry c флагом D_MOUNTPOINT, используются методы объекта superblock смонтированной файловой системы для поиска следующего dentry
(2) как только процедура lookup встречает dentry c флагом D_MOUNTPOINT, VFS ищет структуру vfsmount у которой указатель на точку монтирования совпадает с этой dentry
(3) если процедура lookup встречает dentry c флагом D_MOUNTPOINT, текущий dentry меняется на корневой dentry соответствующего объекта vfsmount
(4) если процедура lookup встречает объект vfsmount c флагом D_MOUNTPOINT, используются методы объекта superblock смонтированной файловой системы для поиска следующего dentry
Каким образом приложение взаимодействует со стеком сетевых протоколов для посылки/получения данных по сети?
(1) через подсистему сокетов
(2) монтируя специальную сетевую файловую систему
(3) через системные вызовы, обращающиеся непосредственно к драйверам сетевых протоколов
(4) через системные вызовы, обращающиеся непосредственно к struct net devices
Есть ли какие недостатки у способа по-пакетной обработки входящего трафика
(1) нет никаких недостатков, это оптимальный вариант обработки сетевого трафика
(2) при большом количестве пакетов частое генерирование прерываний может привести к проблемам производительности
(3) при большом размере пакетов частый вызов NET_RX_SOFTIRQ может привести к проблемам производительности
(4) при редком приходе пакетов возможны потери сетевых пакетов
Что случается с структурами данных sk_buff и памятью на входящем трафике?
(1) сетевой пакет копируется в память
(2) создаётся структура sk_buff
(3) объект sk_buff передаётся стеку протоколов, где каждый протокол "откусывает" свой заголовок вызовом skb_pull, a перед этим вызывает проверку такой возможности, используя метод skb_may_pull
(4) при необходимости вызывается функция skb_copy_bits() для копирования данных из "paged" части
(5) каждый протокол копирует свои данные в свои очереди
Какие варианты действий с входным пакетом возможны при маршрутизации?
(1) уничтожение пакета со отправкой нотификации отправителю пакета
(2) уничтожение пакета без отправки каких-либо нотификаций
(3) передача пакета одному из протоколов транспортного уровня
(4) переправка пакета другому сетевому устройству
(5) отправка пакета назад - отправителю пакета
На основании каких параметров планировщик выбирает следующую задачу для выполнения?
(1) количество ранее выделенного задаче времени
(2) наличие примитивов синхронизации, находящихся в состоянии ожидания
(3) количество открытых файлов и сокетов
(4) приоритет процесса
Что происходит при чтении данных из файловой системы с использованием Page Cache?
(1) находится inode
(2) переходится нужную страничку кэша
(3) если страничка есть и флаг uptodate выставлен - считываются данные из странички
(4) если страничка есть, но флаг uptodate не выставлен, возвращается ошибка чтения
(5) если странички нет, выделяется страничку и запрашивается слой block layer на считывание в страничку данных
(6) когда страничка считана, объект block layer устанавливает флаг uptodate и нотифицирует того кто запросил эту страничку
Какое утверждения про функции стандартной библиотеки С (libc) верно?
(1) все функции соответствуют стандарту POSIX
(2) все функции содержат внутри системные вызовы, или ими являются
(3) некоторые функции внутри используют системные вызовы
(4) все функции выполняются в kernel space
Какие из перечисленных ниже полей входят в структуру super_block?
(1) name (имя файловой системы)
(2) флаги
(3) счётчик ссылок
(4) структура с указателями на функции для работы с супер-блоком
(5) ссылка на объект - корень файловой системы
Какие объекты файловой системы должны создаваться в ядре при загрузке драйвера файловой системы?
(1) структура file_system_type
(2) структура superblock и корневой dentry файловой системы
(3) массив структур dentry
(4) коллекция структур inode
Что выполняет команда mount c ключом --bind?
(1) переназначает точку монтирования для файловой системы
(2) создаёт синоним каталога в дереве файловой системы
(3) связывает один и тот же каталог с двумя файловыми системами
(4) создаёт дубликат объекта superbloc файловой системы
Как соотносится семиуровневая модель OSI и сокеты?
(1) сокеты отвечают за работу транспортного уровня
(2) сокеты обеспечивают интерфейс между сессионным и транспортным уровнем
(3) сокеты отвечают за работу уровня приложения
(4) сокеты обеспечивают интерфейс между сетевым и транспортным уровнем
Каким образом вызываются обработчики протоколов для стека протоколов
(1) обработчик программного прерывания NET_RX_SOFTIRQ последовательно вызывает обработчик для каждого последующего протокола стека
(2) обработчики протоколов стека вызывают друг друга последовательно. Обработчик протокола первого уровня вызывается из обработчик программного прерывания NET_RX_SOFTIRQ
(3) обработчик каждого уровня протокола имеет свою очередь пакетов, а управление каждому обработчику передаётся через программное прерывание
(4) обработчик каждого уровня протокола имеет свою очередь пакетов, а обработка инициируется вызовом от системы сокетов
Для чего используется функция сетевой подсистемой skb_copy_bits?
(1) для копирования части заголовка, оказавшейся в paged области памяти в линейную
(2) для копирования данных из области памяти приложения в область памяти ядра
(3) для клонирования структур sk_buf
(4) для дублирования данных сетевого пакета
откуда получает протокол IP исходящий пакет
(1) от MAC уровня
(2) от драйвера сетевой карты
(3) от подсистемы сокетов
(4) от протокола транспортного уровня
Какие основные трудности решались при разработке планировщиков ядра Linux?
(1) учёт реального времени исполнения процессов
(2) недостаточная производительность процессоров
(3) работа интерактивных приложений
(4) работа на мультипроцессорных системах
(5) работа на системах с дисковыми массивами
Что происходит при записи в файл в режиме write back
(1) Создаём или находим страничку
(2) в страничку кладут данные
(3) страничка помечается флагом Dirty
(4) системный вызов записи завершается
(5) данные тут же записываются на диск
Какие достоинства монолитного ядра?
(1) простота разработки и поддержки
(2) производительность ядра
(3) простота добавления поддержки новых видов устройств
(4) обеспечивает большую безопасность исполнения
Что описывает struct inode?
(1) тип файловой системы
(2) структурный элемент дерева директорий
(3) файл с данными
(4) способ монтирования файловой системы
Каким образом в ядре решается проблема разрастания дерева каталогов в памяти?
(1) такой проблемы не существует, дерево каталогов в памяти не может вырасти больше фиксированного значения
(2) ведётся список ссылок на объекты detnry, отсортированный по времени использования и регулярно из него (и из кэша dentry, соответственно) удаляются наиболее ранние элементы
(3) кэш dentry записей очищается каждую минуту
(4) использование метода revalidate() после каждого использования поиска в кеше dentry решает эту проблему
Счётчики ссылок на какие объекты повышает операция монтирования файловой системы?
(1) родительский vfsmount
(2) корневая dentry монтируемой файловой системы
(3) inode, относящийся к корневой dentry монтируемой файловой системы
(4) dentry точки монтирования
(5) superblock монтируемой файловой системы
Каковы особенности инициализации файловой системы sockfs?
(1) объект superblock создаётся на этапе загрузки ядра
(2) количество объектов superblock равно количеству сетевых интерфейсов
(3) объект vfsmount файловой системы sockfs отсоединен от дерева объектов vfsmount
(4) монтирование файловой системы sockfs запрещено
Каким образом подсистема сокетов получает данные от стека сетевых протоколов
(1) данные записываются в буфер данных соответствующего сокета
(2) данные записываются в очередь данных последнего протокола стека и посылается программное прерывание для соответствующих сокетов
(3) данные посылаются в подсистему сокетов через PIPE
(4) данные добавляются в очередь пакетов на сокете
Что делает с указателями структуры sk_buf метод skb_pull?
(1) сдвигает tail влево
(2) сдвигает указатели data и tail от начала буфера вправо на одно и то же смещение
(3) сдвигает data вправо
(4) по результатам выделения памяти под сетевой пакет задаёт значения head и end
Что олицетворяет destination entry?
(1) приложение, отправившее сетевой пакет
(2) недавнее правило маршрутизации, использованное при маршрутизации сетевого пакета
(3) следующий пункт назначения сетевого пакета
(4) правило фильтрации, использованное для сетевого пакета
В чём особенность интерактивного процесса с точки зрения планировщика?
(1) это процесс, которому надо быстро начать обработку полученного события
(2) это процесс, быстрая передач управлению которому не критична, он может подождать
(3) это процесс, которому может потребоваться большое количество процессорного времени
(4) это процесс, который может быстро выполнить работу и не требует далее всего выделенного кванта времени
В каких случаях для страницы кэша выставляется флаг uptodate?
(1) сразу после создания пустой страницы
(2) когда на страница содержит те же данные, что есть на носителе
(3) когда страница содержит более свежие данные чем на носители
(4) когда происходит процесс записи данных с страницы на носитель
(5) когда происходит процесс чтения данных с носителя на страницу
Какие основные подсистемы включает в себя ядро?
(1) подсистема работы с файлами
(2) подсистема управления памятью
(3) подсистема управления процессами
(4) VTx
(5) IPC
Каким образом в ядре организована коллекция структур inode?
(1) в виде массива, доступ к элементам которого осуществляется по индексу
(2) в виде коллекции массивов inode, где каждой файловой системе соответствует свой массив inode
(3) в виде hash-таблицы inode
(4) в виде дерева, где каждый суперблок образует своё под-дерево, отражающее структуру файловой системы
За счёт чего увеличиваются счётчики ссылок на dentry?
(1) дочерние элементы дерева директорий увеличивают счётчик ссылок у родительских элементов дерева
(2) родительские элементы дерева директорий увеличивают счётчик ссылок у дочерних элементов дерева
(3) системные вызовы chdir и chroot увеличивают счётчик ссылок на объекты dentry
(4) системные вызовы lseek и pread увеличивают счётчик ссылок на объекты dentry
(5) открытые файлы увеличивают счётчик ссылок на объекты dentry
Какая последовательность операций выполняется при операции размонтирования файловой системы?
(1) объект vfsmount отвязывается от родительской записи в дереве vfsmount
(2) из hash таблицы vfsmount удаляется запись, относящаяся к размонтируемой vfsmount
(3) в структуре vfsmount удаляется ссылка на точку монтирования
(4) в структуре vfsmount удаляется ссылка на superblock
(5) из памяти удаляется структура vfsmount, относящаяся к размонтируемой файловой системе
(6) из памяти удаляется superblock, относящаяся к размонтируемой файловой системе
(7) уменьшается количество ссылок на объект vfsmount
Где хранятся параметры, данные и состояния сокета?
(1) в объекте класса sock унаследованного от базового класса inode
(2) в объекте класса socket унаследованного от базового класса inode
(3) распределены между двумя объектами классов sock и socket
(4) в объекте struct file
К методам каких объектов идёт обращение из системного вызова при посылке приложением данных в сеть?
(1) к методам объекта superblock
(2) прямое обращение к методам драйвера верхнего сетевого протокола
(3) прямое обращение к методам объекта socket
(4) прямое обращение к методам объекта Sock
Каковы направления оптимизации структуры sk_buf?
(1) уменьшается размер структуры
(2) оптимизируется выделение памяти с минимальной фрагментацией и клонирование объектов
(3) оптимизируется проверки целостности сетевых пакетов
(4) учитывается разрядности системы и кэш линии при размещении полей на структуре
Какие варианты оптимизации работы протокола IP реализованы или были реализованы ядре
(1) destination entry сохраняется на сокете
(2) loopback устройство обрабатывает IP пакеты особым образом
(3) кеширование destination entry без блокировок
(4) кеширование данных структуры sock
(5) для пакетов, идущих через loopback маршрутизация выполняется один раз
Какие проблемы возникают при разработке планировщика для многопроцессорной системы?
(1) соотношение количеств процессов и процессоров может не позволять точно выдержать соответствие средневзвешенного времени процессов приоритетам без потери производительности
(2) при подсчёте времени исполнения задач, исполняющихся на разных процессорах
(3) для поддержки равного средневзвешенного времени процессов может требоваться часто переключать исполняемые процессы
(4) необходимость вести учёт времени заполнения кэшей процессоров при переключении контекстов исполнения
Когда ядро пишет кэш на носитель?
(1) когда в системе кончается память
(2) размонтирование файловой системы
(3) принудительный сброс на диск системными вызовами fsync() или sync()
(4) монтирование новой файловой системы
(5) специальный демон регулярно сбрасывает данные на носители с заданным в настройках интервалом времени
(6) при превышении занятой dirty страничками памяти заданного значения
Как организованы в памяти ядра основные объекты файловой системы?
(1) дерево объектов inode и hash-таблица объектов dentry, каждый из которых ссылается на объект inode плюс ко всему кэш объектов dentry
(2) hash-таблица объектов inode и дерево объектов dentry, каждый из которых ссылается на inode и содержит имя файла для dentry плюс ко всему кэш объектов dentry
(3) hash-таблица объектов inode и dentry, каждый из которых ссылается на inode и содержит имя файла для dentry плюс ко всему кэш объектов dentry
(4) дерево объектов inode и дерево объектов dentry, где каждый dentry содержит ссылку на свой inode
При каких вызовах увеличивается количестово ссылок на объекты dentry?
(1) clone c флагом CLONE_FILES
(2) open()
(3) dup()
(4) fork()
Каким образом и какой экземпляр объекта superblock получает VFS при повторном монтировании файловой системы?
(1) при каждом монтировании файловая система создаёт новый экземпляр структуры superblock
(2) при каждом монтировании VFS проверяет совпадение монтируемой файловой системы с ранее смонтированными и может выдать уже используемый экземпляр объекта superblock
(3) при каждом монтировании VFS вызывает метод файловой системы, который по заданному ключу возвращает новый или уже используемый объект superblock
(4) VFS запрещает повторное монтирование файловой системы
Какие уровни модели OSI описывает объект структура Sock?
(1) транспортный
(2) сетевой
(3) сессионый
(4) физический
Что происходит при посылке исходящих данных в сеть?
(1) Обращение к методу (операции) объекта socket выполняющего отправку данных
(2) выделение памяти под посылаемый(ые) сетевой пакет в ядре
(3) каждый протокол добавляет свой заголовок
(4) драйвер самого нижнего протокола перекладывает данные в буфер памяти сетевой карты
(5) вызывается метод отправки данных в сеть объекта net device
Что содержится в поле "управляющий блок" (cb) структуры sk_buff?
(1) некоторые протоколы хранят там настройки соединения
(2) указатели на данные и заголовок каждого протокола
(3) некоторые протоколы хранят там свои данные
(4) указатели на структуру sock
Обработку каких операций предусматривает подсистема fib?
(1) изменение правил трансформации адресов NAT
(2) запрос на маршрутизацию сетевого пакета
(3) закрытие сокета программой
Какие операции выполнял первый (старый) планировщик?
(1) выделял кванты времени процессам пропорционально приоритетам
(2) выделял одинаковые кванты времени всем процессам
(3) выбирал для исполнения процесс с наибольшим оставшимся квантом времени из линейного списка
(4) по прерыванию таймера отрезает от выделенного исполняемому процессу кванта времени кусочек, и если осталось мало, переключает контекст исполнения процесса с текущего на следующий
(5) выбирает для исполнения в первую очередь процесс, который получил событие, требующее обработки
Каким образом ядро учитывают запись данных в страницу памяти, отображённой на диск?
(1) для таких страниц устанавливает read-only флаг и при обработке возникающие при попытке записи прерываний ведёт учёт таких страниц
(2) ядро ведёт список таких страниц и регулярно обходит их
(3) при записи данных в память ядро проверяет, не отображается ли страница памяти на диск
(4) такой учёт не ведётся
Какие операции могут выполняться при вызове unlink?
(1) нахождение dentry операцией lookup()
(2) отцепление inode от dentry
(3) уменьшение количества ссылок на структуру files
(4) уменьшение количества жёских ссылок в структуре inode
Какие операции выполняются при выполнении системного вызова link()?
(1) поиск объектов dentry, соответсвующим заданным в параметрах путям
(2) проверка возможности создания жёсткой ссылки для найденых пар dentry и vfsmount
(3) увеличение количества ссылок на объект superblock
(4) создание объкта inode
Какие данные доступны сетевому стеку при посылке данных по сети наружу?
(1) IP адрес получателя данных
(2) какие протоколы уровня приложения и транспортного уровня используются
(3) имена сетевых интерфейсов на стороне получателя данных
(4) МАС адрес получателя данных
Каким образом драйвер протокола TCP выполняет клонирование исходящих пакетов?
(1) сохраняется адрес структуры sk_buff
(2) копируются данные структуры sk_buff, сам буффер данных не размножается
(3) копируются данные структуры sk_buff, буффер данных так же копируется
(4) копируется буфер данных, sk_buff не размножается
Для чего служит idle процесс?
(1) для принудительного вытеснения выполняющегося процесса
(2) для организации простоя процессора
(3) для исполнения процессов, которые не должны исполняться пока есть процессы с приоритетами
(4) для точного учёта использованного процессами времени
Как решается проблема гонок при записи данных на носитель с страницы, отображённой на диск?
(1) создаётся копия страницы и с неё идёт запись на носитель
(2) эта проблема пока не решена и данные с таких страниц сохраняют только при закрытии приложения
(3) для страницы выставляется флаг write back, который не даёт записывать не неё пока не завершится процесс записи на носитель
(4) после записи происходит проверка флага dirty, и если флаг выставлен, то происходит сохранение страницы на носитель снова
В каких объектах ядра создаются очереди сетевых пакетов?
(1) очередь исходящих пакетов в net device
(2) очередь входящих пакетов в net device
(3) очередь входящих пакетов в сокетах
(4) очередь исходящих пакетов в сокетах
(5) очередь исходящих пакетов на транспортном уровне (протокол TCP)
(6) очередь входящих пакетов на транспортном уровне (протокол TCP)
Когда файл открывается без кэша?
(1) при задании соответствующих ключей при запуске приложения, открывающего файл
(2) при задании соответствующих флагов при открытии файла
(3) такое открытие не возможно
(4) при нехватке оперативной памяти
Каким образом организована файловая система с точки зрения пользователя?
(1) в виде стека блоков данных
(2) в виде линейного списка файлов
(3) в виде дерева, состоящего из директорий, поддиректорий и находящихся в них файлов
(4) в виде линейного списка блоков данных
Что делает операция readdir?
(1) берёт inode, являющийся директорией и считывает атрибуты и содержимое файлов, находящихся в директории
(2) превращает путь к файлу в объект dentry
(3) берёт inode, являющийся директорией и получает список имен файлов директории
(4) для заданной директорной записи формирует список всех файлов, находящихся в соответствующей директории и в вложенных директориях
Какие параметры задаются при монтировании файловой системы?
(1) тип файловой системы
(2) файл драйвера файловой системы
(3) устройство, данные которого должны стать доступны
(4) путь к точке монтирования
Из чего состоит сетевой стек ядра linux?
(1) драйверы сетевых карт
(2) драйверы протоколов http и smtp
(3) драйвер подсистемы procfs
(4) стек протоколов TCP/IP
(5) подсистема сокетов
Что сетевой адаптер делает при получении сетевого пакета?
(1) проверяет МАС адрес
(2) складывает пакет в кольцевой буфер
(3) копирует данные пакета в структуру sk_buff
(4) генерирует прерывание (иногда)
Как соотносятся приходящий пакет и структура sk_buf?
(1) структура sk_buf содержит данные сетевого пакета
(2) структура sk_buf содержит часть данных сетевого пакета, под остальное выделяется буфер памяти
(3) структура sk_buf содержит MAC и IP заголовки пакета и указатели на данные сетевого пакета
(4) структура sk_buf описывает данные сетевого пакета, находящегося в отдельной от него области памяти
За что отвечает протокол сетевого уровня IP?
(1) обмен пакетами данных между сетевыми устройствами в рамках своего сегмента сети
(2) маршрутизация сетевых пакетов между системами в рамках глобальной сети
(3) обмен сетевых пакетов между приложениями
(4) определение сетевого адреса в рамках глобальной сети
Что означает "эмуляция многозадачности" современными операционными системами?
(1) только мультипроцессорные системы могут реализовать многозадачность, невозможно сделать даже видимость одновременной работы множества задач на одном процессоре
(2) количество процессоров, за редким исключением, всегда меньше чем выполняющихся задач, и поэтому одновременно выполняются не все задачи, но внешне всё выглядит как будто все задачи выполняются одновременно
(3) количество процессоров, за редким исключением, всегда меньше чем выполняющихся задач, и поэтому возможность организовать видимость многозадачности зависит от того как написан код каждой задачи
(4) дисковые операции и операции с сетью могут выполняться только последовательно, а не одновременно
Какие кэши есть в ядре Linux?
(1) кэш данных файловой системы
(2) процессорные кэши
(3) кэш пользовательских данных
(4) кэш сетевых пакетов
Какие основные ресурсы контролирует ядро операционной системы?
(1) процессор
(2) память
(3) периферийные устройства
(4) средства меж-процессного взаимодействия
Дисковая файловая система предоставляет доступ к:
(1) к данным лежащим на локальном диске
(2) к данным, находящимся в сетевом файловом хранилище
(3) к произвольным данным, генерируемым модулями ядра
(4) к данным, находящимся в облаке
По каким ключам выполняется поиск в dentry hash?
(1) superblock + name + parent dentry
(2) superblock + name
(3) name + parent dentry
(4) root dentry + parent dentry + name
Как и кем используется идентификатор монтируемого устройства при монтировании файловой системы?
(1) VFS разбирает его и при необходимости вызывает тот или другой метод файловой системы
(2) VFS не разбирая передаёт его как аргумент в метод объекта superblock
(3) VFS сохраняет его как часть пути в кеше dentry
(4) VFS не разбирая передаёт его как аргумент в метод mount() (или get_sb()) структуры file_system_type
Что такое loopback (lo) интерфейс?
(1) это объединение двух физических сетевых карт в одно виртуальное устройство
(2) это одна из нескольких виртуальных сетевых карт, созданных на единственном сетевом устройстве
(3) это виртуальное устройство, откуда записываемые пакеты данных попадают через него же обратно в стек
(4) это возможность получать сетевые данные через последовательный порт
Во время обработки сетевого пакета в драйвере сетевой карты:
(1) разрешены только аппаратные прерывания от этой же сетевой карты
(2) разрешены любые аппаратные прерывания
(3) разрешены любые аппаратные и программные прерывания (Soft IRQ)
(4) запрещены любые аппаратные и программные прерывания (Soft IRQ)
Какие ограничения и трудности имеет линейный sk_buff?
(1) трудности возникают при работе с сетевыми пакетами размером большим размера страницы памяти
(2) трудности возникают при работе с большим количеством сетевых пакетов
(3) трудности возникают при больших задержках сетевых пакетов
(4) при обработке трафика трудностей и ограничений не возникает
Какие операции выполняются с входящим пакетом при обработке протоколом IP?
(1) проверки версии, длины пакета
(2) фильтрация пакетов по правилам Netfilter
(3) проверка наличия открытого порта для пакета
(4) маршрутизация пакетов
(5) нахождение приложения-получателя пакета
Какие шаги выполняются при вызове функции schedule()?
(1) приложение переключается в режим ожидания процессорного времени
(2) берётся объект current исполняющегося сейчас процесса
(3) выбирается следующий процесс next
(4) выполняется процедура переключения контекста с current на next
Какие утверждения верны насчёт режима кэша write back?
(1) данные сначала пишутся в кэш, а на носитель сбрасываются позднее
(2) данные одновременно пишутся в кэш и на носитель
(3) данный режим оптимизирует чтение и запись
(4) данный режим оптимизирует только чтение данных
(5) данный режим оптимизирует только запись данных
Каким образом операционная система Linux контролирует распределение процессорного времени между процессами?
(1) функции стандартной библиотеки С регулярно опрашивают таймер и приостанавливают одни процессы, передавая управление другим процессам
(2) ядро получает прерывания (обычно таймер) и передаёт управление от одного приложения другому
(3) планировщик задач, работающий в user space контролирует процессорное время, используемое приложениями и приостанавливает или возобновляет выполнение процессов
(4) через виртуальную файловую систему procfs
Что предоставляется ядром Linux в качестве интерфейса к файловой системе?
(1) объектная модель с использованием с++, содержащая классы, описывающие объекты файловой системы и правила работы с этими объектами
(2) набор системных вызовов, оперирующий базовыми типами языка Си
(3) набор структур, описывающих объекты файловой системы, функции для работы с ними и правила работы с объектами файловой системы
(4) единственный способ получения доступа к файловой системе в Linux - это использование прерываний
Что происходит с созданной в процессе поиска dentry в памяти, если на файловой системе не находится искомого файла?
(1) dentry остаётся в таблице с пустой ссылкой на inode
(2) dentry удаляется из hash-таблицы
(3) dentry остаётся в таблице, ссылка на inode заполняется адресом созданной пустой inode
(4) dentry остаётся в таблице и используется
Какие поля держит объект vfsmount?
(1) ссылка на dentry, к которой монтируем устройство
(2) флаг D_MOUNTPOINT
(3) ссылка на корень монтируемой файловой системы
(4) ссылка на superblock устройства, которое смонтировано
(5) ссылка на superblock устройства, которому принадлежит точка монтирования
(6) ссылка на родительский vfsmount
Для чего используется виртуальное сетевое устройства bonding?
(1) для балансировки сетевой нагрузки
(2) для организации сетевого взаимодействия между виртуальными машинами
(3) для увеличения пропускной способности локального стека
(4) для организации систем высокой доступности (high ability)
(5) для организации взаимодействия через сеть процессов, запущенных на одном и том же компьютере
Где находится специальная очередь пакетов для обработки стеком протоколов?
(1) в драйвере сетевой карты
(2) в промежуточном слое net devices
(3) в самом драйвере самого нижнего по стеку сетевого протокола
(4) в подсистеме сокетов
Какой модуль сетевой подсистемы создаёт и инициализирует объект sk_buf для исходящего трафика?
(1) подсистема сокетов
(2) сетевой протокол верхнего уровня
(3) net device
(4) драйвер сетевого устройства
Когда применяются правила Net Filter?
(1) на МАС уровне
(2) сразу после того как протокол IP установит что данных в пакете достаточно для фильтрации
(3) только до начала маршрутизации
(4) во время маршрутизации, когда будет определено что протокол забирает пакет себе
Когда может быть вызвана функция schedule?
(1) при возникновении аппаратного прерывания по таймеру
(2) при вызове функции set_current_state()
(3) в preemtive kernel
(4) при выполнении кода программного прерывания
Как связаны объекты VFS и кэш?
(1) ни как не связаны, кэш хранится отдельно
(2) inode имеет ссылку на структуру с страничками кэша для данной inode
(3) dentry содержит в себе ссылку на дерево с страницами кэша
(4) объект кэша ссылается на кэшируюмую inode
Как соотносятся системные вызовы Linux c POSIX?
(1) POSIX – это другое название для системных вызовов Linux
(2) набор системных вызовов Linux соответствует большой части стандарта POSIX
(3) набор системных вызовов Linux является эталонной имплементацией стандарта POSIX
(4) набор системных вызовов Linux почти полностью не соответствует стандарту POSIX
Что возвращает метод mount() (или get_sb()) из структуры file_system_type?
(1) name (имя файловой системы)
(2) структуру super_block или отцепленную точку монтирования
(3) счётчик ссылок
(4) корень файловой системы
Для чего служит метод revalidate()?
(1) для проверки актуальности закэшированных записей dentry
(2) для очистки кэша записей dentry раз в минуту
(3) для проверки наличия реальных inode
(4) для очистки кэша dentry от устаревших записей
Как ищется нужный объект vfsmount?
(1) ищется перебором в дереве vfsmount
(2) ищется в списке наиболее используемых объектов vfsmount
(3) ищется в хеш таблице vfsmount по ключу
(4) используется метод объекта superblock для поиска средствами файловой системы
Сокет для приложения выглядит:
(1) - как объект ядра, работа с которым должна вестись только через собственный API
(2) как объект ядра, работа с которым должна вестись через обычные вызовы ioctl()
(3) как файл, открываемый специальными функциями, но данные которого могут читаться и писаться обычными вызовами read() и write() или специальный API
(4) как файл, открываемый обычным вызовом open(), но данные из которого доступны только через специальный API
В чём особенности работы драйвера сетевой карты при использовании NAPI?
(1) драйвер сетевой карты создаёт резерв объектов sk_buff для программного прерывания
(2) драйвер сетевой карты маскирует аппаратные прерывания от сетевой карты
(3) драйвер сетевой карты вызывает программное прерывание NET_RX_SOFTIRQ с пометкой что используется подход NAPI
(4) драйвер сетевой карты разрешает прерывания от сетевой карты после старта программного прерывания NET_RX_SOFTIRQ
Какой модуль создаёт и инициализирует структуру sk_buff при обработке входящего трафика?
(1) протокол TCP
(2) протокол IP
(3) VFS
(4) net device
(5) драйвер сетевого устройства
В каких случаях входящий пакет может быть уничтожен?
(1) при форвардинге пакета TTL упало до 0
(2) когда неизвестно как доставить пакет получателю
(3) когда приложение - получатель сетевого пакета закрыто
(4) когда невозможно установить правила фильтации пакета подсистемой Netfilter
Чем отличается планировщик real-time системы от обычного планировщика ядра linux?
(1) real-time системах учитывается минимально необходимый процессу отклик на событие
(2) планировщик real-time системы работают по аппаратным прерываниям, а обычный планировщик по программным
(3) планировщик real-time системы выделяет только кванты времени постоянного размера, а обычный планировщик - переменного
(4) в real-time системе приложения получают квант времени в строгой очерёдности
Что происходит при чтении данных из файловой системы если страничка кэша присутствует, но флаг uptodate не выставлен?
(1) страничка кэша пересоздаётся и запрашивается её заполнение
(2) ожидается заполнение странички данными
(3) страничка сбрасывается на носитель
(4) запрос на чтение завершается неудачей
Каким образом происходит передача управления коду ядра при системном вызове?
(1) системным вызов выполняется обычной инструкцией процессора &call&
(2) системный вызов выполняется обычной инструкцией процессора &jamp&
(3) при системном вызове происходит передача управления модулям ядра через прерывание или выполнением специализированной инструкции процессора
(4) используются механизмы DMA
Счётчик ссылок в структуре super_block:
(1) содержит значения флагов ro и rw
(2) это количество ссылок на структуру super_block
(3) это количество ссылок на модуль драйвера файловой системы
(4) это количество ссылок на смонтированную файловую систему
Какие объекты файловой системы создаются в ядре при монтировании файловой системы?
(1) структура file_system_type
(2) структура superblock и корневая dentry файловой системы
(3) массив структур dentry
(4) коллекция структур inode
Как организуется синоним каталога, полученный в результате выполнения команды mount c ключём bind?
(1) используется механизм жёстких ссылок
(2) используется механизм символьный ссылок
(3) создаётся объект vfsmount, который ссылается на каталог, синоним которого создаётся и путь, по которому этот каталог будет доступен
(4) к dentry, описывающей каталог, синоним которого создаётся, добавляется ссылка на dentry каталога - синонима
Как соотносятся протоколы стека TCP/IP Linux и семиуровневая модель OSI?
(1) - пара протоколов TCP/IP соответствует сессионному уровню модели OSI
(2) протокол TCP соответствует транспортному уровню модели OSI
(3) протокол IP соответствует сетевому уровню модели OSI
(4) пара протоколов TCP/IP соответствует уровням Data Link и сетевому модели OSI
Каким образом определяется последующий обработчик протокола?
(1) перебираются все обработчики в цикле, и ищется обработчик который успешно может разобрать пакет
(2) обработчик протокола вышестоящего уровня определяет нижестоящий протокол и вызывает соответствующий обработчик
(3) специальный код обработчика программного прерывания NET_RX_SOFTIRQ определяет нижестоящий протокол и вызывает соответствующий обработчик
(4) обработчик протокола вышестоящего уровня перебирает обработчики всех возможных нижестоящих протоколов в цикле, и ищется обработчик который успешно может разобрать пакет
Для чего используется функция skb_may_pull()
(1) проверить, можно ли сдвинуть указатель данных и не находится ли необходимые данные в другой области памяти
(2) достаточно ли в линейном буфере данных для обработки очередного заголовка
(3) проверка достаточного количества места в памяти для данных сетевого пакета
(4) для копирования части заголовка, оказавшейся в paged области памяти в линейную
Какие операции выполняются с исходящим пакетом при обработке протоколом IP?
(1) проверки версии, длины пакета
(2) маршрутизация пакетов
(3) фильтрация пакетов по правилам Netfilter
(4) проверка наличия открытого порта приложения-отправителя пакета
(5) преобразование адресов NAT
(6) передача на MAC уровень
В чём недостаток выделения времени приложениям квантами фиксированного размера?
(1) приложение может использовать 2 и более процессоров, и при этом необходимо учитывать количество процессоров, занятых приложением
(2) размер квантов времени может оказаться слишком большим и приложение может завершится значительно раньше завершения выделенного для него времени
(3) не учитывается то что приложение можеь простаивать в середине выделенного кванта времени
(4) размер квантов времени слишком часто изменяется и точное время трудно будет учесть
В каких случаях происходит считывание данных с носителя на страницу кэша?
(1) на страничке содержатся данные, которые новее чем данные на носителе
(2) выполняется чтение данных, страничка кэша не содержит данных
(3) выполняется запись данных, страничка кэше с данными уже присутствует
(4) выполняется запись данных, страничка кэша отсутствует
Каковы достоинства микро-ядра?
(1) простота разработки и поддержки
(2) производительность ядра
(3) простота добавления поддержки новых видов устройств
(4) обеспечивает большую безопасность исполнения
Какие из перечисленных ниже полей входят в структуру inode?
(1) name (имя файловой системы)
(2) владелец файла
(3) счётчик ссылок
(4) ссылка на объект - корень файловой системы
(5) времена изменения данных и флагов
(6) числовой идентификатор экземпляра inode
Упорядочены ли dentry в списке lru?
(1) список dentry не является упорядоченным
(2) упорядочены по количеству ссылок на dentry
(3) отсортированы по имени директории
(4) упорядочены по времени последнего обращения
Что является результатом операции lookup и сохраняется в структуре file (в виде ссылок)?
(1) объект dentry
(2) пара объектов: dentry и vfsmount
(3) пара объектов: dentry и superblock
(4) объект типа vfsmount
В чём сходство в организации связей между объектами ядра при работе с файлами и при работе с сокетами?
(1) в случае с сокетами struct file так же ссылается на dentry
(2) в случае с сокетами struct file сразу ссылается на inode
(3) в случае с сокетами file ссылается на vfsmount ф.с. sockfs
(4) в случае с сокетами fvs mount так же ссылается на родительский vfsmount
После поступления данных в очередь пакетов подсистемы сокетов происходит:
(1) ожидание вызова считывания сетевых данных из приложения
(2) ожидания пока подсистема сокетов получит программное прерывание и обработает данные из очереди пакетов
(3) нотификация соответствующего сокета
(4) по таймеру очередь пакетов подсистемы сокетов обрабатывается и пакеты распределяются по "своим" сокетам
Что делает функция skb_reserve?
(1) выделяет память под сетевой пакет
(2) сдвигает указатели data и tail от начала буфера вправо на одно и то же смещение
(3) сдвигает только указатель tail от начала буфера вправо
(4) выделяет память под сетевой пакет и сдвигает указатели tail и end от начала буфера вправо
Какое поле destonation entry определяет правило последующей обработки пакета?
(1) ip адрес получателя сетевого пакета
(2) номер порта получателя сетевого пакета
(3) указатель на функцию input
(4) указатель на функцию output
(5) МАС адрес получателя сетевого пакета
В чём была проблема выделения времени интерактивному процессу
(1) обработка полученного события могла быть прервана необходимостью передачи управления другому процессу, что снижало интерактивность
(2) обработка полученного события могла быть отложена до следующего тика, что снижало интерактивность
(3) выделение процессу большого количества времени невозможно без нарушения работы других приложений
(4) потребности интерактивного процесса в процессорном времени слабо предсказуемы
В каких случаях для страницы кэша выставляется флаг Dirty?
(1) сразу после создания пустой страницы
(2) когда на страница содержит те же данные, что есть на носителе
(3) когда страница содержит более свежие данные чем на носителе
(4) когда происходит процесс записи данных с страницы на носитель
(5) когда происходит процесс чтения данных с носителя на страницу
Для чего может используется подсистема Netlink?
(1) получения информации о запущенных процессах из пользовательской программы
(2) для запуска демонов
(3) для изменения параметров сетевых интерфейсов
(4) для организации меж-процессного взаимодействия
Что является ключом поиска в хеш таблице inode, находящейся в ядре?
(1) поле unlink
(2) числовой идентификатор экземпляра inode
(3) объединение идентификатора structure super_block и идентификатора inode
(4) объединение идентификатора типа файловой системы и идентификатора inode
Что входит в контекст открытого файла?
(1) индекс в принадлежащем task_struct, массиве объектов struct files
(2) флаг, указывающий на то в каком режиме: текстовом или бинарном читается файл
(3) позиция в файле
(4) режим доступа: read only / write
Каков будет результат команды umount, если приложение открыло файл на размонтируемой файловой системе?
(1) файловая система будет размонтирована, приложение получит ошибку обращения к файлу
(2) команда umount не сможет размонтировать файловую систему и вернёт ошибку
(3) при использовании команды umount с ключом -l файловая система станет недоступной, только приложения открывшие там файлы смогут продолжать работать с ними. После закрытия всех файлов размонтирование завершится
(4) при использовании команды umount с ключом -l приложения открывшие файлы на размонтируемой файловой системе получат оповещения и вынуждены будут закрыть файлы, после чего размонтирование завершится
Какие из утверждений относительно целей разделения данных между структурами Sock и socket верны?
(1) + разделение данных между структурами Sock и socket позволяет создавать соединение до привязки его к приложению
(2) разделение данных между структурами Sock и socket позволяет держать сокет после завершения приложения
(3) разделение данных между структурами Sock и socket позволяет родительскому приложению передавать сокеты для дочернего приложения
(4) разделение данных между структурами Sock и socket позволяет обрабатывать различные протоколы, не изменяя представление открытого сокета для приложения
Каким способом происходит передача посылаемых в сеть данных от приложения модулям ядра при использовании системных вызовов write() или send()
(1) ядро выделяет память под данные и копирует туда данные приложения
(2) ядро получает указатель на буфер с данными от приложения и далее работает с этим буфером
(3) приложение запрашивает у ядра указатель на буфер в памяти ядра и переписывает туда данные
(4) приложение выделяет в адресном пространстве ядра буфер памяти и сразу пишет пересылаемые данные в этот буфер
Каким образом sk_buf используется при обработке на стеке TCP/IP?
(1) нет никакой специфики
(2) вводятся дополнительные указатели на заголовки протоколов TCP/IP
(3) вводится поле "cb" для хранения состояний протоколов
(4) используется специальный кеш для "двойных" структур для оптимизации клонирования
(5) оптимизируется освобождение памяти для избежание излишней фрагментации
(6) целое число объектов sk_buf должны полностью заполнять страницу памяти
Когда на dst инициализируется функция input
(1) при маршрутизации входящего внешнего сетевого пакета
(2) при маршрутизации исходящего сетевого пакета в loopback интерфейс
(3) после маршрутизации любого исходящего сетевого пакета
(4) после маршрутизации входящего сетевого пакета
К чему ведёт постоянное перемещение процесса между процессорами?
(1) процесс будет работать быстрее из-за частой очистки процессорного кэша
(2) падает точность определения средневзвешенного использованного процессорного времени из-за не учёта времени на очистку процессорных кэшей
(3) процесс будет работать медленнее из-за очистки-заполнения процессорных кэшей
(4) процесс лучше будет поддерживать интерактивность из-за регулярной очистки процессорных кэшей
Где высвобождаются странички памяти, когда в системе кончается память
(1) странички кэша не помеченные флагом dirty просто удаляются и память освобождается
(2) странички помеченные флагом write back сохраняются на диск, удаляются и память освобождается
(3) странички кэша помеченные флагом dirty просто удаляются и память освобождается
(4) странички кэша помеченные флагом dirty записываются на диск, удаляются и память освобождается
(5) освободить анонимную память, записав её в своп
Чем отличается жёсткая ссылка от символической?
(1) отличие только в флаге, указывающем на тип файла
(2) жёсткая ссылка это отдельный тип файла, содержащий вместо данных путь к файлу на который ссылается
(3) символическая ссылка это отдельный тип файла, содержащий вместо данных путь к файлу на который ссылается
(4) символическая ссылка - это когда у одной inode есть 2 dentry, которые на неё ссылаются
(5) наличие ссылок на одну inode от 2 (и более) dentry называют жёсткой ссылкой
При каких вызовах увеличивается количество ссылок на объекты struct file?
(1) clone c флагом CLONE_FILES
(2) open()
(3) dup()
(4) fork()
К чему приводит флаг read-only установленный для объекта superblock или его отсутствие?
(1) флаг read-only установленный для объекта superblock позволяет организовать read-only доступ к ранее смонтированной с полным доступом файловой системе
(2) VFS будет отказывать в выполнении операций, требующие изменения в файловой системе
(3) драйвер файловой системы будет отказывать в выполнении операций, требующие изменения в файловой системе
(4) повторное монтирование в режиме read-only файловой системы, ранее смонтированной с полным доступом не будет выполнено, будет возвращена ошибка
Структура inet_sk, описывающая сетевой уровень модели OSI содержит:
(1) поля спецефичные для протокола IP
(2) поля спецефичные для протокола TCP
(3) поля спецефичные для протокола IP v6
(4) структуру Sock
(5) структуру tcp6_sk
В каком контексте может исполнятся обработка исходящего трафика?
(1) контексте пользовательской задачи
(2) контексте аппаратного прерывания
(3) контексте программного прерывания (Soft IRQ)
(4) как в контексте программного прерывания, так и в контексте пользовательской задачи
Как каждый протокол обходится с ранее оставленными в поле "cb" (управляющий блок) структуры sk_buff данными другого протокола?
(1) каждый протокол дописывает свои данные к концу данных предыдущего протокола
(2) каждый протокол рассматривает это поле как пустое и использует его по своему усмотрению
(3) если поле уже заполнено, то протокол не использует его, а выделяет дополнительную память
(4) только протокол TCP использует это поле, поэтому такой проблемы нет
Какие реализации хранения правил маршрутизации в ядре linux существуют?
(1) hash таблица объектов, описывающий маршрутизацию
(2) линейный список объектов, описывающий маршрутизацию
(3) хранение объектов, описывающий маршрутизацию в реляционной базе данныйх
(4) дерево объектов, описывающий маршрутизацию
Какие усовершенствования были сделаны в планировщике О(1)?
(1) хранение задач в отсортированном по приоритету списке
(2) хранение задач в красно-чёрном дереве
(3) использование 2-х списков процессов вместо одного
(4) списки на каждом процессоре свои и сделали балансировку нагрузки на процессоры
Что происходит когда ядро получает page fault прерывание при первой записи в память, отображённой на диск?
(1) приложению возвращается ошибка
(2) страничка помечается флагом dirty
(3) выставляется флаг разрешения записи в страничку
(4) после записи данных страничка сохраняется на носитель
Если количество жестких ссылок на inode при удалении файла уменьшилось до 0,то:
(1) выплняется запрос на удаление файла из файловой системы
(2) dentry, относящаяся к удаляемому файлу удаляется из кеша dentry
(3) inode отрывается от dentry
(4) уничтожается в памяти объект dentry
Как проверяется возможность создания жёсткой ссылки при выполнении системного вызова link()?
(1) проверяется один и тот же объект superblock для двух dentry или нет
(2) сравниваются соответствующие путям структуры vfsmount
(3) сравниваются пары dentry и vfsmount
(4) сравниваются пары dentry и superblock
В чём состоят особенности обработка принятых по сети данных?
(1) при получении пакета данных сразу не известно приложение-получатель данных
(2) при получении пакета данных не известен протокол транспортного уровня
(3) полная обработка пакета данных при получении производится ядром в контексте прерывания
(4) при получении пакета данных не известен адрес отправителя данных
Каким образом выполняется оптимизация клонирования структур sk_buff?
(1) выделение памяти в ядре достаточно оптимально, дополнительная оптимизация не нужна
(2) используется выделение памяти через kmemcache
(3) специально для TCP используется отдельный skb clone cache
(4) при старте системы выделяется пул заранее созданных sk_buff и при клонировании всегда используются объекты из этого пула
Что такое проблема priority inversion?
(1) низкоприоритетный процесс может держать другие высоко-приоритетные процессы, захватив примитив синхронизации
(2) ошибки при подсчёте используемого процессорного времени приводят к ошибкам использования приоритетов
(3) интерактивное приложение не получает во время управление несмотря на высокий приоритет
(4) выделенное процессу время не может быть эффективно использовано из-за частого переключения приложения на другой процессор
Как ядро находит приложения, в адресное пространство которых отображен страница
(1) в ядре есть подсистема RMAP, позволяющая найти процесс, по странице памяти в его адресном пространстве
(2) происходит перебор всех процессов в системе
(3) страница памяти содержит ссылку на объект task_struct
(4) через ссылку на объект task_struct, принадлежащую inode, к которой относится страница кэша
В каких очередях сетевых пакетов не допускается потери пакетов (не постановка в очередь из-за отсутствия памяти)?
(1) очередь исходящих пакетов в net device
(2) очередь входящих пакетов в сокетах
(3) очередь исходящих пакетов на транспортном уровне (протокол TCP)
(4) очередь входящих пакетов на транспортном уровне (протокол TCP)
(5) в любых допускается потеря
Что произойдёт при открытии файла 2-мя приложениями, одно из которых записало данные в кэш, а затем другое пишет данные напрямую на носитель?
(1) данные напрямую запишутся, затем страничка кэша будет пере зачитана
(2) данные из кэша будут сброшены на носитель, страничка освобождена, затем будет произведена запись данных напрямую
(3) запись будет одновременно происходить в кэш и на носитель
(4) приложение получит ошибку записи
(5) данный всё равно будут писаться в кэш, а затем сразу сохраняться на диск
Файловая система может предоставлять доступ к:
(1) данным, лежащим на локальном жёстком диске
(2) данным, расположенным на диске удалённого компьютера
(3) данным некоторых подсистем ядра, организованным в виде дерева
(4) данным, распределённым между узлами сети
Что делает операция lookup?
(1) превращает путь к файлу в объект dentry
(2) для данного объекта dentry формирует полный путь
(3) берёт inode, являющийся директорией и получает список файлов (имена) директории
(4) для заданной директорной записи формирует список всех файлов, находящихся в соответствующей директории и в вложенных директориях
Как передаётся управление при вызове команды shell mount?
(1) команда shell mount вызывает функцию стандартной библиотеки mount(), а та в свою очередь вызывает на прямую прерывание для работы с файловой системой
(2) команда shell mount вызывает функцию стандартной библиотеки mount(), a та в свою очередь вызывает системный вызов sys_mount()
(3) команда shell mount вызывает напрямую функцию драйвера файловой системы
(4) команда shell mount вызывает функцию стандартной библиотеки mount(), а та напрямую функцию драйвера файловой системы
Для чего служит struct net devices?
(1) для обеспечения высокой производительности сети
(2) обеспечивает абстрактный слой для работы с различными сетевыми устройствами
(3) отвечает за организацию высоконадёжных сетевых интерфейсов
(4) обеспечивает абстрактный слой для работы с различными сетевыми и файловыми устройствами
Кем обрабатывается прерывание от сетевой карты
(1) драйвером сетевой карты
(2) драйвером протокола IP
(3) подсистемой VFS
(4) драйвером сетевой карты и драйвером протокола IP
Какие данные содержит структура sk_buf?
(1) указатели на начало и конец памяти с данными сетевого пакета
(2) смещения начала и конца данных
(3) указатели на заголовок следующиего
(4) поле cb (управляющий блок) используемый протоколами
За что отвечает протокол транспортного уровня TCP?
(1) обмен пакетами данных между сетевыми устройствами в рамках своего сегмента сети
(2) маршрутизация сетевых пакетов между системами в рамках глобальной сети
(3) обмен сетевых пакетов между приложениями
(4) определение сетевого адреса в рамках глобальной сети
В чём заключается многозадачность операционная системы?
(1) наборы команд процессора для каждой задачи делятся на сегменты, и после исполнения сегмента команд одного процесса, исполняется сегмент команд другого процесса
(2) процессорное время делится на интервалы и процессор по истечении интервала позволяет ядру ОС переключить одну задачу на другую
(3) процессы имеют команды передачи управления другому процессу, и система обрабатывает эти команды, выбирая наиболее приоритетный процесс
(4) каждому процессору назначается задача, которая непрерывно, до завершения исполняется на этом процессоре
В чём назначение кэшей ядра Linux?
(1) гарантировать сохранность данных
(2) упрощение поддержки ядра
(3) архитектурные улучшения
(4) ускорение доступа к данным
Меж-процессное взаимодействие (IPC) обеспечивается:
(1) утилитами ОС, работающими в user space
(2) ядром операционной системы, производящим операции в kernel space
(3) прямым подключением пользовательских программ к контроллеру прерываний
(4) подсистемой procfs операционной системы
Сетевая файловая система предоставляет доступ к:
(1) к данным лежащим на локальном диске
(2) к данным, находящимся в сетевом файловом хранилище
(3) к произвольным данным, генерируемым модулями ядра
(4) к данным, находящимся в облаке
Какие шаги выполняются при операции lookup, если dentry не найден в hash-таблице?
(1) VFS возвращает ошибку поиска пути
(2) VFS обращается к файловой системе для поиска dentry
(3) файловая система создаёт пустую dentry
(4) файловая система нотифицируется об удалённом файле
Каким образом системна функция sys_mount использует структуру file_system_type монтируемой файловой системы?
(1) использует методы структуры для преобразования пути точки монтирования в dentry
(2) считывает параметры монтирования из данных структуры
(3) вызывает метод mount() (или get_sb()) структуры для получения объекта superblock()
(4) считывает параметры монтирования из полей данных структуры
Для чего служит виртуальная сетевая карта loopback?
(1) для балансировки пропускной способности
(2) для организации систем высокой надёжности (high ability)
(3) для организации взаимодействия через сеть процессов, запущенных на одном и том же компьютере
(4) для организации сетевого взаимодействия между компьютерами в одном сегменте сети
Возможно ли и если возможно, в каких случаях данные сетевого пакета размещаются более чем в одном буфере памяти?
(1) если ядро не может выделить сплошную область памяти необходимого размера
(2) если данные приходят из сети небольшими порциями, а не все сразу
(3) если не проходит проверка контрольной суммы
(4) если размер пакета превышает некоторое заданное значение
Какие проверки выполняет протокол IP сразу по получению сетевого пакета?
(1) версия протокола IP
(2) достаточность данных для обработки
(3) наличия открытого порта для пакета
(4) достижимость сетевого адреса получателя пакета
С какими объектами ядра next и current работает функция schedule()?
(1) ссылки на существующие объекты task_struct
(2) копии объектов task_struct
(3) ссылки на объекты list_head
(4) ссылки на структуры pid
Какие утверждения верны насчёт режима кэша write through?
(1) данные сначала пишутся в кэш, а на носитель сбрасываются позднее
(2) данные одновременно пишутся в кэш и на носитель
(3) данный режим оптимизирует чтение и запись
(4) данный режим оптимизирует только чтение данных
(5) данный режим оптимизирует только запись данных
Системный вызов отличается от не системного:
(1) переключением привилегий
(2) исполнением в kernel space
(3) прямой адресацией к памяти
(4) использованием механизма DMA
Что такое VFS?
(1) это отдельная подсистема ядра, которая организует доступ к данным только для файловых виртуальных систем, т.е. для систем, которые генерируют данные "на лету" (как procfs)
(2) VFS организует интерфейс только для файловых систем, которые работают с данными на локальном диске (FAT, ext4, ...)
(3) это отдельная подсистема ядра, которая обслуживает все файловые системы и определяет правила их функционирования
(4) это набор сетевых протоколов для работы с сетевыми файловыми системами
Что означает пустая ссылка на inode для структуры dentry?
(1) на объект detnry нет больше ссылок и она должна быть удалена
(2) dentry описывает корневую директорию файловой системы
(3) на файловой системе не существует такого файла
(4) dentry описывает пустую директорию
Для чего используется флаг D_MOUNTPOINT?
(1) для пометки устройства, смонтированного к точке монтирования
(2) для пометки dentry, соответствующей точке монтирования
(3) для пометки суперблока файловой системы, в дереве которой есть точка монтирования другой файловой системы
(4) для пометки объекта vfsmount, который используется для создания синонима каталога файловой системы
то такое технология SR-IOV применительно к сетевым устройствам?
(1) - это объединение двух физических сетевых карт в одно виртуальное устройство
(2) это стек, откуда записываемые пакеты данных попадают на тот же сетевой интерфейс, куда они записывались
(3) это возможность получать сетевые данные через последовательный порт
(4) это возможность создания нескольких виртуальных сетевых карт, на единственном физическом сетевом устройстве
Каким образом передаётся управление коду обработчика входящих пакетов после обработки в драйвере сетевой карты?
(1) по инициативе приложения, опрашивающего ядро о новых сетевых данных
(2) подсистема сокетов опрашивает наличие новых сетевых пакетов
(3) драйвер сетевой карты делает вызов "CALL" кода функции обработки пакета в коде драйвера сетевого протокола
(4) драйвер сетевого протокола инициирует программное прерывание (NET_RX_SOFTIRQ)
Каким образом происходит формирование заголовков сетевого пакета?
(1) протокол верхнего уровня, владея всей необходимой информацией формирует и записывает заголовки всех уровней
(2) протокол нижнего уровня, получив всё необходимую информацию формирует и записывает заголовки всех уровней
(3) каждый протокол формирует и записывает в буфер сетевого пакета заголовок своего уровня
(4) драйвер сетевого устройства, получив всё необходимую информацию формирует и записывает сетевой пакет
Что может случиться с пакетом после фильтрации Net Filter?
(1) пакет может быть уничтожен
(2) пакет может быть принят
(3) пакет может быть отослан обратно отправителю
(4) пакет может быть поставлен в очередь
Что такое preemtive kernel?
(1) такое ядро прерывает исполнение только пользовательского кода по аппаратному прерыванию
(2) в таком ядре ядерный код может быть прерван по таймеру если не сообщил, что его нельзя вытеснять
(3) в таком ядре ядерный код может быть прерван по таймеру только если явно сообщил, что это можно делать
(4) такое ядро не прерывает исполнение пользовательского кода если приложение сообщило что это нельзя делать
Что показывают флаги, содержащиеся на страничке кэша?
(1) состояние когда данные считаны
(2) состояние когда данные на страничке кэша старее чем на носителе
(3) состояние, когда на страничке содержатся данные, которые новее чем данные на носителе
(4) состояние когда данные с странички записываются на носитель
(5) состояние когда данные находятся в процессе считывания
Как соотносятся функции стандартной библиотеки С под Linux c POSIX?
(1) все функции стандартной библиотеки являются системными и соответствуют стандарту POSIX
(2) некоторые функции стандартной библиотеки являются системными вызовами, соответствующими POSIX
(3) не все функции стандартной библиотеки являются системными, но все соответствуют стандарту POSIX
(4) никакие из функций стандартной библиотеки не имеют никакого отношения к стандарту POSIX
Какие из перечисленных ниже полей входят в структуру file_system_type?
(1) name (имя файловой системы)
(2) флаги
(3) времена изменения данных в файловой системе
(4) корень дерева файловой системы
Для каких файловых систем имеет смысл поддержка метода revalidate()?
(1) дисковые файловые системы: FAT, EXT4
(2) сетевые файловые системы: NFS
(3) облачные файловые системы: googlefs
(4) виртуальный файловые системы: procfs, debugfs
Что является ключём в hash таблице структур vfsmount?
(1) dentry и родительская структура vfsmount
(2) объект superblock и dentry
(3) полный путь и объект superblock
(4) родительская структура vfsmount и корневая dentry файловой системы
Чем отличается работа приложения с сокетами от работы с обычными файлами ?
(1) + используются разные способы создания объектов (сокетов и файлов)
(2) используются разные набор системных вызовов для изменения параметров объектов (сокетов и файлов)
(3) используются различные типы файловых дескрипторов
(4) используются различные библиотеки с функциями read() и write()
В чём особенности работы обработчика программного прерывания NET_RX_SOFTIRQ при использовании NAPI?
(1) обработчик считывает данные напрямую из буфера памяти сетевой карты
(2) обработчик получает несколько пакетов из драйвера сетевой карты
(3) обработчик повторно вызывает программное прерывание NET_RX_SOFTIRQ
(4) обработчик разрешает аппаратные прерывания для сетевой карты
При получении пакета создаётся объект sk_buff. Какие значения указателей этой структуры возможны сразу после её создания?
(1) data cовпадает с head
(2) data смещён от head вправо на размер заголовка Ethernet
(3) tail совпадает с end
(4) все указатели равны нулю
Какому протоколу передаёт пакет протокол IP в случае если он забирает пакет себе?
(1) протоколу TCP
(2) протоколу UDP
(3) протоколу ICMP
(4) протоколу транспортного уровня
Как планировщик реализует процедуру выделения времени задачам
(1) отслеживает время использованное процессом
(2) запрашивает состояние примитивов синхронизации, используемое процессами
(3) выбирает процессы, выполняющие операции ввода-вывода в файлы или сокеты
(4) выбирает приложение так, что бы средневзвешенные отработанные времена были примерно равны у всех исполняемых приложений
Какую часть работы чтения данных выполняет слой block layer?
(1) если странички нет, выделяет страничку и просит объект block layer считать в неё данные
(2) определяет необходимость сброса данных из кэша на носитель
(3) когда страничка считана, объект block layer устанавливает флаг uptodate и нотифицирует VFS
(4) записывает данные с странички кэша на носитель
(5) определяет необходимость считывания данных с носителя
Каковы особенности исполнения системных вызовов?
(1) некоторые вызовы исполняются на уровне привилегий 0, некоторые на уровне 3
(2) выполняются с уровнем привилегий 0
(3) выполняются с уровнем привилегий 3
(4) выполняются в user space
(5) выполняется в kernel space
На что указывает член структуры super_block struct super_operations* s_op?
(1) на таблицу виртуальных методов для работы с суперблоком
(2) на структуру с адресом на объект - корень файловой системы
(3) на функцию изменения счётчика ссылок
(4) на функцию монтирования файловой системы
Какие объекты создаются в ядре при поиске пути в файловой системе?
(1) структура file_system_type
(2) структура superblock и корневой dentry файловой системы
(3) структура dentry, в случае её отсутствия в хеш-таблице
(4) hash-таблицы структур inode и dentry
(5) структура inode для существующих файлов
Может ли процедура lookup() зациклиться при выполнении поиска пути, где часть пути является синонимом каталога?
(1) да может, поэтому существуют ограничения на создание синонима каталога
(2) может сделать не больше одной петли, но затем текущий объект vfsmount поменяется на другой, у которого дугой набор потомков, и поиск продолжится
(3) нет не может, так как каждый шаг поиска валидируется вызовом метода revalidate()
(4) нет не может, так как есть ограничение на количество шагов поиска и если оно превышено, то поиск завершается
Какие уровни определяет ядро для протоколов выстраивающихся в сетевой стек?
(1) Sockets
(2) Transport
(3) Network
(4) MAC
(5) ARP
Какие могут выполняться операции если будет обнаружено что в линейной части пакета данных меньше запрошенного значения
(1) сетевой пакет может быть выброшен из обработки
(2) может быть использована функция skb_copy_bits() для недостающих данных из "paged" областей памяти
(3) сетевой пакет помечается как неполный и сохраняется
(4) выполняется перезапрос сетевого пакета
Куда может передаваться исходящий сетевой пакет протоколом IP?
(1) драйверу сетевой карты
(2) на МАС уровень
(3) протоколу транспортного уровня
(4) в подсистему сокетов
Каким образом решили проблему учёта времени процессов?
(1) ядро подсчитывает не выделения квантов времени процессу, а реальную работу на процессоре
(2) размер квантов времени был уменьшен, и подсчёт времени стал более точным
(3) начали учитывать количество процессоров, занятых приложением
(4) размер квантов времени был увеличен, и подсчёт времени стал более простым
Ниже приведены последовательно этапы жизненного цикла страницы кэша Page Cache. Укажите какие этапы являются лишними?
(1) выделение страницы кэша
(2) данные считываются
(3) страница становится uptodate
(4) страничка становится dirty
(5) страничка становится write-back
(6) в страницу пишут данные
(7) страничка становится dirty
(8) ядро делает страничку write-back и пишет её на носитель
(9) страница становится uptodate
LINUX использует ядро следующего типа:
(1) микро-ядро
(2) модульное ядро
(3) монолитное ядро
(4) тип ядра настраивается при сборке
Какие времена хранятся в inode?
(1) время последнего доступа к файлу
(2) время модификации данных
(3) время модификации флагов
(4) время монтирования файловой системы
Когда происходит очистка кэша dentry на основании списка lru (least resently used)?
(1) в ходе общей очистки памяти, случающейся когда в системе уменьшается количество свободной памяти ниже некоторого предела
(2) регулярно c заданным интервалом времени
(3) когда объём кэша достигает пороговых значений
(4) когда размер списка lru достигает заданных пороговых значений
Что происходит при монтировании одной и той же файловой системы много раз?
(1) увеличивается счётчик ссылок корневой dentry
(2) увеличивается количество объектов superblock
(3) выполняется копирование dentry, относящихся к данной файловой системе
(4) увеличивается счётчик ссылок объекта superblock
Чем отличается создание сокета от открытия файла?
(1) при открытии сокета, не выполняется процедуры lookup(), a сначала создаётся сокет, а затем открывается как файл
(2) файловая система, обеспечивающая работу с сокетами (sockfs) не смонтирована и служит лишь для унификации работы vfs с сокетами
(3) вместо объекта files приложение хранит дескрипторы сокетов в объекте sockets
(4) сокеты адресуются специальными типами файловых дескрипторов
Какова стратегия выделения памяти под входящие сетевых пакеты в драйверах сетевых устройств:
(1) запрашивать выделение памяти с флагом "освободить кэши если свободной памяти нет"
(2) запрашивать выделение памяти без флага "освободить кэши если свободной памяти нет"
(3) использовать заранее выделенный пул объектов
(4) попытаться запрашивать выделение памяти без флага "освободить кэши если свободной памяти нет" и если памяти нет использовать заранее выделенный пул
Что делает операция skb_push
(1) сдвигает указатель data влево от tail
(2) выделяет память под сетевой пакет
(3) сдвигает указатели data и tail от начала буфера вправо на одно и то же смещение
(4) сдвигает data вправо
В какой момент destination entry связывается с сетевым пакетом?
(1) для входящего пакета - в процессе маршрутизации
(2) для входящего пакета - после маршрутизации
(3) для исходящего пакета - перед маршрутизацией
(4) для исходящего пакета - в процессе маршрутизации
(5) для исходящего пакета — при выходе из сокета
Как решили проблему выделения процессорного времени интерактивному процессу?
(1) позволили объявлять процесс интерактивным
(2) процесс, получивший событие для обработки безусловно вытесняет другой процесс
(3) интерактивные процессы помещаются в отдельную, более приоритетную очередь
(4) используются эмпирические оценки количества процессорного времени требуемого интерактивному процессу
В каких случаях выставляется флаг write back?
(1) сразу после создания пустой страницы
(2) когда на страница содержит те же данные, что есть на носителе
(3) когда страница содержит более свежие данные чем на носители
(4) когда происходит процесс записи данных с страницы на носитель
(5) когда заканчивается процесс записи данных с страницы на носитель
Для чего может быть использована файловая система procfs?
(1) для изменения параметров модулей ядра ОС
(2) получения информации о запущенных процессах из пользовательской программы
(3) для запуска демонов
(4) для изменения параметров сокетов, открытых другими процессами
Какие из перечисленных ниже полей находятся в структуре dentry?
(1) имя
(2) указатель на inode
(3) указатель на родительскую запись
(4) список указателей на дочерние записи
(5) указатель на список inode
Что такое файловый дескриптор?
(1) уникальный в рамках системы идентификатор, по которому можно получить доступ к данным файла
(2) индекс в принадлежащем task_struct, массиве объектов struct files
(3) указатель на объект struct file, описывающий контекст открытия файла
(4) указатель на объект inode, принадлежащий объекту struct file
В каком случае возможно наличие в памяти ядра корневой dentry файловой системы, не связанной с точкой монтирования?
(1) при использовании команды umount с ключом -l для файловой системы, файлы которой остались открыми приложениям до тех пор пока все файлы не будут закрыты
(2) при использовании команды umount для файловой системы, файлы которой остались открытыми приложениями до тех пор, пока все файлы не будут закрыты
(3) такое невозможно
(4) в случае, когда в момент размонтирования одновременно выполняется поиск lookup() в файловой системе
Какие поля есть в структуре socket?
(1) ip адреса участников соединения
(2) ссылка на структуру inode
(3) ссылка на сетевой интерфейс
(4) таблица виртуальных методов
(5) ссылку на объект Sock
Сколько памяти выделяется под сетевой исходящий пакет в ядре LINUX?
(1) ровно по количеству данных, так как размер заголовков предугадать невозможно
(2) ровно по количеству данных плюс заголовки всех сетевых протоколов, т.к. все протоколы уже известны и размер можно предсказать
(3) для всех сетевых пакетов выделяется всегда одно и то же количество памяти (страница памяти)
(4) выделяется памяти по размеру данных и известных заголовков плюс некоторый запас
Каким образом sk_buf оптимизируется с точки зрения выделения памяти?
(1) структура sk_buff для каждой платформы проектируется с учётом разрядности архитектуры
(2) целое число объектов sk_buf должны полностью заполнять страницу памяти
(3) структура sk_buff спроектирована с учётом кэш линии
(4) 64-х разрядные указатели на данные внутри области данных сетевого пакета заменяются на 32-разрядные смещения
(5) нет никакой специальной оптимизации
Как организована синхронизация кэша destination entry при изменении таблицы маршрутизации?
(1) старые элементы кэша объявляются устаревшими и удаляются по счетчику ссылок
(2) кэш очищается после завершения выполнения soft interrupt
(3) элементы кэша обновляются соответствующим образом вместе с таблицей маршрутизации
(4) элементы кэша удаляются после закрытия TCP/IP соединения
Каким образом были решены проблемы разработки планировщика для SMP?
(1) в расчёте средневзвешенного процессорного времени начали учитывать времена заполнения и очистки процессорных кэшей
(2) для выбора следующего процесса для исполнения без падения производительности средневзвешенное время процессов корректируется
(3) из двух величин - производительности и точности выбора процесса для исполнения в соответствии с приоритетом пожертвовали точностью выбора процесса при максимизации производительности
(4) начали выбирать процесс без учёта приоритетов, только на основании ранее использованного процессорного времени
Как ядро следит за количеством dirty страничек памяти
(1) следит за системными вызовами write
(2) регулярно опрашивает память на предмет последних запросов к памяти, отображаемой на файл
(3) сканирует отображённые файлы на наличие страниц кэша с dirty флагом
(4) учитывается первая попытка записи в страницу памяти, отображённой на диск и страничка помечается как dirty
Какие из утверждений правильно описывают связи между struct file_system_type, super_block, inode, dentry?
(1) структура file_system_type содержит указатель на функцию, с помощью которой можно получить суперблок конкретной файловой системы
(2) структура super_block содержит ссылку на корневой dentry файловой системы
(3) структура file_system_type содержит указатель на inode
(4) структура dentry содержит указатель на inode
(5) структура super_block содержит указатель на inode
При каких вызовах увеличивается количество ссылок на объекты struct files_struct?
(1) clone c флагом CLONE_FILES
(2) open()
(3) dup()
(4) fork()
Каким образом возможно сделать доступ к файловой системе только для чтения, если она уже смонтирована с полным доступом?
(1) повторно смонтировать файловую систему к другой точке монтирования, указав атрибут read-only
(2) использовать команду mount c ключом --bind и атрибутом read-only
(3) сделать жёсткую ссылку на корневой каталог файловой системы используя команду link
(4) использовать команду alias
Структура tcp_sk, описывающая транспортный уровень модели OSI содержит:
(1) поля спецефичные для протокола IP
(2) поля спецефичные для протокола TCP
(3) поля спецефичные для протокола IP v6
(4) структуру Sock
(5) структуру inet_sk
(6) структуру tcp6_sk
Каким образом выполняется отправка данных в сеть после обработки исходящего трафика драйверами сетевых протоколов?
(1) обращение к методу (операции) объекта socket выполняющего отправку данных
(2) драйвер самого нижнего протокола перекладывает данные в буфер памяти сетевой карты
(3) вызывается метод отправки данных в сеть объекта net device
(4) вызывается программное прерывание, обработчик которого посылает данные на сетевое устройство
Каким образом проверяется что данные, описывающие состояние протокола не переполнили поле "cb" (управляющие блок) структуры sk_buf?
(1) это определяется в ходе code review и тестирования
(2) проверка на этапе отладки с использование макроса BUG_ON()
(3) проверка на этапе компиляции посредством макроса BUILD_BUG_ON()
(4) если данные переполняют поле, то сетевой протокол перестаёт работать, поэтому такая ситуация быстро находится в эксплуатации по анализу дампа
Для чего служат объекты Neighbors в ядре?
(1) учёт статистики обмена сетевыми пакетами с соседними компьютерами сегмента сети
(2) хранение состояния протокола ARP
(3) хранение МАС адресов компьютеров с которыми существует обмен сетевыми пакетами
(4) хранение МАС адресов соседних компьютеров сегмента сети
В чём особенность планировщика CFS?
(1) планирует не процессы, а sched_entity, организованные в дерево
(2) полностью решена проблема priority invertion
(3) начал точно учитывать время исполнения sched_entity
(4) используются не списки процессов, а красно-чёрное дерево, из которого можно брать просто крайний элемент
Какие могут возникнуть проблемы при записи данных с страницы памяти, отображаемой на диск на носитель?
(1) на носителе не хватит пространства для записи данных
(2) объём данных большой и носитель пишет их медленно
(3) возникают гонки: одновременно с записью на носитель приложение может изменять данные на странице памяти
(4) приложение может быть закрыто и страница памяти освобождена во время записи данных на носитель
Если количество жестких ссылок на inode при удалении файла осталось больше 0, то:
(1) выполняется запрос на удаление файла из файловой системы
(2) уничтожается в памяти объект inode
(3) уничтожается в памяти объект dentry
(4) dentry, относящаяся к удаляемому файлу, удаляется из кэша dentry
Можно ли к одной и той же точке монтирования смонтировать больше одной файловой системы?
(1) нет нельзя, будет возвращена ошибка
(2) да можно, будут доступны данные из обоих смонтированных файловых систем
(3) да можно, будут доступны данные из последней смонтированной файловой системы
(4) да можно, ранее смонтированная файловая система будет автоматически размонтирована
В каком виде ходят данные по сетевому стеку?
(1) просто пересылаются участки выделенной памяти
(2) используется специальная структура sk_buff
(3) использутеся std::vector
(4) каждый протокол и драйвер использует свои структуры данных
Чем отличается выделение памяти под объекты sk_buff через skb clone cache от выделения памяти через kmemcache
(1) выделяется удвоенный размер памяти - для объекта и для его клона
(2) сразу инициализируются основные поля структуры sk_buff
(3) из-за фиксированного размера выделение происходит быстрее
(4) не происходит освобождения (чистки) памяти в случае её нехватки
Как решается проблема priority inversion
(1) для точного учёта времени запускается idle процесс
(2) для futex-ов её решили подъемом приоритета низкоприоритетному процессу, если он захватил примитив синхронизации
(3) для ядра в целом проблема ещё не решена
(4) приложение вытесняется с использованием migration thread
Как соотносится ограничение "грязной" памяти в ядре с количеством общей памяти?
(1) допускается состояние когда вся память RAM занята "грязной" памятью
(2) допустимое количество "грязной" памяти равно размеру свопа
(3) допустимое количество "грязной" памяти не зависит от размера RAM
(4) допустимое количество "грязной" памяти в ядре меньше количества общей памяти
При работе с какой очередью пакетов проблемы недостатка ресурсов решаются управлением потока сетевых пакетов?
(1) очередь исходящих пакетов в net device
(2) очередь входящих пакетов в net device
(3) очередь входящих пакетов в сокетах
(4) очередь входящих пакетов в сокетах
(5) очередь исходящих пакетов на транспортном уровне (протокол TCP)
(6) очередь входящих пакетов на транспортном уровне (протокол TCP)
Какие варианты поиска свободной памяти можно задать через gfp флаги?
(1) указать из какой зоны выделить память: пользовательская/DMA/ядра
(2) освобождать не трогая кэши пакетов стека TCP/IP
(3) освобождение не трогая файловой системы, т.е. не трогая "грязные" страницы кэша
(4) без дискового ввода вывода
(5) освобождать только ограниченный объём памяти
Структура inet6_sk, описывающая транспортный уровень модели OSI содержит:
(1) поля спецефичные для протокола IP
(2) поля спецефичные для протокола TCP
(3) поля спецефичные для протокола IP v6
(4) структуру inet_sock
(5) структуру inet_sk
(6) структуру tcp6_sk
В каких случаях при маршрутизации пакета может быть задействован протокол ICMP?
(1) при передаче "своего" пакета протоколу транспортного уровня
(2) при уничтожении пакета из-за того что TTL упал до нуля
(3) когда неизвестно как доставить сетевой пакет до получателя
(4) при нехватке памяти