I. Первая группа вопросов: ОС UNIX
1 Общие вопросы по особенностям ОС UNIX
1.1 История создания (написания) ОС UNIX.
1.2 Структура ОС UNIX (драйверы – ядро – процессы).
1.3 Файловая система ОС UNIX (s5, ufs, типовая структура и назначение каталогов).
1.4 Среда выполнения процесса (переменные, особенности их установки и использования).
1.5 Основные концепции ОС UNIX (фильтры, конвейеры, потоки в/в, перенаправление в/в).
1.6 Функции операционной системы UNIX.
1.7 Последовательность загрузки ОС. Файлы и сценарии запуска.
Вопросы по архитектуре ОС UNIX (ядра операционной системы)
2.1 Архитектура операционной системы UNIX (ядро и подсистемы).
2.2 Подсистема управления памятью.
2.3 Подсистема управления процессами.
2.4 Подсистема управления файлами и файловыми системами.
2.5 Подсистема управления вводом/выводом.
2.6 Интерфейс системных вызовов.
Файлы и файловые системы.
3.1 Различные типы файлов и особенности работы с ними.
3.2 Структура файловой системы, суперблок, информационные узлы.
3.3 Виртуальная файловая система, таблицы и структуры.
3.4 Структура информационного узла (индексного дескриптора).
3.5 Файлы и каталоги. Атрибуты файлов и каталогов.
3.6 Файловые дескрипторы. Таблица открытых файлов.
3.7 Создание, монтирование и демонтирование файловых систем.
3.8 Целостность файловой системы. Процедуры проверки и сопровождения.
Структура процесса
4.1 Классификация процессов.
4.2 Состояния процесса и переходы между ними.
4.3 Размещение ядра. Прерывания и особые ситуации
4.4 Адресное пространство процесса. Контекст процесса. Переключение контекста.
4.5 Атрибуты, области и структуры данных процесса.
4.6 Группы и сеансы. Управляющий терминал.
|
4.7 Взаимодействие с операционной системой через вызовы системных функций.
4.8 Описание управления адресным пространством процесса.
Подсистема управления процессами
5.1 Взаимодействие между процессами (сигналы, семафоры, каналы…).
5.2 Средства синхронизации взаимодействия между процессами.
5.3 Управление процессами, классы и приоритеты.
5.4 Планирование выполнения процессов.
5.5 Режим ядра и режим пользователя.
5.6 Жизненный цикл процесса (Создание…)
Многопоточная архитектура.
6.1 Классификация потоков (нити ядра, прикладные нити, LWP …)
6.2 Многопоточная архитектура ядра.
6.3 Многопоточная архитектура процесса.
6.4 Варианты смешенной многопоточной архитектуры.
6.5 Атрибуты, области и структуры данных потока.
6.6 Взаимодействие между потоками и средства синхронизации.
Подсистема управления вводом-выводом
7.1 Подсистема управления вводом-выводом. Описание.
7.2 Взаимодействие драйверов с программной и аппаратной средой.
7.3 Файлы устройств и пространства имен.
7.4 Классификация драйверов и устройств в/в.
7.5 Клонирование устройств.
7.6 Драйвера модульно-поточной архитектуры (STREAMS).
7.7 Системные функции и взаимодействие с драйверами
7.8 Структура драйвера.
Пользователи операционной системы UNIX и программная оболочка ksh.
8.1 Идентификация и авторизация пользователя.
8.2 Структура файлов /etc/passwd и /etc/group. Атрибуты пользователя.
II. Вторая группа вопросов: Инструментальные средства ОС UNIX
Инструментальные средства ОС UNIX
1.1 Структура системы встроенной электронной помощи и команда man.
|
1.2 Интерпретатор ksh. Файлы инициализации, служебные и системные переменные.
1.3 Встроенные команды и функции программной оболочки ksh.
1.4 Команды работы с файлами и изменения прав доступа к ним.
1.5 Команда find и применение метасимволов при подстановке имен файлов.
1.6 Ввод и вывод данных в интерпретаторе ksh, потоки в/в, дескрипторы файлов.
1.7 Порядок выполнения команд, операторы ||, &&, (), {}.
1.8 Регулярные выражения и символы экранирования. Семейство команд grep.
1.9 Управляющие конструкции интерпретатора ksh и проверка условий.
1.10 Обработка параметров командной строки, команды shift и getopts.
1.11 Потоковый редактор awk. Шаблоны и процедуры. Работа с полями и записями.
1.12 Операторы и встроенные переменные awk. Передача переменных из ksh в awk.
1.13 Потоковый редактор sed. Команды p, a, i, c, d, s, w, r, q, l. Примеры.
1.14 Сортировка файлов. Команда sort.
1.15 Проверка уникальности строк и отдельных полей. Команда uniq.
1.16 Объединение файлов. Команда join.
1.17 Вставка текста. Команда paste.
1.18 Команды tee, tr, wc, cut, split, diff, comm, sleep, pwd, set, type, file, du, df, kill, ps, eval.
1.19 Выполнение команд в фоновом режиме. Команды crontab, at, &, nohup, nice, priocntl.
1.20 Создание и монтирование файловой системы. Команды mkfs, mount, umount, fsck.
III. Третья группа вопросов: Ассемблер
- Компиляция программы.
1. Ассемблер. Понятие, применение, особенности, основные определения.
2. Структура процессора. Основные определения, функции составных частей.
3. Режимы адресации. Схема формирования адреса.
4. Регистры процессора. Основные группы, особенности и назначения регистров каждой группы.
5. Методы адресации. Основные типы, применение, примеры.
|
6. Система команд. Основные группы, кратко о каждой группе команд.
7. Команды пересылок и работы со стеком. Их назначение, синтаксис, примеры.
8. Арифметические команды - назначение, синтаксис, примеры.
9. Команды сдвигов, команды переходов - назначение, синтаксис, примеры.
10. Особенности синтаксиса Ассемблера, общая структура программы, основные определения.
11. Сегменты - основные определения, регистры по умолчанию.
12. Загрузка сегментных регистров. Директива ASSUME.
13. Типы данных - применение, директивы определения данных, примеры.
14. Различия между программами COM и EXE файлов.
15. Компиляция и компоновка программы. Описание процесса.
16. Организация условий в Ассемблере. Примеры.
17. Организация циклов в Ассемблере. Примеры.
18. Работа с массивами. Примеры.
19. Прерывания и подпрограммы обработки прерываний - основные определения, типы прерываний. Действия процессора по обработке аппаратных и программных прерываний.
20. Структуры обработчиков аппаратных прерываний.
21. Работа с Ассемблер в программах на языках высокого уровня. Примеры.
22. Макросы. Понятия макроопределений и макрокоманд. Использование макросов в программе.
23. Процедуры и модульное программирование. Синтаксис определения, директивы NEAR, FAR.
24. Технология MMX. Основные определения, способы применения, особенности.
25. Регистры MMX, способы работы с данными, арифметические, логические и команды пересылки.
26. Функции DOS для вывода на экран - основные определения, особенности применения, обзор функций DOS для работы с клавиатурой.