
- •Дисциплина «Системное программирование» Теоретические вопросы
- •Операционные системы: история
- •Системные вызовы управления терминалом
- •Операционные системы: назначение и основные функции
- •Управление процессами в операционных системах
- •Конкуренция процессов
- •Базовые примитивы доступа к файлам
- •Файлы с несколькими именами
- •Каталоги, файловые системы и специальные файлы
- •Базовые примитивы для работы с процессами.
- •Обработка сигналов в unix Нормальное и аварийное завершение
- •Примитивы межпроцессного взаимодействия: программные каналы.
- •Дополнительные средства межпроцессного взаимодействия в unix.
- •14. Напишите аналог команды ls –l
- •15. Напишите «часы», выдающие текущее время каждые 3 секунды
- •16. Напишите программу, которая ожидает ввода с клавиатуры в течение 10 секунд.Если ничего не введено – печатает «Нет ввода», иначе – «Спасибо».
- •17. Используя файловую систему /proc, получите информацию об открытых всеми процессами файлах
- •18. Напишите функцию mysleep(n), задерживающую выполнение программы на n секунд.
- •19. Составьте программу вывода строк файла в инверсном отображении
- •20. Создайте аналог команды df
- •21. Напишите программу создания и записи образов дискет
- •22. Напишите функции включения и выключения режима эхо-отображения набираемых на клавиатуре символов
- •23. Напишите программу для запуска команды ls в качестве дочернего процесса
- •24. Создайте два процесса, взаимодействующих через программный канал.
- •25.Создайте аналог команды sync
- •Понятие алгоритма. Свойства, способы задания, основные структуры алгоритма. Понятие о структурном подходе к разработке алгоритма.
- •Алгоритмическая структура цикл. Типы циклов. Способы управления циклами. Итерационные циклы. Простые и вложенные циклы.
- •Типы данных в языке Паскаль. Действия над ними. Стандартные типы данных и типы пользователя.
- •Операторы циклов в языке Паскаль. Примеры использования.
- •Цикл с предусловием
- •5.Условный оператор и оператор выбора вариантов в языке Паскаль. Структурная схема. Примеры использования.
- •6 Структурные типы данных. Массивы. Записи, вариантные, вложенные.
- •7.Обработка строковых данных в Паскале. Особенности использования.
- •8.Процедуры и функции в Паскале. Особенности использования.
- •Стандартные файлы и файлы пользователя в Паскале. Типы файлов. Процедуры и функции для работы с файлами.
- •10.Прямая и косвенная рекурсия. Особенности использования.
- •11.Структура языка Паскаль. Структура программ на языке Паскаль.
- •Модульное программирование. Стандартные модули. Назначение и использование.
- •Образцы решений задач
- •1. Написать программу для вычисления функции:
- •2. Сформировать двухмерный массив, состоящий из n X n элементов.
- •5. Задан текст s. Сколько раз в тексте встречается заданное слово (слова разделены пробелами)
- •Дисциплина «Основы баз данных и знаний»
- •1. Архитектура бд. Понятие 3-вой архитектуры бд. Ее преимущества. Внешний уровень. Концептуальный уровень. Внутренний уровень.
- •2. Классификация моделей данных.
- •3. Иерархическая модель. Преимущества и недостатки иерархических структур.
- •4. Сетевая модель данных.
- •5. Реляционная модель данных.
- •6. Нормализация. Пять нормальных форм.
- •7. Физические модели бд.
- •8. Файловые структуры. Файлы прямого доступа. Файлы последовательного доступа.
- •9. Индексные файлы. Индексно-прямые файлы. Индексно-последовательные файлы.
- •10. Распределенные субд. Распределенная обработка данных. Параллельные субд.
- •11. Преимущества и недостатки сурбд.
- •12 Правил Дейта для сурбд.
- •12. Объектно-ориентированные субд. Требования к оосубд.
- •13. Объектно-реляционные субд.
- •14. Структура языка sql.
- •15. Типы данных языка sql.
- •16. Создание схем, бд, таблиц операторами языка sql.
- •17. Индексация в субд. Типы индексов. Создание и удаление индекса операторами языка sql.
- •18. Редактирование данных в таблице бд операторами языка sql.
- •19. Построение запросов операторами языка sql.
- •20. Понятие агрегирующих функций.
- •21. Объединение таблиц. Построение многотабличных запросов операторами языка sql.
- •22. Субд Access. Понятия таблицы, запроса, формы, отчета, макроса.
- •Примеры решений задач
- •Дисциплина «Организация и функционирование эвм»
- •Характеристики жесткого диска.
- •2.Структура дискового сектора. Коды исправления ошибок ecc.
- •3.Назначение коэффициента чередования секторов и коэффициента перекоса головки.
- •4.Сравнительная характеристика интерфейсов жестких дисков.
- •5.Позиционирование магнитной головки. Виды сервосистем.
- •6.Кэширование диска. Виды кэша. (Кэш считывания, кэш со сквозной записью, кэш с отложенной записью и элеваторный кэш).
- •7.Форматирование жесткого диска. Физическое форматирование. Организация разделов на жестком диске.
- •8.Логическое форматирование. Таблица размещения файлов, ее виды.
- •9. Основная оперативная память. Динамическая память, принцип действия запоминающих ячеек. Архитектура динамической памяти, виды сигналов.
- •Типы динамической памяти. Асинхронная, синхронная память.
- •Модули памяти. Организация банков памяти.
- •12.Статическая память, ее разновидности. Кэш-память. Первичный и вторичный кэш.
- •13.Энергонезависимая память, типы памяти. Флэш-память.
- •14.Логическая структура памяти пэвм.
- •15.Сравнительная характеристика видов оптических дисков.
- •16.Сравнительная характеристика видов мониторов.
- •17.Текстовый и графический режим работы монитора. Формирование цвета.
- •18.Сравнительная характеристика видов принтеров.
- •«Теория автоматического управления»
- •Классификация сау
- •Связь входа и выхода. Способы построения моделей. Переходная функция и импульсная характеристика.
- •Типовые звенья линейных систем (усилитель, апериодическое звено, интегрирующее звено, колебательное звено, звено запаздывания).
- •4. Типовые звенья линейных систем (усилитель, апериодическое звено, интегрирующее звено, колебательное звено, звено запаздывания).
- •5. Частотные характеристики. Понятие лачх и лфчх.
- •6. Логарифмические частотные характеристики типовых линейных звеньев.
- •7. Структурные схемы и правила их преобразования.
- •8. Требования к системам автоматического управления (перечислить). Понятие точности управления.
- •9. Частотные критерии устойчивости. Критерий Найквиста.
- •10. Алгебраические критерии устойчивости. Критерий Гурвица. Критерий Вишнеградского.
- •11. Оценка качества системы. Запасы устойчивости.
- •12. Синтез регуляторов. Задачи синтеза
- •13. Синтез линейны непрерывных сау. Коррекция сау
- •14. Разновидности и свойства сау в зависимости от параметров синтеза.
- •15. Приведение задач тау к нулевым начальным условиям. Линеаризация математического описания системы.
- •16. Математические модели. Способы их построения. Линейность и нелиней-ность систем и моделей.
- •17. Преобразование произвольного сигнала линейным звеном
- •18. Интегральные оценки качества переходных процессов: линейные, квадра-тичные.
- •19. Типовые линейные законы регулирования. Виды регуляторов.
- •20. Расчет оптимальных параметров настройки регуляторов.
- •8.Характеристическое уравнение замкнутой системы
Управление процессами в операционных системах
Важнейшей частью операционной системы является подсистема управления процессами. Процесс - абстракция, которая описывает выполняющуюся программу. Процесс создается ядром ОС в котором создается программа.
Модем процесса включает в себя: 1) код программы; 2) секцию данных, хронящие глобальную переменную; 3) стек процесса, хранящий временные переменные, параметры процедур и адреса возврата; 4) текущую активность процесса.
Состояние процессов
В многозадачной системе процесс может находиться в одном из трех основных состояний:
НОВЫЙ – процесс находится в операционной памяти, но еще не начал свою работу.
ГОТОВНОСТЬ - пассивное состояние процесса, процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы и готов выполняться, но он занят выполнением другого процесса.
ПРИОСТАНОВКА – заблокированный процесс, временно выгружается из памяти для освобождения ее новому процессу.
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов. Системные вызовы.
Fork – Используется для создания нового процесса, дублирующего вызывающий. Вызов fork: Копирует з сигмента (кода) пользовательских и системных данных без инициализации из програм. Новый процесс является копией адресного пространства родителя, следовательно, оба процесса продолают выполняться с инструкции, следующей за fork. В потомке fork возвращает 0, а в родителе – № потомка.
Clone –
Exec – вызывается после fork для замены дочернего процесса новой программы. Новая программа перекрываеи память работающего процесса. Перекрывший процесс инициализируется из указанной программы и начинае выполняться сначала.
Exit – Используется для завершения процесса.
Signal – набор библиотечных функций (например: сигнал прерывания, управляющий реакцией процесса на не ожидание события).
Abort – прерывание процесса.
Brk – изменяет размер и положение сигмента данных процесса.
Конкуренция процессов
Конкуренция процесса связана с :
многозадачность (выполнение нескольких процессов на одном устройстве);
разделение физических ресурсов;
разделение логических ресурсов;
скорость выполнения;
требования реального времени к …….в-в.
Критическая секция – участок кода, модифицирующий некоторые ресурсы, требующий монопольного доступа (возникает критическая ситуация).
Семафор – может рассматриваться как целочисленная переменная, для которой определены следующие операции:
р(sem) или wait (sem)
if(sem !=0)
уменьшить sem на единицу
else
ждать, пока sem не станет ненулевым, затем вычесть единицу
v(sem) или signal(sem)
увеличить sem на единицу
if(очередь ожидающих процессов не пуста)
продолжить выполнение первого процесса в очереди ожидания
Обратите внимание, что обозначения р и v происходят от голландских терминов для понятий ожидания (wait) и сигнализации (signal), причем последнее понятие не следует путать с обычными сигналами UNIX.