- •1 Понятие операционной Системы. Иерархическая структура. Привилегированный режим.
- •2 Многослойная структура ос
- •3 Характеристики современных ос. Многопоточность. Распределенные ос. Концепция ос на основе микроядра. Функции микроядра.
- •4.Принципы построения ос. Переносимость операционной системы.
- •1.Принцип модульности
- •2.Принцип виртуализации
- •3.Принцип особого режима работы
- •4.Принцип мобильности
- •5 Виды процессов
- •6 Многопоточная модель процесса. Создание потоков. Преимущества много поточности. Уровни потоков
- •7 Цели и необходимость синхронизации процессов и потоков. Критическая секция. Блокирующие переменные. Семафоры Дейкстры.
- •8 Тупики. Восстановление после тупиков. Предотвращение тупиков за счет нарушения условий возникновения.
- •9. Синхронизирующие объекты ос разных процессов. Мьютекс. Сигналы. Почтовый ящик.
- •10) Функции ос по управлению памятью. Физический и виртуальный адрес. Способы преобразования виртуального адреса в физический.
- •11) Соотношение объемов виртуального адресного пространства и физической памяти. Части виртуальных адресных пространств.
- •12 Распределение памяти фиксированными разделами. Распределение памяти динамическими разделами.
- •13 Перемещаемые разделы памяти. Свопинг. Виртуальная память. Разделяемые сегменты памяти.
- •14. Страничное распределение. Сегментное распределение. Сегментно-страничное распределение.
- •Сегментное распределение
- •15 Иерархия запоминающих устройств. Кэш-память. Способы отображения основной памяти на кэш. Схемы выполнения запросов в системах с кэш-памятью.
- •16 Задачи ос по управлению файлами и устройствами. Организация параллельной работы устройств ввода-вывода и процессора.
- •17 Согласование скоростей обмена и кэширование данных. Разделение устройств и данных между процессами. Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.
- •18 Поддержка синхронных и асинхронных операций ввода-вывода в ос. Многослойная модель подсистемы ввода - вывода.
- •19. Логическая организация файловой системы. Типы файлов. Иерархическая структура файловой системы. Имена файлов. Монтирование. Атрибуты файлов. Логическая организация файла.
- •Иерархическая файловая система
- •Логическая организация файла
- •20 Физическая организация файловой системы. Диски, разделы, секторы, кластеры. Адресация файла.
- •21 Физическая организация fat.
- •22 Физическая организация ntfs.
- •23 Регистры процессора. Привилегированные команды. Средства поддержки сегментации памяти.
- •24. Аппаратно-программные особенности процессоров. Виртуальное адресное пространство. Защита данных при сегментной организации памяти. Сегментно-страничный механизм.
- •25 Особенности 64-ох разрядной архитектуры процессоров.
- •26) Модель osi. Стек протоколов tcp/ip.
- •27 Пакеты и инкапсуляция. Ethernet-заголовок. IPv4-заголовок. IPv6-заголовок.
- •28 Пакеты и инкапсуляция. Arp-заголовок. Icmp-заголовок.
- •29. Пакеты и инкапсуляция. Udp-заголовок. Tcp-заголовок.
- •30 Сетевые файловые системы. Принципы построения. Интерфейс сетевой файловой службы. Файловые серверы типа stateful и stateless.
- •31 Определение unix. Архитектурные особенности ос unix. Стандарты. Лицензии.
- •32 Различия дистрибутивов Linux.
- •33 Ядро Linux.
- •35) Bash. Команды управления каталогами. Команды управления файлами. Команды chown и chgrp
- •4.6.2. Команда mkdir
- •4.6.3. Команда cat
- •4.6.4. Команда cp
- •36 Bash. Сценарии. Маски
- •37 Компилятор gcc.
- •38 Работа с файлами и директориями в Unix. Функции open, write, read, opendir, scandir.
- •39. Posix. Работа с потоками. Синхронизация потоков при помощи мьютексов и условных переменных.
- •40 Создание и использование статических библиотек.
- •41 Создание и использование динамических библиотек. Раннее и позднее связывание.
- •42 Socket api. Атрибуты сокета. Адреса. Функции для работы с dns. Функции socket, bind, listen, connect, close.
- •43 Socket api. Реализация tcp- сервера и клиента.
- •44 Socket api. Реализация udp- сервера и клиента.
- •45 Socket api. Использование низкоуровневых сокетов Понятие сокета
- •Атрибуты сокета
- •Установка соединения (сервер)
- •Установка соединения (клиент)
- •Обмен данными
- •Закрытие сокета
- •46) Socket api. Неблокирующие сокеты. Пример реализации tcp- сервера.
- •47 OpenSsl. Генерация псевдослучайной последовательности.
- •48 OpenSsl. Шифрование и дешифрование ассиметричных алгоритмов.
- •49.Программирование драйверов в Linux. Виды драйверов. Методы включения драйвера в ядро. Отличие драйверов от обычных приложений. Файлы устройств. Функции драйвера устройства.
- •52 Программирование интерфейсов. Библиотека qt. Структура программы на qt.
23 Регистры процессора. Привилегированные команды. Средства поддержки сегментации памяти.
Регистры процессора - внутренние ячейки процессора, которые служат для хранения информации с практически мгновенным доступом. В отличии от оперативной памяти, для чтения и записи в регистры не нужно обращаться к внешнему устройству через шину, потому что регистры встроены в процессор и являются одной из его основных частей.
Регистры процессора предназначены для хранения информации, которая в любой момент должна быть доступна процессору. Это самая главная память компьютера. Если сравнить рабочий стол в мастерской с компьютером, то регистры процессора - это заготовки, материалы и чертежи, которые лежат на столе и постоянно используются. Среди всех внутренних регистров процессора можно выделить основные: регистры общего назначения. Это заготовки - данные, над которыми выполняются операции. Их сущность - это возможность быстрого доступа для выполнения операции.
Некоторые команды, так называемые привилегированные команды, запрещены для использования прикладными программами. Эти команды управляют системными функциями, например, загрузкой системных регистров и они могут выполняться только на нулевом уровне привилегий (т.е. когда CPL = 0). При попытке выполнить их на другом уровне привилегий, генерируется исключение общей защиты.
24. Аппаратно-программные особенности процессоров. Виртуальное адресное пространство. Защита данных при сегментной организации памяти. Сегментно-страничный механизм.
Аппаратная платформа компьютера (архитектура компьютера) — уровень, образованный микроархитектурой, микропрограммой управления ядром микропроцессора и архитектурой набора команд на аппаратной базе конкретных микросхем процессора, чипсета, других физических компонентов, которые в совокупности составляют аппаратную модель вычислительной системы.
Предназначен для запуска определенных семейств программных продуктов (операционная система, прикладное программное обеспечение), которые, в свою очередь, разработаны исходя из возможностей и для запуска на данной аппаратуре.
Виртуальное адресное пространство — это максимально доступное приложению адресное пространство. Объём виртуального адресного пространства зависит от архитектуры компьютера и операционной системы. Он зависит от архитектуры компьютера, так как именно архитектура определяет, сколько бит используется для адресации.
Защита сегментов.
В соответствии с количеством разрядов, отводимых в таблице под указание уровня привилегий (2 разряда) имеет место 4-х уровневая иерархическая система привилегий, предназначенная для управления доступом к сегменту. Уровни привилегий нумеруются от 0-го до 3-его. 0-й уровень соответствует максимальным возможностям доступа и присваивается ядру ОС. Уровень 3 имеет самые ограниченные права доступа и обычно присваивается прикладным задачам. Систему защиты часто принято изображать в виде концентрических колец, соответствующих уровню привилегий, а сами уровни привилегий называют кольцами защиты. Задачи могут использовать сервисные программы, находящиеся в разных кольцах защиты. Передача управления между ними контролируется так называемыми вентилями или шлюзами, проверяющими правила использования уровней привилегий. Через шлюзы задачи могут получить доступ только к разрешенным им сегментам. Соответствующие шлюзы имеются для каждого способа межсегментной передачи управления. Для вызова процедур со сменой уровня привилегий используются шлюзы вызова, для переключения задач – шлюзы задач. Процедуры обслуживания прерываний обслуживают шлюзы прерываний. Для каждого типа шлюзов используются дескрипторы шлюзов. Дескрипторы и шлюзы являются основой системы защиты. Дескрипторы определяют структуры программных элементов, без которых эти элементы невозможно использовать, а привилегии определяют возможность доступа к дескрипторам. Таким образом, защита памяти не позволяет: 1) использовать сегменты не по назначению (например, трактовать область данных, как коды команд); 2) нарушать права доступа (например, пытаться модифицировать сегмент, предназначенный только для чтения, или обращаться к сегменту, не имея достаточных привилегий); 3) адресоваться к элементам, выходящим за лимит сегмента; 4) изменять содержимое таблиц дескрипторов, то есть параметры сегментов, не имея достаточно привилегий; 5) и т.д. Любое нарушение защиты приводит к возникновению специальных прерываний, называемых
