- •Кафедра автоматизації і комп’ютерних систем
- •Классификация архитектурных типов процессоров.
- •Традиционно машинный уровень.
- •Команды обращения к процедурам
- •Процедуры
- •Управление циклами
- •Представление данных
- •Управление процессами
- •Типы адресации
- •Поиск и сортировка
- •Сортировка данных
- •Межпроцессорное взаимодействие.
- •Критические области.
- •Методы синхронизации с пассивным ожиданием.
- •Решение задачи производительности потребителя с помощью мониторов.
- •Разработка систем с помощью передачи сообщений.
- •Классические проблемы межпроцессорного взаимодействия.
- •Планировщик процессов
- •Планирования в системах реального времени.
- •Организация виртуальной памяти.
- •Стратегии замещения страниц.
- •Алгоритм «2-я попытка»
- •Алгоритм «часы»
- •Алгоритм nfu (редко используемая страница)
- •Методы ускорения работы со страницами
- •Способы ассемблирования
- •Связывание программ
- •Структура объектного модуля
- •Атака системы безопасности
- •Принципы проектирования систем безопасности.
- •Аутентификация пользователей
- •Механизм защиты
- •Технические механизмы защиты
- •Защита информации при передаче
- •Основные понятия криптографии:
- •Криптографический протокол
- •Гибридные криптосистемы
- •Цифровая подпись
- •Сертификаты
- •Алгоритм des
- •Принципы аутентификации управления доступом
- •Аутентификация с использованием односторонних функций
- •Аутентификация по принципу "запрос-ответ"
- •Аутентификация управления доступом в Unix
- •Супер-пользователь Root
- •Теневые пароли
- •Поддержка возможностей в Linux.
- •Аутентификация.
- •Идентификаторы безопасности.
- •Одалживание прав.
- •Управление доступом Windows xp.
- •Аудит. Общие принципы.
- •Локальная безопасность.
- •Сетевая безопасность
Управление циклами
Циклы имеют несколько разновидностей, поэтому для их классификации есть ряд стандартных критерий:
По порядку проверки условий выполнения (с предусловием и постусловием). Цикл с пост условием выполняется не менее одного раза.
По характеру результата проверки. Цикл исполняется по истинному или ложному условию.
По параметричности. Параметрические и непараметрические.
Параметрические – это цикл, в котором определено заранее количество шагов (for).
Не параметрические – это while и for с нечетко определенными параметрами.
Представление данных
Целые числа – наиболее часто используемый тип данных. В стандарте Microsoft имеет стандарты:
Короткий целый – 1 байт;
Беззнаковый короткий целый – 2 байта;
Целый – 2 байта;
Целочисленный – 4 байта;
Длинный целый – 8 байт;
Числа с плавающей точкой – предназначены для представления очень больших, либо очень малых величин в прикладных программах. Различают с одинарной и двойной точностью.
Целочисленные:
ANSI C, Watcom C, gcc.
Логический тип. В С логическая переменная занимает 1 байт, но стандарт ANSI для контроллеров занимают 1 бит.
Стандарт ANSI подразумевает 0, 1 ложь, истина.
В Борланде 1 и -0.
Microsoft – TRUE=ff, FALSE = -1.
Символьный тип, можно отнести к целочисленному типу (байту), однако в этом случае данным содержащимся в ячейке символьного типа.
Указатель, также может быть отнесен к целочисленному типу, чаще к длинному целому. При этом данным хранящимся в ячейке типа указателя сопоставлена некоторая удаленная ячейка памяти. Различают безтиповые и типовые указатели.
Строки символов. Используются для хранения некоторой информации. Существует 2 способа хранения строк, символов:
В виде последовательных символов.
Преимущество: компактность.
В виде связного списка, возможно, также их комбинации.
Преимущество: легкость модификации.
Способ ускорения обработки последовательности символов это добавление в последовательность пустых байт, которые разбивают строку на короткие строчки. При редактировании такой строки в большинстве случаев сдвиг происходит в пределах этой короткой строки.
Массивы. Существует 2 способа хранения массивов независимо от их мерности.
С помощью информационных векторов, при этом способе массив независимо от его мерности раскладывается в одномерную последовательность данных.
Метод маргинального индексирования. При маргинальном индексировании формируется таблица символов, количество которых определяется как размерностью, так и мерностью массива.
Таблицы индексов могут быть иерархически связанными. Количество уровней иерархии определяется размерностью массива. Таблица символов иерархии включает в себя ссылки на таблицы низшего уровня иерархии.
Управление процессами
В многозадачных ОС процессы работают в квазипараллельном режиме. Для правильного распределения ресурсов между процессами используются различные стратегии планирования. Как правило, эти стратегии неразрывно связаны с организацией виртуальной памяти.
Изначально виртуальная память имела оверлейную организацию и называлась оверлейной памятью. При этом загрузку и выгрузку частей программного кода в оперативную память организовывал программист. Программа, размер которой изначально был больше размера оперативной памяти, разбивалась на модули, которые могли быть загружены в ОП целиком вместе с загрузчиком.
Чтобы освободить от необходимости заботится о загрузке программных модулей в ОС, была предложена концепция виртуальной памяти со страничной организацией. При этом любая программа разбивалась на конечное количество страниц самой ОС и загрузка оперативной памяти шла постранично.
Страница это единичный блок пространства виртуальных адресов. Единица виртуальной памяти соответствует названию станичный блок.
Подгруздка страницы памяти организуется в следствии страничного прерывания. В тот момент, когда программный код страницы оперативной памяти выполняется и требуется загрузка следующей страницы, возникает страничное прерывание.
Следует отметить что пределов оперативной памяти находится несколько страниц, кроме того, в оперативной памяти находится таблица страниц позволяющая преобразовывать виртуальные адреса страниц в реальные адреса.
Таблица страницы содержит начальный адрес страницы ОП который складывается с адресами команд программного кода реализованного в этой странице. Для ускорения работы со страницы в ОП либо в специальном контроллере либо средствами самого процессора организуются буфера быстрого преобразования адреса, который называется ассоциативной памятью, внутри которой происходит сложение виртуальных адресов с адресами страниц.
В современных вычислительных системах поддерживаются многоуровневые таблицы страниц. Принцип их работы в том что может быть поддерживаться некоторое множество таблиц страниц, которые сами размещены в отдельных страницах. В ОП постоянно находятся таблицы страниц высшего уровня, которые используются только для работы со страницами, содержащими таблицы страниц низшего уровня.
Таблицы страниц низшего уровня могут быть выгружены из ОП. В ОП загружается некоторое множество страниц, с другой стороны загрузка страниц замедляет работу системы, т.е. место решения прикладной задачи, идет непроизводительная пересылка данных. Чем больше в единицу времени возникает прерываний, тем медленнее работает система.
Разумно заранее загрузить в ОП все те страницы, которые будут использоваться во время работы. Было сделано наблюдение, что участки чаще всего используемого кода или данных концентрируются на небольшом количестве страниц. В любой момент времени t существует множество, в которое входят все страницы, используемые при последовательном обращении памяти т.н. рабочее множество.
