- •1 Понятие операционной Системы. Иерархическая структура. Привилегированный режим.
- •2 Многослойная структура ос
- •3 Характеристики современных ос. Многопоточность. Распределенные ос. Концепция ос на основе микроядра. Функции микроядра.
- •4.Принципы построения ос. Переносимость операционной системы.
- •1.Принцип модульности
- •2.Принцип виртуализации
- •3.Принцип особого режима работы
- •4.Принцип мобильности
- •6 Многопоточная модель процесса. Создание потоков. Преимущества много поточности. Уровни потоков
- •5 Виды процессов
- •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.
29. Пакеты и инкапсуляция. Udp-заголовок. Tcp-заголовок.
Инкапсуля́ция в компью́терных сетя́х — это метод построения модульных сетевых протоколов, при котором логически независимые функции сети абстрагируются от нижележащих механизмов путём включения или инкапсулирования этих механизмов в более высокоуровневые объекты. Например, когда приложению требуется послать сообщение с помощью UDP, то производится последовательность действий:
Адресация пакета
Большинство пакетов в сети адресуется конкретному компьютеру, и, как результат, только он один реагирует на них. Каждая плата сетевого адаптера©видит все пакеты, в передаваемые по сегменту кабеля, но только при совпадении адреса назначения пакета с адресом компьютера она прерывает его работу.
Используется также и широковещательная адресация (broadcast addressing). На пакет с таким типом адреса одновременно реагирует множество компьютеров в сети.
В крупномасштабных сетях, покрывающих огромные территории (или государства), предлагается несколько возможных маршрутов для передачи данных. Коммутирующие и соединяющие сетевые компоненты используют адресную информацию пакетов для определения наилучшего из маршрутов.
Рассылка пакетов
Сетевые компоненты используют адресную информацию пакетов и для других целей: чтобы направлять пакеты по местоназначению и не допускать их в те области сети, к которым они не относятся. В правильной рассылке пакетов ключевую роль играют две функции:
Продвижение пакетов
Компьютер может отправить пакет на следующий подходящий сетевой компонент, ШВ основываясь на адресе из заголовка пакета.
Фильтрация пакетов.
Компьютер может отбирать определенные пакеты на основе некоторых критериев, например адреса.
UDP — один из ключевых элементов TCP/IP, набора сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения (в данном случае называемые датаграммами) другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.
Заголовок TCP-сегмента
TCP-сегмент состоит из заголовка и данных.
Заголовок сегмента состоит из 32-разрядных слов и имеет переменную длину, зависящую от размера поля Options, но всегда кратную 32 битам. За заголовком непосредственно следуют данные – часть потока данных пользователя, передаваемая в данном сегментеф
30 Сетевые файловые системы. Принципы построения. Интерфейс сетевой файловой службы. Файловые серверы типа stateful и stateless.
Функцией файловой системы является хранение программ и данных и предоставление доступа к ним по мере необходимости.
Распределенная файловая система поддерживается одним или более компьютерами, хранящими файлы.
Компьютер, который позволяет пользователям сети получать доступ к своим файлам, обычно называют файловым сервером.
Программу, которая работает на этом компьютере и обеспечивает совокупность услуг по доступу к файлам и каталогам на удаленном компьютере, также называют файловым сервером.
Файловые серверы обычно содержат иерархические файловые системы.
Во многих сетевых файловых системах клиентский компьютер может подсоединять и монтировать эти файловые системы к своим локальным файловым системам, обеспечивая удобный доступ к удаленным каталогам и файлам.
В распределенной ОС пользователи не знают как реализована файловая система. Они не знают количество файловых серверов, их месторасположение и функции. Современные сетевые файловые системы еще не полностью соответствуют идеалу распределенности. В большинстве ОС пользователь должен явно указать имя файлового сервера при доступе к его ресурсам. В настоящее время продолжается работа по созданию истинно распределенных сетевых файловых систем. Экспериментальные ОС – Amoeba, Mach, Chorus (более прозрачные).
Сетевая файловая система в общем случае включает следующие элементы:
Локальная файловая система;
Интерфейс локальной файловой системы;
Сервер сетевой файловой системы;
Клиент сетевой файловой системы;
Интерфейс сетевой файловой системы;
Протокол клиент-сервер сетевой файловой системы.
Клиенты сетевой файловой системы – это программы, которые работают на компьютерах, подключенных к сети, и обслуживают запросы приложений на доступ к файлам, хранящимся на удаленном компьютере. Например, Windows Explorer, UNIX shell и другие пользовательские программы.
Клиент сетевой файловой системы передает по сети запросы серверу сетевой файловой системы, работающему на удаленном компьютере. Сервер, получив запрос, выполняет его самостоятельно, либо (более распространенный вариант) передает запрос локальной файловой системе. Ответ передается в обратном направлении.
Приложения обращаются к клиенту сетевой файловой системы, используя определенный программный интерфейс - интерфейс сетевой файловой системы. Его стараются сделать более похожим на интерфейс локальной файловой системы для прозрачности.
Клиент и сервер сетевой файловой системы взаимодействуют друг с другом по сети по определенному протоколу.
Например, сетевой файловой службой в ОС семейства Windows используется протокол SMB (Server Message Block). Его последние расширенные версии получили название Common Internet File System, CIFS. Как и все протоколы файловых служб, он работает на прикладном уровне модели OSI, используя различные транспортные протоколы для передачи свои сообщений (NetBIOS, его более поздняя реализация NetBEUI, TCP/UDP, IPX).
Основной протокол доступа к файлам и принтерам сетевой ОС NetWare компании Novell – NCP (NetWare Control Protocol).
В различных вариантах ОС семейства UNIX популярен протокол NFS – протокол сетевой файловой системы NFS (Network File System) компании Sun Microsystems.
Сервер stateless: клиент посылает запрос на сервер, сервер его выполняет, отсылает ответ, а затем удаляет из своих внутренних таблиц всю информацию о запросе. Таким образом, между запросами на сервере не хранится никакой текущей информации о состоянии клиента.
Сервер stateful, открывая файлы, должен запоминать, какие файлы открыл каждый пользователь в своей внутренней системной таблице. В системной таблице (таблице открытых файлов) хранятся дескриптор файла (идентификатор), значение указателя на текущую позицию в файле, режим файла. Обычно при открытии файла клиентскому приложению возвращается по сети дескриптор файла.
