Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety k gosam.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать
☆

3. Дать понятия термину «конструктор» и «деструктор».

конструктор (от слова construct — создавать) – это специальный метод класса, который предназначен для инициализации элементов класса некоторыми начальными значениями.

деструктор (от слова destruct — разрушать) — специальный метод класса, который служит для уничтожения элементов класса. Чаще всего его используют тогда, когда в конструкторе,при создании объекта класса, динамически был выделен участок памяти и необходимо эту память очистить, если эти значения уже не нужны для дальнейшей работы программы.

В4: Перечислите существующие операции над семафорами.

Семафоры представляют собой доступные ресурсы, которые могут быть приобретены несколькими потоками в одно и то же время, пока пул ресурсов не опустеет. Тогда дополнительные потоки должны ждать, пока требуемое количество ресурсов не будет снова доступно. Семафоры очень эффективны, поскольку они позволяют одновременный доступ к ресурсам. Семафор есть логическое расширение мьютекса - семафор со счетчиком 1 эквивалентен мьютексу, но счетчик может быть и более 1.

Операции с семафорами: Инициализация, Увеличение на 1, Ждать пока счетчик станет больше 0, после этого уменьшить счетчик на единицу.

Семафор — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено ЭдсгеромДейкстрой.Семафор — это объект, с которым можно выполнить три операции.

1) init(n):

счётчик := n

2) enter():

ждать пока счётчик станет больше 0; после этого уменьшить счётчик на единицу.

3) leave():

увеличить счётчик на единицу.

Пример: Не более пяти потоков могут одновременно выполнять функцию DoSomething().

semaphore.init(5);

.....

voidDoSomething( void )

{

semaphore.enter();

.......

semaphore.leave();

}

Билет 27

В1: Структурная схема RS232C

RS-232С предназначен для подключения аппаратуры, которая принимает и передает данные к аппаратуре каналов данных.(между модемом и компьютером).

Полная схема соединения ПК и модема

Упрощенная схема интерфейса RS-232C

Сигналы стандарта:

  1. DCD –несущая обнаружена – вход

  2. Принимаемые данные RD – вход

  3. Передаваемые данные TD - выход,

  4. Готовность выходных данных (терминала) DTR- выход,

  5. Сигнальное заземление SG,

  6. Готовность данных (модема) DSR - вход,

  7. Запрос на передачу данных RTS - выход,

  8. Разрешение для передачи CTS - вход,

  9. Индикатор вызова RI – вход

UART – универсальный асинхронный приемопередатчик.

м/с1 – м/с9 – для преобразования TTL – логики в логику RS-232С и наоборот.

Основные функции UART:

  1. Преобразовывать параллельный код в последовательный при передаче и наоборот – при приеме байта;

  2. Формирование старт-бита, стоп-бита и паритета при передаче и контроль и отсечение служебных битов при приеме.

  3. Организация приема и передачи данных на заданной частоте;

  4. Организация и контроль всех управляющих сигналов интерфейса.

В2: Что представляет собой таблица замен в ГОСТе.

ГОСТ – отечественный стандарт шифрования данных. В ГОСТе существует несколько уровней. На самом верхнем находятся алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на 3 алгоритма низшего уровня, которые будем называть базовыми циклами: цикл зашифрования 32-З, цикл расшифрования 32-Р, цикл выработки имитовставки 16-З. В свою очередь они все представляют собой многократное повторение одной единственной процедуры – «основной шаг криптопреобразования». Ключ является массивом из 8 32-битных элементов кода. Таким образом, общий размер ключа 256 бит = 32 байта. Таблица замен является матрицей 8*16. Каждый элемент матрицы имеет размер 4 бита. Строки таблицы – узлы. Каждый узел должен содержать 16 различных чисел от 0 до 15 в произвольном порядке.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

1

3

5

7

2

4

9

10

6

11

14

(8)

12

15

0

13

1

0

1

3

2

5

7

9

(11)

15

14

13

6

4

10

8

12

2

5

2

1

11

13

7

(3)

…

7

Основной шаг криптопреобразования: ГОСТ работает с блоком данных, длина которого 64 бита. Он делится на младшую часть и старшую. 1) Сложение с ключом. Младшая половина блока складывается по модулю 232 с используемым ключом. 2) Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из 8 4-битовых блоков кода. Далее значение каждого из 8 блоков заменяется на новое, которое выбирается по таблице замен следующим образом: в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки = номеру заменяемого блока и номером столбца = значению заменяемого блока как 4-битового целого неотрицательного числа.

1011(11) 0111(7) 0110(6) …

1000(8) 1011(11) 0011(3) …

3) Циклический сдвиг на 11 бит влево. 4) Побитовое сложение. Значение, полученное на шаге 3 складывается побитно по модулю 2 со старшей половиной. 5) Сдвиг по цепочке. Младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.

В3: Архитектура UNIX. Организация ядра UNIX. Характеристика основных подсистем.

Двухуровневая архитектура. В центре находится ядро системы (kernel). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные и системные программы от особенностей ее архитек­туры. Ядро имеет набор услуг, предоставляемых прикладным программам. К услугам ядра относятся: операции ввода вывода (открытия, чтения, записи и управления файлами), соз­дание и управление процессами, их синхронизации и взаимодействия. Все приложения запрашивают услуги у ядра посредством системных вызовов.Второй уровень составляют приложения или задачи, как системные, так и прикладные, обеспечивающие пользовательский ин­терфейс UNIX.Одно из основных достижений ОС UNIX состоит в том, что система обладает свой­ством высокой мобильности. Смысл в том, что вся операционная система, включая ядро, просто переносится на различные аппаратные плат­формы. Все части системы, не считая ядра, являются полностью машинно-независимыми. Эти компоненты аккуратно написаны на языке Си, и для их переноса на новую платформу требуется только перекомпиляция исходных текстов в коды целевого компьютера. В самом ядре можно выделить машинно-зависимые и машинно-независимые компоненты. Основная часть ядра не зависит от архи­тектурных особенностей целевой платформы. Однако сравнительно небольшая часть ядра является машинно-зависимой и напи­сана на языке ассемблера целевого процессора. При переносе системы на новую платформу требуется переписывание этой части ядра с использованием языка ассемблера и учетом специфических черт целевой аппаратуры. Машинно-зависимая часть традиционного ядра ОС UNIX включает следующие компоненты: раскрутка и инициализация системы на низком уровне (пока это зависит от особенно­стей аппаратуры);первичная обработка внутренних и внешних прерываний; управление памятью (в той части, которая относится к особенностям аппаратной под­держки виртуальной памяти); переключение контекста процессов между режимами пользователя и ядра; связанные с особенностями целевой платформы части драйверов устройств.

Ядро состоит из трех основных подсистем:Файловая подсистема, Подсистема управления процессами и памятью, Подсистема ввода/вывода.

Функции ядра ОС UNI: Инициализация системы − функция запуска и раскрутки. Ядро системы обеспечивает средство раскрутки (bootstrap). Управление файлами − функция, реализующая абстракцию файловой системы, - иерархии каталогов и файлов. Файловые системы ОС UNIX поддерживают несколько типов файлов. Файлы обычно хранятся на устройствах внешней памяти; доступ к ним обеспечивается средствами ядра. Управление процессами и нитями − функция создания, завершения и отслеживания существующих процессов и нитей. Обмен данными (коммуникационные средства) − функция, обеспечивающая возможности обмена данными между процессами. Управление памятью − функция отображения практически неограниченной виртуальной памяти процессов в физическую оперативную память компьютера, которая имеет ограниченные размеры. Программный интерфейс − функция, обеспечивающая доступ к возможностям ядра со стороны пользовательских процессов на основе механизма системных вызовов, оформленных в виде библиотеки функций.

Файловая подсистема управляет файлами, размещает записи файлов, управляет свободным пространством, доступом к файлам и поиском данных для пользователей. Процессы взаимодействуют с подсистемой управления файлами, используя специальные обращений кОС (open(), close(), read(), write(), stat(), chown() и chmod()).Важной функцией файловой подсистемы в UNIX является контроль прав доступа к файлам и каталогам. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы, права доступа к файлам определяют привилегии пользоателя в системе.

Подсистема управления процессамиотвечает за синхронизацию процессов, взаимодействие процессов, распределение памяти и планирование выполнения процессов.

Подсистема управления процессами контролирует:Создание и удаление процессов.Распределение системных ресурсов (памяти, вычислительных ресур­сов) между процессами.Синхронизацию процессов.Межпроцессное взаимодействие.

Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач. В случае если для всех процессов недостаточно памяти, ядро перемещает части процесса или нескольких процессов во вторичную память (область жесткого диска), освобождая ресурсы для выполняющегося процесса. Управление виртуальной памятью процесса также входит в задачи модуля управления памятью.

Подсистема ввода-вывода выполняет запросы подсистем к периферийным устройствам. Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств – специальными модулями ядра, непосредственно обслуживающими внешние периферийные устройства.

В4: Что такое нормальная дизъюнктивная форма алгебры логики.

Простой конъюнкцией или конъюнктом называется конъюнкция некоторого конечного набора переменных или их отрицаний, причём каждая переменная встречается не более одного раза.

Дизъюнктивной нормальной формой или ДНФ называется дизъюнкция простых конъюнкций. Элементарная конъюнкцияправильная, если в неё каждая переменная входит не более одного раза (включая отрицание);полная, если в неё каждая переменная (или её отрицание) входит ровно 1 раз;монотонная, если она не содержит отрицаний переменных.

Например    — является ДНФ.

Совершенной дизъюнктивной нормальной формой или СДНФ относительно некоторого заданного конечного набора переменных называется такая ДНФ, у которой в каждую конъюнкцию входят все переменные данного набора, причём в одном и том же порядке. Например:  .

Билет 28

В1: Статический D-триггер

Триггеры самые простейшие из последовательностных устройств, но они являются основой для построения более сложных последовательностных устройств. Триггер ─ устройство, имеющее два устойчивых состояния и соответственно два выхода, обозначаемые Q и . При нормальной работе устройства выходы должны находиться в противоположных состояниях, т.е. если Q=1, то =0.

таблица состояний

D

C

Q

Режим

0

0

Q(t-1)

(t-1)

Хранение

1

0

Q(t-1)

(t-1)

Хранение

0

1

0

1

Запись ”0”

1

1

1

0

Запись “1”

Основой для построения схемы D триггера является асинхронный RS триггер (3 и 4 элементы). На 1 и 2 элементах собрана схема управления (входная логика), имеется два входа: D -- информационный вход, С -- вход синхронизации. Входные элементы -- 2И-НЕ и поэтому, когда С=0 А=В=1 независимо от состояния переменной D, а это режим хранения для RS триггера на 3 и 4 элементах. Как видно из таблицы состояний D триггера в отличие от ранее рассмотренных схем у этого триггера отсутствует запрещенное состояние, при С=0 не зависимо от значения D триггер находится в режиме хранения, при С=1 выходная переменная Q повторяет все изменения входной переменной D. Запоминается та информация которая была на входе в момент перехода С из единичного в нулевое состояние. Поэтому часто этот триггер называют D триггер - защелка.

В2: Техническая реализация и конструктивное исполнение коммутаторов.

Многопортовый коммутатор работает как многопортовый мост, то есть работает на канальном уровне, анализирует заголовки кадров, автоматически строит адресную таблицу и на основании этой таблицы направляет кадр в один из своих выходных портов или фильтрует его, удаляя из буфера.

Отличие коммутаторов от мостов заключается в параллельной обработке поступающих кадров. Для этого коммутатор должен иметь несколько внутренних процессоров для обработки кадров, каждый из которых выполняет алгоритм моста. Коммутатор предоставляет каждой станции или сегменту, подключенным к его портам, выделенную пропускную способность протокола.Современные коммутаторы строятся на основе одной или нескольких специализированной БИС.

Неблокирующий режим в коммутаторах обеспечивается за счет быстродействующего узла для передачи кадров между микропроцессорами портов.

В основе такого узла может использоваться: • коммутационная матрица; • разделяемая многовходовая память; • общая шина.В одном коммутаторе возможна комбинация этих трех принципов построения быстродействующего узла.

Коммутаторы с общей шиной. Высокоскоростная шина связывает процессоры портов в режиме разделения времени. Условие неблокирующего режима: производительность шины должна быть не менее суммы производительностей всех портов коммутатора. Кадр передается по шине небольшими частями – ячейками, чтобы обеспечить псевдопараллельный режим. Размер ячейки часто выбирается 48 байт (как в ATM). Входной блок процессора помещает в ячейку тэг (номер порта назначения). Каждый выходной блок имеет фильтр тэгов, который отбирает только нужные тэги.

с общей шиной

с разделяемой памятью

Коммутатор с разделяемой памятью. Память имеет переключаемые входы и выходы. Входные блоки

процессоров передают менеджеру портов запросы на запись данных в очередь того порта, который соответствует адресу назначения пакета.

Три основных варианта конструктивного исполнения:

• автономные коммутаторы с фиксированным количеством входов;

• модульные коммутаторы на основе шасси;

• коммутаторы с фиксированным количеством входов, собираемые в стек.

Модульные коммутаторы на основе шасси используются, как правило, на магистрали сети. Эти коммутаторы имеют комбинированную схему, в которой модули взаимодействую через общую шину или разделяемую память. Шасси имеет резервные блоки питания и вентиляторы.

Стековые коммутаторы выполнены в отдельном корпусе и поэтому могут работать автономно. Однако в них предусмотрены специальные интерфейсы, которые позволяют объединять их в систему.Скорость передачи между модулями ограничена 200-400 Мбит/с из-за того, что расстояние между корпусами коммутаторов больше, чем между модулями на шасси. Стековые коммутаторы применяются для создания рабочих групп и отделов.

В3: Модели данных. Их связь с этапами проектирования БД. Классификация моделей данных.

Понятие «данные» - это набор конкретных значений, параметров, характеризующих объект, условия, ситуацию или любые другие факторы.

Модель данных – некоторая интерпретация данных, которая позволяет пользователям и разработчикам трактовать их как сведения, имеющие структуру, т.е. не только данные, но и взаимосвязь между ними.

Модели данных:

1) Инфологические модели (семантические, концептуальные) – отображают в естественной форме предметный уровень абстрагирования, связанный с описанием объектов предметной области, их свойств и взаимосвязей.

2)Даталогические модели (логические), делятся на документальные (соответствуют представлению о слабоструктурированной информации, ориентированной на свободные форматы документов) и фактографические (иерархическая, сетевая, реляционная).

3) Физические модели (размещение данных на физических носителях): основанные на файловых структурах и на странично-сегментной организации.

Основные этапы проектирования БД:

1) Системный анализ и словесное описание информационных объектов предметной области.

2) Проектирование инфологической модели предметной области (концептуальное).

3) Выбор СУБД.

4) Логическое проектирование (даталогическое), т.е. описание БД в терминах принятой даталогической модели данных, связанной с выбранной СУБД.

5)Физическое проектирование БД, выбор наилучшего размещения БД на носителях для обеспечения эффективной работы.

В4: Задайте функцию алгебры логики числовым способом.

Способы задания функции алгебры логики: табличный (таблица истинности), графический, аналитический (дизъюнкция, конъюнкция, отрицание), числовой.

Всякому набору х1,х2,…,хm, представляющему двоичное число, соответствует десятичное число. Если функция на определенных наборах принимает значение 1, то ФАЛ задается в виде множества десятичных чисел, соответствующих этому набору.Пример: Пусть ФАЛ принимает значение «1» при следующих наборах переменных х1, х2, х3, х4: 0011, 1010, 0110, 1100. Тогда ФАЛ числовым способом будет задана в виде множества f={3, 6, 10, 12}.

Билет 29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]