
- •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. Ввод и вывод данных.
64 Организация автоматов с магазинной памятью.
Автомат в качестве рабочей памяти использует стек (магазин). Данная память поддерживает только ограниченные операции, но достаточные для распознавания цепочек. Автомат с магазинной памятью определяется 4 объектами:
конечным множеством входных символов, включающим концевой маркер -|;
конечное множество магазинных символов, включающее маркер на
;
конечное множество состояний, включающее входное состояние;
устройство управления, в котором каждая комбинация входного символа ставит в соответствие выход или переход.
Переход
в отличие от выхода заключается в
выполнении операции над магазином,
состоянием и входом. Операции запрашивают
входной символ после концевого маркера,
а также после операции выталкивания и
вталкивания. Начальное состояние
автомата содержит маркер на. Автомат с
магазинной памятью называется
распознаватель, если у него 2 выхода:
допустить или отвергнуть. Операции
в автомате. Поведение
автомата описывается его операциями
над входной цепочкой и стеком, а также
переходами из одного состояния в другое.
Операции над стеком: вытолкнуть из
стека, втолкнуть в стек (пример: вытолкнуть
1 символ и втолкнуть xyz
-
).
Переход из одного состояния в другое
указывается в [t].
Сдвиг входной головки задается операцией
сдвиг ->. Операция держать не изменяет
положения головки. Операция переход
или шаг- операция над стеком, входной
головкой и состоянием.
65 Распознаватель скобочных выражений.
Если входная головка читает, то из магазина выталкивается содержащийся символ. Цепочка отвергается, если на входе остаются правые скобки, а магазин пуст или входная головка прошла до конца, в стеке остался символ. Определим автомат так:
Множество входных символов: {(,),-|}
Множество магазинных символов: {A, }
Правила:
(,А,S=
A,S,->
(, ,S= A,S,->
),A,=
S,->
), ,S= отвергнуть
-|,A,S= отвергнуть
-|, ,S= допустить
В начальном состоянии магазин содержит маркер на.
Пример: Исходное данное (() ())
Номер шага Содержимое стека Остаток вход. цепочки №правила
1 (() ()) 2
2 А () ()) 1
3 АА ) ()) 3
4 А ()) 1
5 АА )) 3
6 А ) 3
7 -| Допустить
67 Основные команды Linux. Ввод и вывод данных.
Синтаксис многих команд предусматривает использование параметров довольно сложного формата, поэтому очень полезна команда man- полное описание команд и их параметров. Дополнительную информацию о команде- info имя команды.
Основные команды Linux:
а) Команды управления файлами
1)ls- список файлов текущего каталога
ls –al – список файлов текущего каталога с указанием размера, времени создания и изменения, имя владельца, таблица прав.
ls – aC – просмотр скрытых файлов.
ls – tC – сортировка по времени модификации, все вновь созданные файлы размещаются вначале списка.
2) cd [dir] – сменить текущий каталог
cd- переход в домашний каталог
cd файл1 файл2 – копировать файл
3) rm файл1- удалить файлы с указанными именами. Допускается символ * в задании имен.
4) mkdir [имя каталога ] – создать новый каталог
5) rmdir [имя каталога]- удалить пустой каталог
6) pwd- вывести имя текущего каталога
7) cmp [опц.] файл1 файл2- сравнить 2 файла.
б) Управление выводом на экран
cat [опц.] файл – выводит содержимое файла на экран.
more [опц.] файл – выводит стандартный входной поток на экран порциями по 24 строки.
less- выводит стандартный входной поток на экран порциями по 24 строки, имеет возможность прокрутки вверх и поиска.
head [-n] файл- просмотреть только начало n символов.
tail[-опц] файл- просмотреть коней, последние n строк
в) Поиск файлов
find имя каталога [-ключ] – поиск файла
ключи команды:
size [ размер]- поиск по заданному размеру
atime – поиск по последнему времени модификации.
г) Мониторинг системы
1)top- выдает непрерывно обновляемую таблицу всех задач, выполняющихся на компе, с указанием объёма используемых ресурсов.
2) ps- выводит информацию о существующих процессах.
ps –al- выводит список пользовательских процессов, запущенных в системе
ps –A- состояние всех процессов
3)who- выдает список пользователей, зарегистрированных в данный момент в системе.
Ввод и вывод данных осуществим с помощью команд:
read - позволяет считывать данные из консоли и файла, на который указывает файловый дескриптор.
write- запись данных в файл. Причем read и write- системные функции.
printf- вывод данных из файла. Библиотечная функция <stdio.h>