
- •А. Аппаратное обеспечение компьютеров
- •1. Раздел "Основы теории компьютеров"
- •2. Минимизация булевых функций с помощью диаграмм Вейча.
- •3. Определение и применение базиса при построении произвольных функций алгебры-логики.
- •4. Сложение и вычитание чисел с фиксированной запятой.
- •5. Умножение чисел с плавающей запятой.
- •6. Форматы команд.
- •7. Схема выполнения машинной двухадресной команды типа "Регистр-память" на однопроцессорном компьютере.
- •8. Схема выполнения машинной двухадресной команды типа "Регистр-регистр" на однопроцессорном компьютере.
- •2. Раздел "Архитектура вычислительных систем"
- •1. Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти.
- •2. Архитектура кэш-памяти. Прямое распределение (отображение) информации в кэш-памяти.
- •3. Архитектура векторного блока супер-ЭВМ CYBER-205. Особенности её конвейеров, обеспечивающие механизм "зацепления команд".
- •4. Векторные процессоры: структура аппаратных средств.
- •5. Пять основных архитектур высокопроизводительных ВС, их краткая характеристика, примеры.
- •6. SMP архитектура. Достоинства и недостатки. Область применения, примеры ВС на SMP.
- •7. MPP архитектура. История развития. Основные принципы. Концепция, архитектура и характеристики суперкомпьютера Intel Paragon.
- •8. Кластерная архитектура. Проблема масштабируемости. Примеры.
- •10. Понятие конвейера. "Жадная" стратегия. Понятие MAL в теории конвейера.
- •3. Раздел "Схемотехника ЭВМ"
- •1. Этапы проектирования комбинационных схем на примере дешифратора на 4 выхода: определение, таблица истинности, функция, логическая схема. Увеличение разрядности до 16-ти выходов.
- •2. Этапы проектирования комбинационных схем на примере мультиплексора 4-1: определение, таблица истинности, функция, логическая схема. Увеличение разрядности до 16-1.
- •3. Этапы проектирования комбинационных схем на примере схем сравнения двухразрядных слов: определение, таблица истинности, функция, логическая схема. Схема сравнения четырёхразрядных слов на элементах "Исключающее ИЛИ".
- •6. Синтез многовыходных комбинационных схем. Этапы проектирования в базисе И-НЕ.
- •7. Триггерные схемы: определение, классификация, условные графические обозначения, динамические параметры. Обобщённая структура двухступенчатого триггера, диаграмма его работы, условное графическое обозначение, динамические параметры.
- •8. Синтез двухступенчатого триггера по заданной таблице внешних переходов: таблица истинности, минимизация, схема. Построить временную диаграмму для двух переключений триггера, определить максимальные задержки переключений.
- •9. Счётчики: определение, модуль счётчика, динамические параметры. Примеры суммирующего, вычитающего и реверсивного счётчиков: схемы, временные диаграммы.
- •10. Счётчики: определение, модуль счётчика. Организация цепей переноса: схемы, динамические параметры. (CP)
- •11. Синтез синхронных счётчиков с заданным модулем на заданном типе триггера (DV, JK).
- •Б. Программное обеспечение компьютеров
- •4. Раздел "Алгоритмы и структура данных"
- •1. Понятие логических структур данных. Отображение структуры данных в памяти вектором и списком. Типы списков. Определение, основные операции; особенности их реализации.
- •2. Стек и очередь: определение, основные операции. Особенности выполнений операций при реализации стека и очереди вектором.
- •3. Стек и очередь: определение, основные операции. Особенности выполнения операций при реализации стека и очереди списком.
- •4. Просматриваемая динамическая таблица-вектор: определение, основные операции, особенности их реализации.
- •5. Просматриваемая динамическая таблица-список: определение, основные операции, особенности их реализации.
- •6. Упорядоченная таблица-вектор: определение, основные операции, особенности их реализации.
- •7. Таблица произвольного доступа: определение, основные операции, отображение в памяти. Функция рандомизации, её назначение.
- •9. Перемешанная таблица, использующая перемешивание сложением: определение, основные операции, особенности их реализации.
- •10. Перемешанная таблица, использующая перемешивание сцеплением: определение, основные операции, особенности их реализации.
- •5. Раздел "Базы данных"
- •1. Системы с базами данных. Понятие системы управления базами данных СУБД. Функции СУБД.
- •2. Понятие независимости от данных. Трёхуровневая архитектура ANSI-SPARC. Сравнительная характеристика уровней.
- •3. Модель данных. Назначение моделей данных. Компоненты моделей данных. Классификация моделей данных.
- •5. База данных реляционного типа. Основные понятия и структура реляционной модели. Реляционные языки. Основные правила целостности реляционной модели.
- •6. Реляционная алгебра. Основные операции реляционной алгебры.
- •7. Язык SQL. Операторы определения и манипулирования данными. Выборка данных из таблиц.
- •8. Модель данных "сущность-связь". Основные концепции и способы их представления на диаграммах. Современные методологии построения моделей "сущность-связь".
- •9. Нормализация отношений. Цель нормализации. Приведение к нормальным формам.
- •10. Жизненный цикл приложения баз данных. Основные фазы проектирования базы данных.
- •6. Раздел "Операционные системы"
- •1. Файловые системы современных операционных систем. Интерфейс пользователя для работы с файловой системой.
- •2. Принцип защиты данных в операционных системах. Управление правами доступа к файлам.
- •3. Способы группирования команд в операционных системах. Командные файлы. Программные каналы, конвейеры команд.
- •4. Обзор возможностей командных процессоров (оболочек) операционных систем.
- •5. Принципы организации многозадачного режима в операционных системах.
- •6. Коммуникационные средства многопользовательских операционных систем.
- •7. Генерация, конфигурирование, настройка операционной системы на потребности конкретного пользователя.
- •8. Средства и способы обеспечения многопользовательского режима в операционных системах.
- •9. Понятие процесса. Управление процессами в операционной системе UNIX.
- •10. Понятие программного канала. Средства управления программными каналами.

Замечание: файл-приёмник, куда записывается архив, не должен быть п |
риборным |
файлом. |
|
Команда cpio: |
|
Восстановление из архива, причём архив читается со стандартного вывода: |
|
cpio -o [cvx] |
|
Команда обеспечивает генерацию (создание) архива, при этом список файлов читается со стандартного ввода, а сам архив пишется на стандартный вывод:
cpio -i [cdmtuvx]
Значение ключей:
•o - создание резервной копии; чтение из стандартного ввода и копирование файла в стандартный вывод
•i - восстановление резервной копии; чтение из стандартного ввода и восстановление данных на диске.
•c - пишется заголовок в формате ASCII.
•d - создаётся в нужном виде структура каталога.
•t - выводится таблица, описывающая содержимое архива.
•u - осуществляется безусловное восстановление (перезапись содержимого).
•v - выводится список скопированных файлов
•x - обрабатываются специальные приборные файлы.
Создание резервной копии файлов текущего каталога (точка после find обозначает
текущий каталог) - ?:
$find . |cpio -ocv >/dev/rmt/0m
5) Ведение системного журнала:
При работе системы администратор обязан следить за памятью и числом процессов в системе ( ≤ 300 00)
Системный журнал расположен в файле /usr/adm/wtmp. В него заносится информация о входе пользователей в систему и о выполняемых командах. Периодически этот файл администратор очищает.
8. Средства и способы обеспечения многопользовательского режима в операционных системах.
для этого в UNIX имеется:
•Система разделения времени
•Многотерминальная система
•Единая структура задач
•Древовидная файловая система и защита файлов и каталогов пользователя
Файловая система
Так как. система многопользовательская, то необходимо обеспечить работу системы из единого центра. Такой контроль легко осуществить при наличии иерархической древовидной файловой системы
Как и в любой другой многопользовательской ОС, обеспечивающей защиту пользователей друг от друга и защиту системных данных от любого непривилегированного пользователя, в ОС UNIX имеется защищенное ядро, которое управляет ресурсами компьютера и предоставляет пользователям базовый набор услуг.

Конечно, не менее важно (а на самом деле, существенно более важно) защищать саму операционную систему от возможности ее повреждения каким бы то ни было пользовательским процессом. В ОС UNIX это достигается за счет того, что ядро системы работает в собственном "ядерном" виртуальном пространстве, к которому не может иметь доступа ни один пользовательский процесс.
9. Понятие процесса. Управление процессами в операционной системе UNIX.
(ОС, Лекция 15.09.2003)
Процесс - это совокупность программ и данных, которые обрабатываются на некотором процессоре. Процессы иногда называют "задачами".
Управление процессами входит в основные функции ядра ОС (создание и уничтожение процессов, переключение процессов). Процесс является базовым понятием в ОС UNIX - в ней реализован принцип разделения времени: управление процессами в соответствии с механизмами Time Slicing и наличием активных терминалов в системе (?).
Понятие процесса неотделимо от понятия ресурса. Ресурс - это любой объект, который может быть распределён и использован процессом в соответствии с алгоритмом этого процесса.
К ресурсам относятся:
1.аппаратура (устройства, память, линии связи и т.п.);
2.структуры данных и процедуры;
3.сообщения.
Выделяют 2 категории ресурсов системы:
•SR-ресурсы (повторно используемые ресурсы). После освобождения процессами возвращаются в систему в неизменном виде и, следовательно, могут использоваться повторно. Примеры:
o все аппаратные ресурсы;
o неизменяемые структуры данных;
o неизменяемые, реентерабельные (реентерабельность - один из экземпляров процедуры может одновременно использоваться в разных точках).
•CR-ресурсы. (потребляемые ресурсы; в систему не возвращаются). Пример:
o изменяемые структуры данных o все сообщения и сигналы
По отношению к потребляемым ресурсампроцесс может выступать:
•как производитель
•как потребитель
Пример: выборка сигнала (производитель) —> приём сигнала (процесс-потребитель). Взаимодействие процесса производителя и процесса-потребителя требует их синхронизации.
Управление процессами:
Управление процессами осуществляется в соответствии с диаграммой состояния процесса, которая представляется следующим графом:

Любое событие (ожидание) - это ожидание ресурса. Приостановка - внешнее вмешательство.
Управление процессами в операционной системе UNIX:
Процесс строится для каждой выполняемой прикладной или системной программы, является единицей вычислительной работы и потребления ресурсов, выполняется в своем собственном виртуальном адресном пространстве.
Для управления процессами система при порождении процесса присваивает ему уникальный номер - идентификатор процесса (PID), который представляет собой положительное число в диапазоне 0 - 30000.
Процессы описываются структурами ядра (список описателей всех процессов):
•Идентификатор (ID) процесса
•ID родителя процесса
•Поле состояния
•Текущий размер процесса
•Идентификатор групп
•Пользовательский идентификатор (идентификатор создателя)
•Дескриптор события (для выхода из состояния сна)
•Параметры планирования для определения перехода процесса из состояния "Готов" к запуску в состояние"Выполняется в режиме ядра"
•Таймеры для вычисления различных времен
•Поля сигналов, посланных процессу, но еще не обработанных
•Поля ошибок, имевших место при выполнении системных вызовов
•Поле возвращаемых системной функцией значений

Выполняться в текущий момент может только 1 процесс (либо в режиме ядра, либо в пользовательском режиме (режиме задачи)).
Все остальные процессы системы находятся в состоянии сна, либо готовности выполнению.
Команды управления процессами в UNIX:
ps - команда для вывода информации об имеющихся процессах kill <pid> - выгрузка процесса
Управление процессами в системе Unix. (Лекция 03.03.2004):
Понятие процесса двойственно:
1.Управляющая программ, команда и пр.
2.структура данных, хранится в ядре и содержит сведения, необходимые для
выполнения процесса.
Каждому запущенному в системе процессу назначается уникальный числовой идентификатор PID (идентификатор процесса). При входе пользователя в систему запускается корневой процесс для данного терминала и далее все запущенные с данного терминала процессы являются наследниками терминального процесса. Вся система процессов в Unix имеет древовидную структуру. В корне этого дерева находится процесс, запускаемый при старте ОС. Вывести на экран поддерево процессов, относящихся к данному терминалу, можно с помощью команды ps. Она, в зависимости от используемых опций, дает возможность получить краткую или полную информацию о всех процессах, связанных с сеансом работы данного пользователя.
ps [elf] |
|
|
|
$ps |
|
|
|
pid |
tty |
time |
command |
1324 |
ttyp2 |
0:00 |
sh |
1387 |
ttyp2 |
0:00 |
ps |
Замечание.
Команда ps потребляет значительные ресурсы, это приводит иногда к существенной задержки ответа этой команды.
$ps –ef
UID |
PID |
PPID |
C |
STIME TTY |
TYME COMMAND |
такие опции позволяют получить наиболее полную информацию о процессах, запущенных не только с данного терминала, но и о других процессах в системе.
Различают процессы.
1.Оперативные процессы – запускаются последовательно и, как правило, реализуют последовательность выполняемых с данного терминала команд. Время ЦП делится между всеми активными процессами в соответствии с их приоритетами: каждому процессу выделяется определённый квант времени и частота и частота выделения этих квантов соответствует приоритету.
2.Фоновые процессы – используются для выполнения тех программ, которые не
должны быть жестко связаны с терминалом данного пользователя (вычислительные задачи и т.д.). Для запуска процесса в фоновом режиме в конце соответствующей командной строки указывается “&”.
Например:
$grep user *> grep.out & [1] 194
В ответ на запуск процесса в фоновом режиме система сообщает номер задания и PID процесса. Эта информация в дальнейшем используется для управления фоновым процессом. Если фоновый процесс содержит вывод, то информация будет выведена на экран терминала в произвольный момент времени, перемешиваясь с информацией от оперативных процессов. Чаще всего для устранения помех интерактивной работе вывод фонового процесса перенаправляют в файл.
Поскольку shell управляет стандартным вводом, процессы фонового режима не могут принимать входные данные со стандартного ввода, поэтому, если команда, выполняющаяся в фоновом режиме требует стандартного ввода, то она должна читать его из файла. (за счёт перенаправления ввода).
Когда команда переводится shell-ом в фоновый режим, shell будет сообщать номер задания и идентификатор процесса, если в команде set была установлена опция monitor. Номер задания [] идентифицирует фоновый процесс в рамках данного сеанса, а идентификатор процесса указывает уникальный номер процесса среди всех процессов системы Unix.
Примечание:
Так так команда, выполняемая в фоновом режиме, отсоединяется от клавиатуры её нельзя прервать обычным образом с помощью <ctrl-D>. Такие команды могут быть прекращены с помощью команды kill или выходом из системы.
Для выдачи информации о выполняемых в данном сеансе заданиях служит команда jpbs. (выводится список).
Команды:
fg [%номер] – переводит задание с указанным номером номером в оперативный режим bg [%номер] – переводит задание с указанным номером номером в фоновый режим
В некоторых случаях требуется продолжать фоновый процесс после выхода пользователя из системы. Для этих целей в командной строке выполняется префиксная команда nohup.
nohup <команда> &
В обычном режиме (без nohup) все фоновые процессы прерываются при выходе из системы. Если выход из системы производится из сеанса с nohup, то родительским процессом для фонового процесса считается процесс с идентификатором 1 (init).
Если при использовании nohup стандартный вывод не был перенаправлен, то команда nohup автоматически перенаправляет вывод в файл nohup.out в этот же файл помещается и стандартный протокол stderr, stdout.