![](/user_photo/_userpic.png)
Экзамен ОС 2018
.pdfОглавление
Атомы
Атомы
Функции Win32 API для работы атомами Сообщения
Сообщение WM_COPYDATA
Пример использования сообщения WM_COPYDATA Анонимные каналы
Каналы Анонимные каналы
Использование анонимных каналов Создание анонимных каналов Пример использования анонимного канала
Проверка наличия данных без считывания
26. Межпроцессное взаимодействие. Передача информации в MS Windows 2000+. Именованные каналы. Почтовые ящики. Функции Win32 API.
Межпроцессное взаимодействие
Передача информации в MS Windows 2000+ Именованные каналы
Именованные каналы Формат имени канала
Создание именованного канала Параметры создания канала Режимы передачи Подключение к именованному каналу
Работа с каналом на стороне сервера Работа с каналом на стороне клиента Реализация нескольких экземпляров канала
Установление гарантированного соединения со стороны клиента Функция WaitNamedPipe
Определение наличия данных в канале Функция PeekNamedPipe
Почтовые ящики
Почтовые ящики (MailSlots) Формат имени сервера
Создание почтового ящика на сервере Пример создания сервера Открытие клиентом почтового ящика Ошибка открытия ящика Использование mailslot
Получение информации о почтовом ящике Изменение настроек почтового ящика
Оглавление
Оглавление
Оглавление
Оглавление
Экзаменационные вопросы
1. Определение ОС. Функции ОС. Процессы и потоки. Классификация ОС. История развития. Тенденции развития современных процессоров.
Операционная система (ОС)
- это комплекс системных программ, обеспечивающий оптимальное управление ресурсами вычислительной системы в соответствии с некоторым критерием эффективности.
История развития:
●1 этап (1940-1960): Cистемный монитор, ранние пакетные системы, перфокарты
●2 этап (1965-1975): Мэйнфреймы, мультипрограммирование (пакетная обработка и разделение времени), мультипроцессирование, многотерминальный режим, разграничение доступа и сетевая работа, виртуальная память, появление UNIX(Bell Lab.)
●3 этап (1970-1980): Появление первых сетевых ОС, которые в отличие от многотерминальных ОС позволяли организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными сетью. 29 октября 1969 года – послано первое межкомпьютерное сообщение (рождение глобальной сети Интернет).
●4 этап (1980-1990): Появление персональных компьютеров (ПК), которые стали мощным катализатором для бурного роста локальных вычислительных сетей (ЛВС)
●5 этап (1990-2018): Широкое распространение «настольных» многопроцессорных систем, миниатюризация вычислительных систем, развитие технологии виртуализации, моделей сетевых вычислений (грид-системы, облачные вычисления).
Тенденции развития современных процессоров:
В течение нескольких десятилетий развитие ЭВМ сопровождалось удвоением их быстродействия каждые 1.5-2 года. Это обеспечивалось и повышением тактовой частоты и совершенствованием архитектуры (параллельное и конвейерное выполнение команд). Узким местом стала оперативная память. Хуйня ебанная отвечаю, вода сплошная. Знаменитый закон Мура, так хорошо работающий для процессоров, совершенно не применим для памяти, где скорости доступа удваиваются в лучшем случае каждые 6 лет. Совершенствовались системы кэш-памяти, увеличивался объем, усложнялись алгоритмы ее использования. Важным параметром становится - GUPS (Giga Updates Per Second).
Функции:
●Управление аппаратными ресурсами вычислительной системы.
Оглавление
![](/html/22776/253/html_7RWPL8pmbt.zkVe/htmlconvd-eVkpm414x1.jpg)
Оглавление
●Предоставление программного интерфейса доступа к аппаратным ресурсам в виде некоторой виртуальной машины (программного и визуального интерфейсов), которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину.
Процессы и потоки:
●Процесс – абстракция, описывающая выполняющуюся программу. Для ОС процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Одним из основных ресурсов является адресное пространство процесса, т.е. оперативная память выделенная процессу.
●Поток – последовательность выполнения инструкций процессора. Процесс в этом случае рассматривается как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени, которое ОС распределяет между потоками. Таким образом, поток представляет собой мини-процесс, который работает в адресном пространстве породившего его процесса.
●Диспетчеризация потоков. Диспетчеризация заключается в переключении процессора с одного потока на другой. Диспетчеризация сводится к следующему алгоритму: сохранение контекста текущего потока, который требуется сменить, загрузка контекста нового потока, запуск нового потока на выполнение.
●Состояния процессов и потоков. Выделяют три основных дискретных состояния процесса (потока): готов к выполнению – ждет ЦП, выполняется – выделен ЦП, приостановлен (блокирован) – ждет некоторого события (например, окончания ввода-вывода).
Классификация:
Пакетная обработка – режим выполнения совокупности задач, при котором все задачи выполняются автоматически, без синхронизации с событиями вне данной системы обработки информации, в частности без связи с лицами, представляющими задание для выполнения. ОС с пакетной обработкой предусматривают, что из программ, подлежащих исполнению формируется пакет, который загружается в
Оглавление
Оглавление
управляющий комплекс и далее обрабатывается ОС. В этом случае пользователи непосредственно с ОС в процессе выполнения пакета не взаимодействуют. Разделение времени – процесс обработки информации, при котором ресурсы системы обработки информации (микропроцессорная система) предоставляются каждому процессу из группы процессов обработки информации на интервалы времени длительность и очередность предоставления которых определяются управляющей программой системы обработки информации с целью обеспечения одновременной работы процессов данной группы в интерактивном режиме.
Интерактивный режим – режим взаимодействия в процессе обработки информации с человеком, выражающийся в разного рода воздействиях на этот процесс, предусмотренных механизмом управления конкретной системы и вызывающих ответную реакцию процесса.
Для многопользовательских и многозадачных ОС:
●Вытесняющий режим многозадачной работы: решение о переключении процессора с одной задачи на другую принимается ОС
●Cогласующий режим многозадачной работы: активная задача выполняется до тех пор, пока она сама, по собственной инициативе, не отдаст управление ОС для того, чтобы та выбрала из очереди другую задачу готовую к выполнению.
Под сетевой операционной системой понимается операционная система, обеспечивающая обработку, хранение и передачу данных в информационно-вычислительной сети. Сетевая ОС определяет взаимосвязанную группу протоколов верхних уровней модели взаимосвязи открытых систем, обеспечивающих основные функции информационновычислительной сети: адресацию объектов, функционирование служб, обеспечение безопасности данных, управление сетью.
2. Операционная система MS Windows 2000+. Общая характеристика и основные функции. Структура MS Windows 2000+. Подсистема защиты MS Windows 2000+. Объекты в MS Windows 2000+.
Общая характеристика:
-Многоуровневая ОС.
-Ядро работает в защищенном режиме.
-Присутствует микроядро, но оно дополнительно не защищено от остальных фрагментов ядра (т.е. по сути присутствует гибридное ядро).
-В архитектуре можно выделить наноядро
-Компоненты ядра спроектированы на основе принципов построения объектно-ориентированных систем.
Оглавление
![](/html/22776/253/html_7RWPL8pmbt.zkVe/htmlconvd-eVkpm416x1.jpg)
Оглавление
Основные функции:
●Занимается планированием загрузки процессора на основании следующих принципов:
-квантование времени;
-абсолютные приоритеты;
-адаптивные приоритеты.
●Осуществляет диспетчеризацию потоков, таким образом, чтобы максимально загрузить процессоры системы и обеспечить первоочередную обработку потоков с более высоким приоритетом.
●Обрабатывает возникающие прерывания и исключительные ситуации.
●Обеспечивает работу других базовых объектов ядра, которые используются исполняющей системой (и в некоторых случаях экспортируются в режим пользователя).
Структура MS Windows 2000+:
Специальные процессы поддержки системы, например, процесс регистрации пользователя и менеджер сессий, которые не являются службами Windows.
Процессы сервера, которые являются службами Windows (аналог демонов в ОС Unix). Примером может быть регистратор событий (Event Logger). Многие дополнительно устанавливаемые приложения, такие как Microsoft SQL Server и Exchange Server, также включают компоненты, работающие как службы Windows.
Подсистемы среды представляют собой защищенные серверы пользовательского режима (user-mode), которые обеспечивают выполнение и поддержку приложений, разработанных для различного операционного окружения (различных ОС). Примером подсистем среды могут служить подсистемы Win32, Posix и OS/2 2.1.
Оглавление
Оглавление
Пользовательские приложения одного из пяти типов: Win32, Windows 3.1, MS-DOS, Posix или OS/2 1.2.
Исполняющая система (Executive) выполняет управление памятью, процессами, потоками, безопасностью, вводом/выводом и т.д.
Ядро («микроядро») выполняет низкоуровневые функции ОС: планирование потоков, обработку прерываний и исключений, синхронизацию процессоров, также предоставляет набор базовых объектов для исполняющей системы.
Драйверы устройств включают файловую систему и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода.
Уровень абстракции от оборудования (HAL – Hardware Abstraction Layer),
изолирует остальное ядро от специфики аппаратной платформы, на которой выполняется ОС. Подобный подход позволяет обеспечить переносимость Windows. HAL можно рассматривать в качестве наноядра.
Функции графического интерфейса пользователя работают с окнами, элементами управления и изображениями.
Подсистема защиты MS Windows 2000+:
SID:
Идентификатор безопасности (Security Identifier – SID) – структура данных переменной длины, которая идентифицирует учетную запись пользователя, группы, домена или компьютера. SID ставится в соответствие каждой учетной записи в момент её создания.
Маркер доступа:
-При регистрации пользователя в системе после успешной проверки имени и пароля создается маркер доступа, содержащий информацию о пользователе. Для каждого процесса, выполняемого далее в контексте этого пользователя, создается копия маркера доступа.
-Маркер доступ содержит информацию безопасности сеанса входа, определяющую пользователя, группы пользователей и список привилегий.
-Операционная система использует маркер доступа для контроля доступа к защищаемым объектам и контролирует возможность выполнения пользователем различных связанных с системой операций на локальном компьютере.
Оглавление
![](/html/22776/253/html_7RWPL8pmbt.zkVe/htmlconvd-eVkpm418x1.jpg)
Оглавление
Winlogon отвечает за поддержку аутентификации и управление сеансами интерактивного входа в систему. Например, при регистрации пользователя Winlogon создает пользовательский интерфейс.
Монитор безопасности отвечает за определение структуры данных маркера доступа для представления контекста защиты, за проверку прав доступа к объектам, манипулирование привилегиями (правами пользователей) и генерацию сообщений аудита безопасности.
LSASS отвечает за политику безопасности в локальной системе (например, круг пользователей, имеющих право на вход в систему, правила, связанные с паролями, привилегии, выдаваемые пользователям и их группам, параметры аудита безопасности системы), а также за аутентификацию пользователей и передачу сообщений аудита безопасности в журнал событий.
Объекты в MS Windows 2000+:
В ОС Windows объект – это отдельный экземпляр периода выполнения (runtime instance) статически определенного типа объекта.
Типы объектов:
-Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они доступны программам пользовательского режима (защищенным подсистемам)
посредством базовых сервисов и могут создаваться и использоваться как подсистемами, так и исполнительной системой.
-Объекты ядра (kernel object) – это более примитивный набор объектов, реализованный ядром. Большинство этих объектов создаются и используются только внутри исполнительной системы.
Примеры объектов:
-Файл (File)
-Символическая связь (SymbolicLink)
Оглавление
![](/html/22776/253/html_7RWPL8pmbt.zkVe/htmlconvd-eVkpm419x1.jpg)
Оглавление
-Коммуникационное устройство (Communications device)
-Рабочий стол (Desktop)
-Окно (Window)
-Меню (Menu)
-Палитра (Palette)
-Процесс (Process)
-Поток (Thread)
-Маркер доступа (Access token)
-Куча (Heap)
-Событие (Event)
-Семафор (Semaphore)
-Таймер (Timer)
-Мьютекс (Mutex)
-Сокет (Socket)
Основные функции обьектов:
-присвоения понятных имен системным ресурсам;
-разделение ресурсов и данных между процессами;
-защита ресурсов от несанкционированного доступа;
-учет квот ресурсов.
Структура объекта:
У объекта есть заголовок и тело. Диспетчер объектов управляет заголовками объектов, а телами объектов управляют владеющие ими компоненты исполнительной системы.
Каждый заголовок объекта содержит список стандартных атрибутов.
Оглавление
Оглавление
3. Основы файловых систем. Файлы и их атрибуты. Каталоги. Логическая организация ФС. Логическая организация файлов. Физическая организация файлов. Повышение производительности файловых систем.
Основы файловых систем:
Файловая система – это часть ОС, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и/или процессами.
Иными словами, это:
-совокупность всех файлов на диске;
-наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске;
-комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.
Файлы и их атрибуты:
Файл – это именованный набор связанной информации, записанной во вторичную память. Файлы представляют собой абстрактные объекты, задача которых – хранить информацию, скрывая от пользователя детали работы с устройствами.
-FAT16 – 8 символов собственно имя + 3 символа расширение имени;
-В ОС UNIX System V имя не может содержать более 14 символов;
-NTFS – имя файла может содержать до 255 символов.
Атрибуты:
-информация о разрешенном доступе;
-пароль для доступа к файлу;
-владелец файла;
-создатель файла;
-флаги "только для чтения", "скрытый файл", "системный файл", "архивный файл", "двоичный/символьный", "временный" (удалить после завершения процесса), флаг блокировки;
-времена создания, последнего доступа и последнего изменения;
-текущий размер файла;
-максимальный размер файла.
Оглавление