Презентация «Операционные системы Введение в операционные системы»

Смотреть слайды в полном размере
Презентация «Операционные системы Введение в операционные системы»

Вы можете ознакомиться с презентацией онлайн, просмотреть текст и слайды к ней, а также, в случае, если она вам подходит - скачать файл для редактирования или печати. Документ содержит 259 слайдов и доступен в формате ppt. Размер файла: 4.25 MB

Просмотреть и скачать

Pic.1
Операционные системы Введение в операционные системы
Операционные системы Введение в операционные системы
Pic.2
Введение в операционные системы Основные определения
Введение в операционные системы Основные определения
Pic.3
Определение ОС Операционная система (ОС) – комплекс системных программ, обеспечивающий оптимальное у
Определение ОС Операционная система (ОС) – комплекс системных программ, обеспечивающий оптимальное управление ресурсами вычислительной системы в соответствии с некоторым критерием эффективности. …
Pic.4
Уровни ВС
Уровни ВС
Pic.5
Основная функция ОС Основной функцией ОС является управление аппаратными ресурсами ВС и включает реш
Основная функция ОС Основной функцией ОС является управление аппаратными ресурсами ВС и включает решение следующих, не зависящих от типа ресурса задач: планирование и удовлетворение запросов на …
Pic.6
Основные ресурсы ВС Процессорное время (процессор) Адресное пространство (оперативная память) Файлы
Основные ресурсы ВС Процессорное время (процессор) Адресное пространство (оперативная память) Файлы (накопители данных) Внешние устройства ввода/вывода (принтеры, сетевые устройства, …)
Pic.7
Дополнительная функция ОС Кроме основной функции управления ресурсами ВС, от ОС зачастую требуется р
Дополнительная функция ОС Кроме основной функции управления ресурсами ВС, от ОС зачастую требуется решение еще одной важной задачи – предоставления программного интерфейса доступа к аппаратным …
Pic.8
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на о
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к различным задачам или различным ветвям одной и той же …
Pic.9
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на о
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к различным задачам или различным ветвям одной и той же …
Pic.10
Введение в операционные системы Классификация ОС
Введение в операционные системы Классификация ОС
Pic.11
Признаки классификации ОС могут различаться особенностями реализации внутренних алгоритмов управлени
Признаки классификации ОС могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера, особенностями использованных методов проектирования, типами …
Pic.12
Классификация ОС Особенности алгоритмов управления ресурсами
Классификация ОС Особенности алгоритмов управления ресурсами
Pic.13
Поддержка многозадачности По числу одновременно выполняемых задач ОС могут быть разделены на два кла
Поддержка многозадачности По числу одновременно выполняемых задач ОС могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX); многозадачные (OC EC, UNIX, Windows 9х, NT). …
Pic.14
Поддержка многопользовательского режима По числу одновременно работающих пользователей ОС делятся на
Поддержка многопользовательского режима По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3. x); многопользовательские (UNIX, Windows NT). Главным …
Pic.15
Вытесняющая и не вытесняющая многозадачность Способ распределения процессорного времени между нескол
Вытесняющая и не вытесняющая многозадачность Способ распределения процессорного времени между несколькими одновременно существующими в системе задачами (процессами или потоками) в режиме …
Pic.16
Вытесняющая и не вытесняющая многозадачность При невытесняющей многозадачности активный процесс (пот
Вытесняющая и не вытесняющая многозадачность При невытесняющей многозадачности активный процесс (поток) выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для …
Pic.17
Классификация дисциплин обслуживания
Классификация дисциплин обслуживания
Pic.18
Классификация дисциплин обслуживания Бесприоритетные ДО – выбор из очереди производится без учета от
Классификация дисциплин обслуживания Бесприоритетные ДО – выбор из очереди производится без учета относительной важности задач и времени их обслуживания. Приоритетное обслуживание – отдельным задачам …
Pic.19
Поддержка многопоточности Важным свойством операционных систем является возможность распараллеливани
Поддержка многопоточности Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одного процесса. Многопоточная ОС разделяет процессорное время не между …
Pic.20
Многопроцессорная обработка Другим важным свойством ОС является отсутствие или наличие в ней средств
Многопроцессорная обработка Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. Мультипроцессирование приводит к усложнению всех алгоритмов …
Pic.21
Виды мультипроцессирования
Виды мультипроцессирования
Pic.22
Особенности алгоритмов управления ресурсами Выше были рассмотрены характеристики ОС, связанные с упр
Особенности алгоритмов управления ресурсами Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов – процессором. Важное влияние на облик операционной системы в …
Pic.23
Классификация ОС Особенности областей использования
Классификация ОС Особенности областей использования
Pic.24
Типы многозадачных ОС Многозадачные ОС подразделяются на три типа в соответствии с использованными п
Типы многозадачных ОС Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности: системы пакетной обработки (например, OC EC); системы …
Pic.25
Другие системы Некоторые операционные системы могут совмещать в себе свойства систем разных типов, н
Другие системы Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть – в режиме реального …
Pic.26
Операционные системы Структурная организация операционных систем
Операционные системы Структурная организация операционных систем
Pic.27
Монолитная структура
Монолитная структура
Pic.28
Многоуровневая структура
Многоуровневая структура
Pic.29
Микроядерная структура Альтернативой является построение ОС на базе модели клиент-сервер и тесно свя
Микроядерная структура Альтернативой является построение ОС на базе модели клиент-сервер и тесно связанной с ней концепции микроядра. Микроядро работает в привилегированном режиме и выполняет только …
Pic.30
Объектно-ориентированный подход Развитием технологии расширяемых модульных систем является объектно-
Объектно-ориентированный подход Развитием технологии расширяемых модульных систем является объектно-ориентированный подход, при котором каждый программный компонент ОС является функционально …
Pic.31
ООП: достоинства и недостатки Построение ОС на базе объектно-ориентированного подхода имеет следующи
ООП: достоинства и недостатки Построение ОС на базе объектно-ориентированного подхода имеет следующие достоинства: аккумуляция удачных решений в форме стандартных объектов и создание новых объектов …
Pic.32
Сетевые службы и сервисы сетевые службы глубоко встроены в ОС; сетевые службы объединены в виде неко
Сетевые службы и сервисы сетевые службы глубоко встроены в ОС; сетевые службы объединены в виде некоторого набора – оболочки; сетевые службы производятся и поставляются в виде отдельного продукта.
Pic.33
Операционные системы Эволюция операционных систем
Операционные системы Эволюция операционных систем
Pic.34
Этапы эволюции 1 этап (1940-60) системный монитор, ранние пакетные системы 2 этап (1965-75) мультипр
Этапы эволюции 1 этап (1940-60) системный монитор, ранние пакетные системы 2 этап (1965-75) мультипрограммирование, пакетные ОС и ОС разделения времени 3 этап (1970-80) ОС мини-ЭВМ 4 этап (1980-90) …
Pic.35
1 этап (1940-60) Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появил
1 этап (1940-60) Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появились, все задачи организации вычислительного процесса решались программистом вручную с пульта …
Pic.36
2 этап (1965-75) 1965-1975 годы переход к интегральным микросхемам, новое поколение ЭВМ – IBM/360, м
2 этап (1965-75) 1965-1975 годы переход к интегральным микросхемам, новое поколение ЭВМ – IBM/360, многопроцессорная ЭВМ для централизованных вычислений. Реализованы основные концепции, присущие …
Pic.37
2 этап – многотерминальные системы Многотерминальный режим использовался не только в системах раздел
2 этап – многотерминальные системы Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. При этом не только оператор, но и все …
Pic.38
3 этап (1970-80) Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС по
3 этап (1970-80) Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и …
Pic.39
4 этап (1980-90) Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов
4 этап (1980-90) Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов – появление персональных компьютеров (ПК), которые стали мощным катализатором для бурного роста …
Pic.40
5 этап (1990 – …) 90-е годы – практически все ОС стали сетевыми. Сетевые функции встраиваются в ядро
5 этап (1990 – …) 90-е годы – практически все ОС стали сетевыми. Сетевые функции встраиваются в ядро ОС, являясь ее неотъемлемой частью. Появились специализированные ОС, которые предназначены …
Pic.41
Операционные системы Архитектура Windows NT-2000
Операционные системы Архитектура Windows NT-2000
Pic.42
Архитектура Windows NT-2000 Основная характеристика ОС Windows NT-2000
Архитектура Windows NT-2000 Основная характеристика ОС Windows NT-2000
Pic.43
Основная характеристика Windows NT-2000 Система Windows NT-2003 не является дальнейшим развитием ран
Основная характеристика Windows NT-2000 Система Windows NT-2003 не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к современной …
Pic.44
Семейство Windows 2000
Семейство Windows 2000
Pic.45
Архитектура Windows NT-2000 Архитектура ОС Windows NT-2000
Архитектура Windows NT-2000 Архитектура ОС Windows NT-2000
Pic.46
Упрощенная архитектура Windows 2000
Упрощенная архитектура Windows 2000
Pic.47
Режим ядра исполняющая система NT, которая включает управление памятью, процессами, потоками, безопа
Режим ядра исполняющая система NT, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами; ядро (микроядро) Windows NT выполняет …
Pic.48
Пользовательский режим Специальные процессы поддержки системы, например, процесс регистрации пользов
Пользовательский режим Специальные процессы поддержки системы, например, процесс регистрации пользователя и менеджер сессий, которые не являются службами NT. Процессы сервера, которые являются …
Pic.49
Подробная архитектура Windows 2000
Подробная архитектура Windows 2000
Pic.50
Исполняющая система Менеджер процессов и потоков управляет процессами и потоками. Фактически потоки
Исполняющая система Менеджер процессов и потоков управляет процессами и потоками. Фактически потоки и процессы поддерживаются в NT нижележащим слоем. Исполняемая часть добавляет дополнительную …
Pic.51
Ядро (микроядро) Windows NT Ядро (Microkernel) является основой модульного строения ОС и координируе
Ядро (микроядро) Windows NT Ядро (Microkernel) является основой модульного строения ОС и координирует выполнение большинства базовых операций Windows NT. Программное обеспечение ядра выполняется …
Pic.52
Архитектура Windows NT-2000 Объекты Windows NT-2000
Архитектура Windows NT-2000 Объекты Windows NT-2000
Pic.53
Понятие объекта
Понятие объекта
Pic.54
Назначение объектов Объекты очень удобны для поддержки четырех важных функций ОС: присвоения понятны
Назначение объектов Объекты очень удобны для поддержки четырех важных функций ОС: присвоения понятных имен системным ресурсам; разделения ресурсов и данных между процессами; защиты ресурсов от …
Pic.55
Типы объектов Windows 2000 Объекты исполнительной системы (executive object) представляются различны
Типы объектов Windows 2000 Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они доступны программам пользовательского режима …
Pic.56
Структура объектов Windows 2000
Структура объектов Windows 2000
Pic.57
Структура объектов Windows 2000
Структура объектов Windows 2000
Pic.58
Примеры объектов Файл Регион памяти Поток Процесс Семафор Таймер
Примеры объектов Файл Регион памяти Поток Процесс Семафор Таймер
Pic.59
Защита объектов ОС Windows 2000 поддерживает два вида контроля доступа к объектам: управление избира
Защита объектов ОС Windows 2000 поддерживает два вида контроля доступа к объектам: управление избирательным доступом (discretionary access control) – основной механизм контроля доступа, при котором …
Pic.60
Отношения между маркером доступа и атрибутами безопасности объекта
Отношения между маркером доступа и атрибутами безопасности объекта
Pic.61
Операционные системы Введение в файловые системы
Операционные системы Введение в файловые системы
Pic.62
Определение ФС Файловая система – это часть ОС, назначение которой состоит в том, чтобы обеспечить п
Определение ФС Файловая система – это часть ОС, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное …
Pic.63
Понятие ФС В широком смысле понятие “ФС” включает: совокупность всех файлов на диске, наборы структу
Понятие ФС В широком смысле понятие “ФС” включает: совокупность всех файлов на диске, наборы структур данных, используемых для управления файлами, комплекс системных программных средств, реализующих …
Pic.64
Типы файлов Файлы бывают разных типов: обычные файлы: текстовые; двоичные; специальные файлы; файлы-
Типы файлов Файлы бывают разных типов: обычные файлы: текстовые; двоичные; специальные файлы; файлы-каталоги.
Pic.65
Атрибуты файлов информация о разрешенном доступе; пароль для доступа к файлу; владелец файла; создат
Атрибуты файлов информация о разрешенном доступе; пароль для доступа к файлу; владелец файла; создатель файла; флаги "только для чтения", "скрытый файл", "системный …
Pic.66
Структура каталогов
Структура каталогов
Pic.67
Логическая организация ФС
Логическая организация ФС
Pic.68
Логическая организация файла
Логическая организация файла
Pic.69
Физическая организация файла Физическая организация файла описывает правила расположения файла на ус
Физическая организация файла Физическая организация файла описывает правила расположения файла на устройстве внешней памяти (например, диске). Файл состоит из физических записей – блоков. Блок – …
Pic.70
Способы физической организации
Способы физической организации
Pic.71
Права доступа к файлу создание файла уничтожение файла открытие файла закрытие файла чтение файла за
Права доступа к файлу создание файла уничтожение файла открытие файла закрытие файла чтение файла запись в файл дополнение файла
Pic.72
Матрица прав доступа
Матрица прав доступа
Pic.73
Кэширование диска Перехват запросов к внешним блочным ЗУ, промежуточным программным слоем – подсисте
Кэширование диска Перехват запросов к внешним блочным ЗУ, промежуточным программным слоем – подсистемой буферизации (ПБ). ПБ представляет собой буферный пул, располагающийся в ОЗУ, и комплекс …
Pic.74
Кэширование диска – запись сквозная отложенная
Кэширование диска – запись сквозная отложенная
Pic.75
Общая модель ФС
Общая модель ФС
Pic.76
Файловые системы Работа с файлами в Windows API
Файловые системы Работа с файлами в Windows API
Pic.77
Работа с томами Для выяснения того, какие логические диски существуют в системе, используется функци
Работа с томами Для выяснения того, какие логические диски существуют в системе, используется функция DWORD GetLogicalDrives( void ) Каждый установленный бит возвращаемого значения соответствует …
Pic.78
Работа с томами Для определения типа диска предназначена функция UINT GetDriveType( LPTSTR lpszRootP
Работа с томами Для определения типа диска предназначена функция UINT GetDriveType( LPTSTR lpszRootPathName ) В качестве параметра ей передается символическое имя корневого каталога (напр. A:\), а …
Pic.79
Работа с томами Для получения подробной информации о носителе используется функция GetVolumeInformat
Работа с томами Для получения подробной информации о носителе используется функция GetVolumeInformation. Она заполняет параметры информацией об имени тома, названии файловой структуры, максимальной …
Pic.80
Работа с каталогами и файлами
Работа с каталогами и файлами
Pic.81
Синхронная работа с файлами HANDLE CreateFile ( LPCTSTR lpFileName, // pointer to name of the file D
Синхронная работа с файлами HANDLE CreateFile ( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode …
Pic.82
Асинхронная работа с файлами BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer,
Асинхронная работа с файлами BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer that receives data DWORD nNumberOfBytesToRead,// number of bytes to read …
Pic.83
Файловые системы Файловые системы фирмы Microsoft
Файловые системы Файловые системы фирмы Microsoft
Pic.84
Кластеры
Кластеры
Pic.85
Фрагментация и дефрагментация
Фрагментация и дефрагментация
Pic.86
Физические и логические диски Основные причины разбиения физического диска на несколько логических:
Физические и логические диски Основные причины разбиения физического диска на несколько логических: ограничения файловых систем на максимальный размер физического диска; повышение надежности файловой …
Pic.87
Файловые системы Файловая система FAT для MS DOS
Файловые системы Файловая система FAT для MS DOS
Pic.88
Таблица разделов логического диска
Таблица разделов логического диска
Pic.89
Структура логического диска FAT Загрузочная запись (первый сектор диска) – служит для загрузки ОС и
Структура логического диска FAT Загрузочная запись (первый сектор диска) – служит для загрузки ОС и организация хранения данных. FAT (File Allocation Table) – таблица размещения файлов. Корневой …
Pic.90
Элемент каталога FAT16
Элемент каталога FAT16
Pic.91
Логическая организация данных
Логическая организация данных
Pic.92
Размеры разделов и кластеров FAT16 для Windows 95-2000
Размеры разделов и кластеров FAT16 для Windows 95-2000
Pic.93
Файловые системы Файловая система FAT32
Файловые системы Файловая система FAT32
Pic.94
Файловая система FAT32 FAT32 это развитие файловой системы FAT(VFAT, FAT16). 32-разрядная адресация
Файловая система FAT32 FAT32 это развитие файловой системы FAT(VFAT, FAT16). 32-разрядная адресация кластеров – максимальное число адресуемых кластеров – 4 294 377 472. Поддержка больших разделов …
Pic.95
Элемент каталога FAT32
Элемент каталога FAT32
Pic.96
Пример длинного имени
Пример длинного имени
Pic.97
Проблемы длинных имен в FAT32 Требуется больше дискового пространства Бóльшая фрагментация (на уровн
Проблемы длинных имен в FAT32 Требуется больше дискового пространства Бóльшая фрагментация (на уровне каталогов)
Pic.98
Сравнение FAT16 и FAT32
Сравнение FAT16 и FAT32
Pic.99
Файловые системы Файловая система NTFS
Файловые системы Файловая система NTFS
Pic.100
Краткое описание Разработана для быстрого выполнения стандартных файловых операций типа чтения, запи
Краткое описание Разработана для быстрого выполнения стандартных файловых операций типа чтения, записи и поиска. Поддерживает улучшенные операции восстановления файловой системы на очень больших …
Pic.101
Понятия и термины NTFS Структура NTFS начинается с тома (volume). Том соответствует логическому разд
Понятия и термины NTFS Структура NTFS начинается с тома (volume). Том соответствует логическому разделу на диске и создается, когда Вы форматируете диск или часть его для NTFS. NTFS обрабатывает …
Pic.102
Размер кластера для NTFS
Размер кластера для NTFS
Pic.103
NTFS и архитектура Windows 2000
NTFS и архитектура Windows 2000
Pic.104
Взаимодействие NTFS со связанными компонентами
Взаимодействие NTFS со связанными компонентами
Pic.105
Физическая структура NTFS
Физическая структура NTFS
Pic.106
MFT и ее структура
MFT и ее структура
Pic.107
Метафайлы Первые 16 файлов NTFS (метафайлы) носят служебный характер. Метафайлы находятся корневом к
Метафайлы Первые 16 файлов NTFS (метафайлы) носят служебный характер. Метафайлы находятся корневом каталоге NTFS диска - они начинаются с символа имени "$" Для метафайлов указан реальный …
Pic.108
Перечень метафайлов (1)
Перечень метафайлов (1)
Pic.109
Перечень метафайлов (2)
Перечень метафайлов (2)
Pic.110
Файл и его атрибуты (1)
Файл и его атрибуты (1)
Pic.111
Файл и его атрибуты (2)
Файл и его атрибуты (2)
Pic.112
Непосредственное хранение файлов
Непосредственное хранение файлов
Pic.113
Нерезидентное хранение файлов
Нерезидентное хранение файлов
Pic.114
Сжатие файлов
Сжатие файлов
Pic.115
Каталоги
Каталоги
Pic.116
Двоичное дерево B+
Двоичное дерево B+
Pic.117
Хранение каталога
Хранение каталога
Pic.118
Защита целостности данных NTFS является восстанавливаемой ФС и поддерживает следующие технологии защ
Защита целостности данных NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных: Горячая фиксация Механизм транзакций
Pic.119
Горячая фиксация
Горячая фиксация
Pic.120
Механизм транзакций Восстанавливаемость ФС в NTFS обеспечивается при помощи техники обработки транза
Механизм транзакций Восстанавливаемость ФС в NTFS обеспечивается при помощи техники обработки транзакций, называемой протоколированием (logging). В состав средств протоколирования NTFS входят два …
Pic.121
Журнал транзакций
Журнал транзакций
Pic.122
Записи модификации установка файловой информации переименование файла изменение прав доступа к файлу
Записи модификации установка файловой информации переименование файла изменение прав доступа к файлу
Pic.123
Структура записи модификации
Структура записи модификации
Pic.124
Запись контрольной точки Периодически (5 сек. ) NTFS помещает в журнал транзакций записи контрольной
Запись контрольной точки Периодически (5 сек. ) NTFS помещает в журнал транзакций записи контрольной точки: Запись контрольной точки помогает NTFS определить, какая обработка необходима для …
Pic.125
Таблицы восстановления Таблица транзакций (transaction table) предназначена для отслеживания транзак
Таблицы восстановления Таблица транзакций (transaction table) предназначена для отслеживания транзакций, которые были начаты, но еще не подтверждены. Их надо удалить в процессе восстановления. В …
Pic.126
Процесс восстановления При восстановлении тома NTFS загружает журнал транзакций в оперативную память
Процесс восстановления При восстановлении тома NTFS загружает журнал транзакций в оперативную память и выполняет три прохода: анализ; повтор транзакций; отмена транзакций.
Pic.127
Безопасность в NTFS Защита файлов NTFS на объектном уровне – Security Reference Monitor определяет,
Безопасность в NTFS Защита файлов NTFS на объектном уровне – Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Шифрование файлов с …
Pic.128
Фрагментация файлов в NTFS NTFS полностью не предотвращает фрагментацию NTFS снижает возможность воз
Фрагментация файлов в NTFS NTFS полностью не предотвращает фрагментацию NTFS снижает возможность возникновения фрагментации (например, в многозадачном режиме) NTFS снижает отрицательное влияние …
Pic.129
Файловые системы NTFS vs. FAT
Файловые системы NTFS vs. FAT
Pic.130
Итоги
Итоги
Pic.131
Операционные системы Основы управления памятью
Операционные системы Основы управления памятью
Pic.132
Методы управления памятью
Методы управления памятью
Pic.133
Основы управления памятью Методы распределения памяти без использования дискового пространства
Основы управления памятью Методы распределения памяти без использования дискового пространства
Pic.134
Распределение памяти фиксированными разделами
Распределение памяти фиксированными разделами
Pic.135
Распределение памяти разделами переменной величины
Распределение памяти разделами переменной величины
Pic.136
Перемещаемые разделы
Перемещаемые разделы
Pic.137
Основы управления памятью Методы распределения памяти с использованием дискового пространства
Основы управления памятью Методы распределения памяти с использованием дискового пространства
Pic.138
Понятие виртуальной памяти Виртуальная память (ВП) – это совокупность программно-аппаратных средств,
Понятие виртуальной памяти Виртуальная память (ВП) – это совокупность программно-аппаратных средств, позволяющих использовать программы, размер которых превосходит имеющуюся оперативную память. Для …
Pic.139
Физические и виртуальные адреса Суть концепции виртуальной памяти заключается в том, что адреса, к к
Физические и виртуальные адреса Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющийся процесс, отделяются от адресов, реально существующих в первичной …
Pic.140
Страничное распределение
Страничное распределение
Pic.141
Страничное распределение: преобразования ВА в ФА
Страничное распределение: преобразования ВА в ФА
Pic.142
Сегментное распределение
Сегментное распределение
Pic.143
Странично-сегментное распределение
Странично-сегментное распределение
Pic.144
Алгоритмы замещения страниц (свопинга) Замещение случайной страницы FIFO (First In First Out) – заме
Алгоритмы замещения страниц (свопинга) Замещение случайной страницы FIFO (First In First Out) – замещение первой использованной страницы LRU (Least Recently Used) – замещение дольше всех …
Pic.145
Операционные системы Архитектура памяти в Win32 API. Общие принципы
Операционные системы Архитектура памяти в Win32 API. Общие принципы
Pic.146
Архитектура API управления памятью
Архитектура API управления памятью
Pic.147
Менеджер виртуальной памяти VMM (Virtual Memory Manager) управление виртуальным адресным пространств
Менеджер виртуальной памяти VMM (Virtual Memory Manager) управление виртуальным адресным пространством процесса; разделение памяти между процессами; защита виртуальной памяти одного процесса от …
Pic.148
Адресное пространство процесса
Адресное пространство процесса
Pic.149
Средства защиты памяти Отдельное адресное пространство для каждого процесса. Аппаратура запрещает пр
Средства защиты памяти Отдельное адресное пространство для каждого процесса. Аппаратура запрещает процессу доступ к физическим адресам другого процесса. Два режима работы: режим ядра, в котором …
Pic.150
Операционные системы Управление виртуальной памятью в Win32
Операционные системы Управление виртуальной памятью в Win32
Pic.151
Каталог страниц и свопинг Каждому процессу назначается свой каталог страниц. Именно поэтому адресное
Каталог страниц и свопинг Каждому процессу назначается свой каталог страниц. Именно поэтому адресное пространство каждого процесса изолировано, что очень хорошо с точки зрения защиты процессов друг …
Pic.152
Страничное преобразование
Страничное преобразование
Pic.153
Элемент таблицы страниц
Элемент таблицы страниц
Pic.154
Отдельные состояния страниц Valid – страница используется процессом. Она реально существует в ОП и п
Отдельные состояния страниц Valid – страница используется процессом. Она реально существует в ОП и помечена в PTE как присутствующая в рабочем множестве процесса (P=1, T=0). Modified – содержимое …
Pic.155
Реализация свопинга С понятием свопинга связаны три стратегии: выборка (fetch); размещение (placemen
Реализация свопинга С понятием свопинга связаны три стратегии: выборка (fetch); размещение (placement); замещение (replacement).
Pic.156
Архитектура памяти в Win32 API Организация «статической» виртуальной памяти
Архитектура памяти в Win32 API Организация «статической» виртуальной памяти
Pic.157
Работа приложений с виртуальной памятью Блок адресов в адресном пространстве процесса может находить
Работа приложений с виртуальной памятью Блок адресов в адресном пространстве процесса может находиться в одном из трех состояний Выделен (committed) – блоку адресов назначена физическая память либо …
Pic.158
Функции API для работы виртуальной памятью VirtualAlloc VirtualFree VirtualQuery
Функции API для работы виртуальной памятью VirtualAlloc VirtualFree VirtualQuery
Pic.159
Архитектура памяти в Win32 API Организация «динамической» виртуальной памяти
Архитектура памяти в Win32 API Организация «динамической» виртуальной памяти
Pic.160
Кучи (heaps) Кучи (heaps) – это динамически распределяемые области данных. HANDLE GetProcessHeap( vo
Кучи (heaps) Кучи (heaps) – это динамически распределяемые области данных. HANDLE GetProcessHeap( void ) – для получения дескриптора кучи по умолчанию; LPVOID HeapAlloc( HANDLE hHeap, DWORD dwFlags, …
Pic.161
Создание новых куч для защиты друг от друга различных структур данных; для повышения эффективности у
Создание новых куч для защиты друг от друга различных структур данных; для повышения эффективности управления памятью; для уменьшения рабочего множества процесса; для повышения эффективности работы …
Pic.162
Архитектура памяти в Win32 API Файлы, проецируемые в память
Архитектура памяти в Win32 API Файлы, проецируемые в память
Pic.163
Проецируемые файлы “Как и виртуальная память, проецируемые файлы позволяют резервировать регион адре
Проецируемые файлы “Как и виртуальная память, проецируемые файлы позволяют резервировать регион адресного пространства и передавать ему физическую память. Различие между этими механизмами состоит в …
Pic.164
Применение проецируемых файлов Этот механизм имеет три применения в Win32: Для запуска исполняемых ф
Применение проецируемых файлов Этот механизм имеет три применения в Win32: Для запуска исполняемых файлов (EXE) и динамически связываемых библиотек (DLL). Для работы с файлами. Для одновременного …
Pic.165
Запуск исполняемых файлов и DLL При исполнении функции CreateProcess система обращается к VMM для вы
Запуск исполняемых файлов и DLL При исполнении функции CreateProcess система обращается к VMM для выполнения следующих действий Создать адресное пространство процесса (размером 4Gb). Резервировать в …
Pic.166
Запуск EXE-файлов и DLL-библиотек
Запуск EXE-файлов и DLL-библиотек
Pic.167
Одновременное использование одной области данных двумя процессами
Одновременное использование одной области данных двумя процессами
Pic.168
Файлы данных, проецируемые в память Проецирование файла данных в память: Создается объект ядра “файл
Файлы данных, проецируемые в память Проецирование файла данных в память: Создается объект ядра “файл”. Для создания объекта “файл” используется функция CreateFile. С помощью функции CreateFileMapping …
Pic.169
Операционные системы Управление центральным процессором и объединение ресурсов
Операционные системы Управление центральным процессором и объединение ресурсов
Pic.170
Управление центральным процессором… Процессы и потоки
Управление центральным процессором… Процессы и потоки
Pic.171
Основные понятия Задание – набор процессов, управляемых как единое целое, с общими квотами и лимитам
Основные понятия Задание – набор процессов, управляемых как единое целое, с общими квотами и лимитами Процесс – контейнер для ресурсов Поток – сущность планируемая ядром Волокно – облегченный поток, …
Pic.172
Процессы Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной
Процессы Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы. Понятие "процесс" включает следующее: исполняемый код; собственное адресное …
Pic.173
Процесс и его ресурсы
Процесс и его ресурсы
Pic.174
Атрибуты процесса в Windows NT-2000 Идентификатор процесса – уникальное значение, которое идентифици
Атрибуты процесса в Windows NT-2000 Идентификатор процесса – уникальное значение, которое идентифицирует процесс в рамках операционной системы. Закрытое виртуальное адресное пространство – диапазон …
Pic.175
Нити (thread) Нить (поток) – это непрерывная последовательность инструкций, выполняющих определенную
Нити (thread) Нить (поток) – это непрерывная последовательность инструкций, выполняющих определенную функцию. Для выполнения нити необходимы две вещи: системное время и адресное пространство. Нить не …
Pic.176
Атрибуты нити в Windows NT-2000 Идентификатор клиента – уникальное значение, которое идентифицирует
Атрибуты нити в Windows NT-2000 Идентификатор клиента – уникальное значение, которое идентифицирует нить при ее обращении к серверу. Контекст нити – информация, которая необходима ОС для того, чтобы …
Pic.177
Задание (job) в Windows 2000 В Windows 2000 в модель процессов введено новое расширение – задания (j
Задание (job) в Windows 2000 В Windows 2000 в модель процессов введено новое расширение – задания (jobs). Задания предназначены в основном для того, чтобы группами процессов можно было оперировать и …
Pic.178
Квоты и лимиты для заданий (job) квоты (базовые и расширенные базовые ограничения): максимальное кол
Квоты и лимиты для заданий (job) квоты (базовые и расширенные базовые ограничения): максимальное количество процессов; суммарное время центрального процессора (для каждого процесса и для задания в …
Pic.179
Волокна (fibers) в Windows 2000 Введены в Windows 2000 для переноса существующих серверных приложени
Волокна (fibers) в Windows 2000 Введены в Windows 2000 для переноса существующих серверных приложений из UNIX. Реализованы на уровне кода пользовательского режима. Процессорное время между волокнами …
Pic.180
Управление центральным процессором… Планирование загрузки процессорного времени
Управление центральным процессором… Планирование загрузки процессорного времени
Pic.181
Системный планировщик в Windows NT-2000 Вытесняющая мультипоточность. Квантование времени. Приоритет
Системный планировщик в Windows NT-2000 Вытесняющая мультипоточность. Квантование времени. Приоритетный режим обслуживания: абсолютные приоритеты; динамические приоритеты.
Pic.182
Квантование времени
Квантование времени
Pic.183
Приоритетный режим обслуживания Разработчик ПО может использовать приоритеты от 1 до 31. Нулевой при
Приоритетный режим обслуживания Разработчик ПО может использовать приоритеты от 1 до 31. Нулевой приоритет зарезервирован для потока обнуления страниц. Поток наследует приоритет процесса, породившего …
Pic.184
Классы приоритета процессов
Классы приоритета процессов
Pic.185
Относительные приоритеты потоков
Относительные приоритеты потоков
Pic.186
Иллюстрация по приоритетам для Windows 2000
Иллюстрация по приоритетам для Windows 2000
Pic.187
Динамические приоритеты
Динамические приоритеты
Pic.188
Принципы адаптивного планирования Если поток полностью исчерпал свой квант, то его приоритет понижае
Принципы адаптивного планирования Если поток полностью исчерпал свой квант, то его приоритет понижается на некоторую величину. Приоритет потоков, которые перешли в состояние ожидания, не использовав …
Pic.189
“Голодающие” потоки Пример: Представьте, что поток с приоритетом 4 готов к выполнению, но не может п
“Голодающие” потоки Пример: Представьте, что поток с приоритетом 4 готов к выполнению, но не может получить доступ к процессору из-за того, что его постоянно занимают потоки с приоритетом 8. Это …
Pic.190
Алгоритм планировщика Нить освобождает процессор, если: блокируется, уходя в состояние ожидания; зав
Алгоритм планировщика Нить освобождает процессор, если: блокируется, уходя в состояние ожидания; завершается; исчерпан квант; в очереди готовых появляется более приоритетная нить.
Pic.191
Граф состояний нити для Windows 2000
Граф состояний нити для Windows 2000
Pic.192
Основы управления процессами API Win32 для создания и завершения процессов
Основы управления процессами API Win32 для создания и завершения процессов
Pic.193
Создание процесса BOOL CreateProcess ( PCTSTR pszApplicationName, // имя исполняемого файла PTSTR ps
Создание процесса BOOL CreateProcess ( PCTSTR pszApplicationName, // имя исполняемого файла PTSTR pszCommandLine, // командная строка PSECURITY_ATTRIBUTES psaProcess, // PSECURITY_ATTRIBUTES …
Pic.194
Флаги потоков DEBUG_PROCESS DEBUG_ONLY_THIS_PROCESS CREATE_SUSPENDED DETACHED_PROCESS CREATE_NEW_CON
Флаги потоков DEBUG_PROCESS DEBUG_ONLY_THIS_PROCESS CREATE_SUSPENDED DETACHED_PROCESS CREATE_NEW_CONSOLE CREATE_NO_WINDOW CREATE_BREAKAWAY_FROM_JOB IDLE_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS …
Pic.195
Завершение процесса входная функция первичного потока возвращает управление (рекомендуемый способ);
Завершение процесса входная функция первичного потока возвращает управление (рекомендуемый способ); один из потоков процесса вызывает функцию ExitProcess (нежелательный способ); поток другого …
Pic.196
Функция ExitProcess Процесс завершается, когда один из его потоков вызывает ExitProcess: VOID ExitPr
Функция ExitProcess Процесс завершается, когда один из его потоков вызывает ExitProcess: VOID ExitProcess(UINT fuExitCode); Эта функция завершает процесс и заносит в параметр fuExitCode код …
Pic.197
Функция TerminateProcess Вызов функции TerminateProcess тоже завершает процесс: BOOL TerminateProces
Функция TerminateProcess Вызов функции TerminateProcess тоже завершает процесс: BOOL TerminateProcess( HANDLE hProcess, UINT fuExitCode); Параметр bProcess идентифицирует описатель завершаемого …
Pic.198
Когда все потоки процесса “уходят” Обнаружив, что в процессе не исполняется ни один поток, операцион
Когда все потоки процесса “уходят” Обнаружив, что в процессе не исполняется ни один поток, операционная система немедленно завершает его. При этом код завершения процесса приравнивается коду …
Pic.199
Управление динамическими приоритетами потоков процесса BOOL SetProcessPriorityBoost( HANDLE hProcess
Управление динамическими приоритетами потоков процесса BOOL SetProcessPriorityBoost( HANDLE hProcess, // дескриптор процесса BOOL DisablePriorityBoost // состояние //форсированного приоритета ); BOOL …
Pic.200
Основы управления процессами API Win32 для управления потоками
Основы управления процессами API Win32 для управления потоками
Pic.201
Создание потока HANDLE CreateThread ( PSECURITY_ATTRIBUTES psa, SIZE_T cbStack, PTHREAD_START_ROUTIN
Создание потока HANDLE CreateThread ( PSECURITY_ATTRIBUTES psa, SIZE_T cbStack, PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam, DWORD dwCreate, PDWORD pdwThreadID );
Pic.202
Установка приоритета Поток создается с приоритетом потока THREAD_PRIORITY_NORMAL. Используйте функци
Установка приоритета Поток создается с приоритетом потока THREAD_PRIORITY_NORMAL. Используйте функции GetThreadPriority и SetThreadPriority, чтобы получать и установить приоритетное значение потока. …
Pic.203
Приоритеты потоков
Приоритеты потоков
Pic.204
Завершение потока функция потока возвращает управление (рекомендуемый способ); поток самоуничтожаетс
Завершение потока функция потока возвращает управление (рекомендуемый способ); поток самоуничтожается вызовом функции ExitThread (нежелательный способ); один из потоков данного или стороннего …
Pic.205
Функция ExitThread Поток можно завершить принудительно, вызвав: VOID ExitThread(DWORD dwExitCоde); В
Функция ExitThread Поток можно завершить принудительно, вызвав: VOID ExitThread(DWORD dwExitCоde); В параметр dwExitCode Вы помещаете значение, которое система рассматривает как код завершения потока.
Pic.206
Функция TerminateThread Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThre
Функция TerminateThread Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode); В параметр dwExitCode помещается код завершения потока. После того как поток …
Pic.207
Если завершается процесс Функции ExitProcess и TerminateProcess принудительно завершают потоки, прин
Если завершается процесс Функции ExitProcess и TerminateProcess принудительно завершают потоки, принадлежащие завершаемому процессу.
Pic.208
Действия при завершении потока Освобождаются все описатели User-объектов, принадлежавших потоку. Код
Действия при завершении потока Освобождаются все описатели User-объектов, принадлежавших потоку. Код завершения потока меняется со STILL_ACTIVE на код, переданный в функцию ExitThread или …
Pic.209
Управление динамическими приоритетами потока BOOL SetThreadPriorityBoost( HANDLE hThread, // дескрип
Управление динамическими приоритетами потока BOOL SetThreadPriorityBoost( HANDLE hThread, // дескриптор потока BOOL DisablePriorityBoost // состояние //форсирования приоритета ); BOOL …
Pic.210
Управление потоками Флаг CREATE_SUSPENDED DWORD ResumeThread(HANDLE hThread); - возобновить поток DW
Управление потоками Флаг CREATE_SUSPENDED DWORD ResumeThread(HANDLE hThread); - возобновить поток DWORD SuspendThread(HANDLE hThread); - “заморозка” потока
Pic.211
Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); - “заморозить” себя на определ
Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); - “заморозить” себя на определенное время BOOL SwitchToThread();
Pic.212
Определение периодов выполнения потока BOOL GetThreadTimes( HANDLE hThread, PFILETIME pftCreationTim
Определение периодов выполнения потока BOOL GetThreadTimes( HANDLE hThread, PFILETIME pftCreationTime, PFILETIME pftExitTime, PFILETIME pftKernelTime, PFILETIME pftUserTime );
Pic.213
Операционные системы Межпроцессное взаимодействие
Операционные системы Межпроцессное взаимодействие
Pic.214
Виды межпроцессного взаимодействия (IPC) Передача информации от одного процесса другому Предотвращен
Виды межпроцессного взаимодействия (IPC) Передача информации от одного процесса другому Предотвращение критических ситуаций Синхронизация процессов
Pic.215
Межпроцессное взаимодействие Предотвращение критических ситуаций и средства синхронизации процессов
Межпроцессное взаимодействие Предотвращение критических ситуаций и средства синхронизации процессов
Pic.216
Возникновение гонок (состязаний) Два процесса хотят получить доступ к общей памяти в одно и тоже вре
Возникновение гонок (состязаний) Два процесса хотят получить доступ к общей памяти в одно и тоже время.
Pic.217
Критические секции Критическая секция – это часть программы, результат выполнения которой может непр
Критические секции Критическая секция – это часть программы, результат выполнения которой может непредсказуемо меняться, если переменные, относящиеся к этой части программы, изменяются другими …
Pic.218
Условия исключения гонок Два процесса не должны одновременно находиться в критической секции В прогр
Условия исключения гонок Два процесса не должны одновременно находиться в критической секции В программе не должно быть предположений о скорости или количестве процессоров Процесс вне критической …
Pic.219
Семафоры Семафор - неотрицательная целая переменная S >= 0, которая может изменяться и проверятьс
Семафоры Семафор - неотрицательная целая переменная S >= 0, которая может изменяться и проверяться только посредством двух неделимых примитивов: V(S): переменная S увеличивается на 1 единым …
Pic.220
Задача о читателях и писателях
Задача о читателях и писателях
Pic.221
Мьютексы Мьютекс – переменная, которая может находиться в одном из двух состояний: блокированном или
Мьютексы Мьютекс – переменная, которая может находиться в одном из двух состояний: блокированном или неблокированном. Если процесс хочет войти в критическую секцию – он вызывает примитив блокировки …
Pic.222
Межпроцессное взаимодействие Синхронизация потоков с использованием объектов ядра Windows 2000
Межпроцессное взаимодействие Синхронизация потоков с использованием объектов ядра Windows 2000
Pic.223
Синхронизация потоков Синхронизация означает способность потока приостанавливать свое исполнение и ж
Синхронизация потоков Синхронизация означает способность потока приостанавливать свое исполнение и ждать, пока не завершится выполнение некоторой операции другим потоком.
Pic.224
Объекты синхронизации и их состояния процессы потоки задания файлы консольный ввод
Объекты синхронизации и их состояния процессы потоки задания файлы консольный ввод
Pic.225
Спящие потоки
Спящие потоки
Pic.226
Функции ожидания Ожидание одного объекта DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMillisec
Функции ожидания Ожидание одного объекта DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds );
Pic.227
Объекты синхронизации События Ожидаемый таймер Семафор Мьютекс
Объекты синхронизации События Ожидаемый таймер Семафор Мьютекс
Pic.228
События События – самая примитивная разновидность объектов ядра. Они содержат счетчик числа пользова
События События – самая примитивная разновидность объектов ядра. Они содержат счетчик числа пользователей (как и все объекты ядра) и две булевы переменные: одна сообщает тип данного объекта-события, …
Pic.229
Создание события HANDLE CreateEvent( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, BOOL fInitialState
Создание события HANDLE CreateEvent( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, BOOL fInitialState, // свободен / занят PCTSTR pszName ); HANDLE OpenEvent( DWORD fdwAccess, BOOL fInhent, PCTSTR …
Pic.230
Управление событием Перевод события в свободное состояние: BOOL SetEvent(HANDLE hEvenеt); Перевод со
Управление событием Перевод события в свободное состояние: BOOL SetEvent(HANDLE hEvenеt); Перевод события в занятое состояние: BOOL ResetEvent(HANDLE hEvent); Освобождение события и перевод его …
Pic.231
Ожидаемые таймеры Ожидаемые таймеры (waitable timers) – это объекты ядра, которые самостоятельно пер
Ожидаемые таймеры Ожидаемые таймеры (waitable timers) – это объекты ядра, которые самостоятельно переходят в свободное состояние в определенное время или через регулярные промежутки времени.
Pic.232
Создание ожидаемого таймера HANDLE CreateWaitableTimer( PSECURITY_ATTRIBUTES psa, BOOL fManualReset,
Создание ожидаемого таймера HANDLE CreateWaitableTimer( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, PCTSTR pszName // имя объекта ); HANDLE OpenWaitableTimer( DWORD dwDesiredAccess, BOOL …
Pic.233
Управление ожидаемым таймером BOOL SetWaitableTimer( HANDLE hTimer, const LARGE_INTEGER *pDueTime, L
Управление ожидаемым таймером BOOL SetWaitableTimer( HANDLE hTimer, const LARGE_INTEGER *pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, PVOID pvArgToCompletionRoutine, BOOI fResume ); …
Pic.234
Создание семафора HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, // начальное
Создание семафора HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, // начальное значение LONG lMaximumCount, // “объем” PCTRTR pszName); HANDLE OpenSemaphore( DWORD fdwAccess, …
Pic.235
Управление семафором Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей оп
Управление семафором Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель семафора. BOOL ReleaseSemaphore( HANDLE hSem, LONG lReleaseCount, PLONG plPreviousCount);
Pic.236
Создание мьютекса HANDLE CreateMutex( PSECURITY_ATTRIBUTES psa, BOOL fInitialOwner, PCTSTR pszName);
Создание мьютекса HANDLE CreateMutex( PSECURITY_ATTRIBUTES psa, BOOL fInitialOwner, PCTSTR pszName); HANDLE OpenMutex( DWORD fdwAccess, BOOL fInheritHandle, PCTSTR pszName);
Pic.237
Управление мьютексом Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей оп
Управление мьютексом Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель мьютекса. BOOL ReleaseMutex(HANDLE hMutex);
Pic.238
Межпроцессное взаимодействие Передача информации
Межпроцессное взаимодействие Передача информации
Pic.239
Методы передачи информации
Методы передачи информации
Pic.240
Сообщение WM_COPYDATA Отправитель: COPYDATASTRUCT cds; cds. cbData = (DWORD) nSize; // Размер буфера
Сообщение WM_COPYDATA Отправитель: COPYDATASTRUCT cds; cds. cbData = (DWORD) nSize; // Размер буфера cds. lpData = (PVOID) pBuffer; // Буфер с данными SendMessage (hWndTarget, WM_COPYDATA, (WPARAM) …
Pic.241
Анонимные каналы Анонимные каналы не имеют имен. Не пригодны для обмена через сеть. Главная цель – с
Анонимные каналы Анонимные каналы не имеют имен. Не пригодны для обмена через сеть. Главная цель – служить каналом между родительским и дочерним процессом или между дочерними процессами. …
Pic.242
Анонимные каналы BOOL CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPip
Анонимные каналы BOOL CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ); ReadFile WriteFile
Pic.243
Передача дескрипторов Установить паpаметp bInheritable стpуктуpы SECURITY_ATTRIBUTES в TRUE, чтобы д
Передача дескрипторов Установить паpаметp bInheritable стpуктуpы SECURITY_ATTRIBUTES в TRUE, чтобы дескрипторы могли наследоваться. Вызов функции CreateProcess с параметром blnheritHandles = TRUE …
Pic.244
Создание 2-ого дескриптора BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle,
Создание 2-ого дескриптора BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, …
Pic.245
NPFS Named Pipe File System является виртуальной файловой системой, которая управляет каналами named
NPFS Named Pipe File System является виртуальной файловой системой, которая управляет каналами named pipes. Каналы named pipes относятся к классу файловых объектов (API Win32). RPC реализован как …
Pic.246
Работа с именованными каналами Серверный процесс создает канал на локальном компьютере с помощью фун
Работа с именованными каналами Серверный процесс создает канал на локальном компьютере с помощью функции программного интерфейса Win32 CreateNamedPipe. Серверный процесс активизирует канал при помощи …
Pic.247
Создание именованного канала HANDLE CreateNamedPipe ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipe
Создание именованного канала HANDLE CreateNamedPipe ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, …
Pic.248
Подключение к именованному каналу BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapp
Подключение к именованному каналу BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ); BOOL DisconnectNamedPipe ( HANDLE hNamedPipe );
Pic.249
Обмен данными по именованному каналу BOOL ReadFile/WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD
Обмен данными по именованному каналу BOOL ReadFile/WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped );
Pic.250
Работа с каналом и ее завершение После установления виртуального соединение серверный процесс и клие
Работа с каналом и ее завершение После установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при помощи пар функций "ReadFile" и …
Pic.251
Почтовые ящики (MailSlots) Аналогичны именованным каналам, но предоставляют более простой и однонапр
Почтовые ящики (MailSlots) Аналогичны именованным каналам, но предоставляют более простой и однонаправленный интерфейс. Процесс-сервер может завести почтовый ящик и дать ему имя, глобальное в сети. …
Pic.252
Mailslot является одним из механизмов, предназначенных для осуществления обмена данными между процес
Mailslot является одним из механизмов, предназначенных для осуществления обмена данными между процессами (IPC). При этом процессы могут быть запущены как на одной ПЭВМ (локально), так и разных ПЭВМ, …
Pic.253
Для открытия канала, созданного на другом компьютере в сети, необходимо указать имя в формате \ИмяК
Для открытия канала, созданного на другом компьютере в сети, необходимо указать имя в формате \ИмяКомпьютера\mailslot\[Путь]ИмяКанала Можно открыть канал для передачи информации сразу всем …
Pic.254
Создание почтового ящика Mailslot на “сервере” HANDLE CreateMailslot ( LPCTSTR lpName, // имя DWORD
Создание почтового ящика Mailslot на “сервере” HANDLE CreateMailslot ( LPCTSTR lpName, // имя DWORD nMaxMessageSize, // максимальный размер DWORD lReadTimeout, // интервал-тайм аута чтения …
Pic.255
Создание клиента почтового ящика HANDLE hSlot = CreateFile(("\\computername\mailslot\messng
Создание клиента почтового ящика HANDLE hSlot = CreateFile(("\\computername\mailslot\messngr", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if …
Pic.256
Получение информации о почтовом ящике BOOL GetMailslotInfo ( HANDLE hMailslot, // указатель на слот
Получение информации о почтовом ящике BOOL GetMailslotInfo ( HANDLE hMailslot, // указатель на слот LPDWORD lpMaxMessageSize, // максимальный размер LPDWORD lpNextSize, // размер следующего LPDWORD …
Pic.257
Изменение свойств ящика BOOL SetMailslotInfo( HANDLE hMailslot, DWORD lpReadTimeout );
Изменение свойств ящика BOOL SetMailslotInfo( HANDLE hMailslot, DWORD lpReadTimeout );
Pic.258
Динамически компонуемые библиотеки (Dynamic Link Library) Если два приложения используют одну библио
Динамически компонуемые библиотеки (Dynamic Link Library) Если два приложения используют одну библиотеку, то они разделяют все глобальные переменные этой библиотеки. В действительности, глобальные …
Pic.259
Раздел с общими данными в DLL #pragma data_seg(". shared") //Общие данные #pragma data_seg
Раздел с общими данными в DLL #pragma data_seg(". shared") //Общие данные #pragma data_seg() UsersDll. def: LIBRARY "UsersDll" SECTIONS . shared READ WRITE SHARED


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!