
- •1. Основные понятия и определения. Операционные системы как средство распределения и управления ресурсами.
- •2. Архитектура unix. Основные стандарты.
- •3. Модель системы unix.
- •4. Ядро системы. Внутренняя структура ядра.
- •5. Файловая подсистема
- •6. Подсистема ввода/вывода
- •7. Подсистема управления процессами
- •8. Работа в операционной системе unix
- •9 Файлы и файловая подсистема. Типы файлов.
- •11 Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла.
- •12 Командный интерпритатор Shell. Синтаксис языка Bourn Shell. Общий синтаксис скрипта.
- •13 Основные утилиты unix
- •14 Подсистема управления процессом. Структура данных процесса, состояния процесса.
- •15Типы процессов: системные процессы, демоны, прикладные процессы.
- •16.Жизненый путь процесса. Инфраструктура процесса ос unix.
- •21. Планирование и управление процессами. Основные принципы и механизмы, обработка прерываний таймера, алармы, создание процесса.
- •22. Сигналы. Управление сигналами: отправление сигнала, доставка и обработка сигнала.
- •23. Взаимодействие между процессами. Средства межпроцессного взаимодействия.
- •24. Настройка командного интерпретатора. Работа с командным интерпретатором. Способы установки командного интерпретатора.
- •26. Файловая подсистема. Базовая файловая система System V . Основные компоненты файловой системы s5fs, массив индексных дескрипторов. Достоинства, недостатки.
- •27. Файловая система ffs. Основные изменения.
- •28. Архитектура виртуальной файловой системы. Монтирование файловой системы. Трансляция имен. Системные вызовы, требующие трансляции имени.
- •33. Блочные устройства
- •35. Трансляторы. Основные понятия и определения
- •36. Общие особенности языков программирования и трансляторов
- •37. Обобщённая структура компилятора, интерпритатора.
- •38. Фазы процесса трансляции и компиляции.
- •Обобщенная схема синтаксического анализатора
- •41. Варианты взаимодействия блоков транслятора. Особенности.
- •42. Многопроходная организация взаимодействия блоков транслятора. Достоинства и недостатки.
- •43. Однопроходная организация взаимодействия блоков транслятора. Достоинства и недостатки.
- •Наиболее широкое применение при разработке трансляторов нашли кс-грамматики и порождаемые ими кс языки. Способы записи синтаксиса языка
- •Метаязык Хомского
- •46 Метаязык Хомского-Щутценберже
- •49. Распознаватели.
- •50. Организация лексического анализа. Назначение и необходимость фазы
- •55. Грамматики с ограничениями на правила.
- •56.Устройства управления с конечной памятью.
- •57. Методы лексического анализа
- •58. Организация прямого л/а
- •59. Общие принципы организации синтаксического разбора. Назначение, классификация методов синтаксического разбора.
- •60. Методы синтаксического разбора.
- •Последовательность разбора.
- •Использование просмотра вперед.
- •Разработка программы по таблице переходов амп
- •64 Организация автоматов с магазинной памятью.
- •65 Распознаватель скобочных выражений.
- •67 Основные команды Linux. Ввод и вывод данных.
14 Подсистема управления процессом. Структура данных процесса, состояния процесса.
Процесс- выполняющийся экземпляр программы. Процессы в UNIX-совокупность программ и связанных с ней системных данных среды процесса. В LINUX функции управления процессом объявлены в файле<unistd.h>Этот файл доступен др.версиям О.С.
Есть независимые и взаимодействующие процессы.
Независимые- конкурируют за ресурсы, но не обмениваются информацией.
Взаимодействующие- могут обмениваться данными или их выполнение может быть упорядоченным.
Процессы взаимодействуют с помощью спец. механизмов: сигналы, программные каналы, разделяемая память, семафоры, сообщения, общие файлы.
Структура данных процесса
Каждый процесс представлен в системе двумя основными структурами данных-proc и user,описанными в файлах <sys/proc.h> и <sys/user.h>
Структура proc является записью системной таблицы процессов, которая находится в О.П.Запись этой таблицы для выполняющегося в настоящий момент времени прочеса адресуется системной переменной curproc. Каждый раз при переключении контекста, когда ресурсы процессора передаются другому процессу, изменяется значение переменной
сurproc,которая теперь указывает на структуру proc активного процесса.
Структура user содержит дополнительные данные о процессе, которые требуются ядру только во время выполнения процесса.(т.е. когда процессор выполняет инструкции процесса в режиме ядра или задачи)В user хранятся данные об открытых файловых дескрипторах, статистика выполнения процесса, сохраненные значения регистров.User содержит стек фиксированного размера –системный стек или стек ядра.
Состояния процесса
Жизненный цикл процесса разбит на несколько состояний. Переход процесса из одного состояния в другое происходит в зависимости наступления событий в системе.
1.Процесс выполняется в режиме задачи. При этом процессором выполняются прикладные инструкции данного процесса.
2.Процесс выполняется в режиме ядра. При этом процессором выполняются системные инструкции ядра О.С.от имени процесса.
3.Прицесс не выпол., но готов к запуску, как планировщик выберет его. Процесс находится в очереди на выполнение и обладает всеми необходимыми ему ресурсами.
4.Прицесс находится в состоянии сна, ожидая недоступного ресурса, например завершения операции ввода/вывода
5.Процесс возвращается из режима ядра в режим задачи,но ядро прерывает его и происходит переключение контекста для запуска более приоритетного процесса.
6.Процесс создан вызовом fork() и находится в переходном состоянии: он существует, но не готов к запуску и не находится в состоянии сна.
7.Процесс выполнил системный вызов exit() и перешел в состояние зомби.
15Типы процессов: системные процессы, демоны, прикладные процессы.
Системные процессы- являются частью ядра, всегда расположены в О.П.
- не имеют соответствующие им программы в виде исполняемых файлов и запускаются особым образом при инициализации ядра системы.
-диспетчер свопинга, страничного размещения, буферного кэша, памяти ядра.
К системным проц. относятся прародители всех остальных процессов.(не являются частью ядра, запускаются из исполняемого файла.)
Демоны – не интерактивные процессы, которые запускаются обычным образом и выполняются в фоновом режиме. Они запускаются при инициализации системы, но после инициализации ядра. Обеспечивают работу подсистем(система печати, система сетевого доступа, система сетевых услуг)
Демоны не связанны ни с одним из пользовательских сеансов. Они не могут управляться пользователями. Демоны ждут когда процесс запросит услугу. Для эффективного управления процессом он имеет атрибут PID.
Прикладные процессы- все остальные процессы, выполняющиеся в системе. Они могут выполняться как в интерактивном, так и в фоновом режиме, но в любом случае время их жизни и выполнения ограничено сеансом работы пользователя. При выходе из системы все пользовательские процессы будут уничтожены.
Идентификаторы- шестнадцатиразрядные числа, назначенные последовательно по мере создания процесса.
У всякого процесса есть родительский процесс, за иск. init. К атрибутам так же относится идентификатор родительского процесса PPID,приоритет процесса (NN),реальный идентификатор пользователя процесса (RID),эффективный идентификатор пользователя процесса(EUID),терминальная линия(TTI) реальный идентификатор группы(RGID), эффективный идентификатор группы(EGDI).