- •Операционные системы и их интерфейсы.
- •Графические ос
- •Речевые ос
- •Динамически подключаемые библиотеки.
- •Потоки и процессы.
- •Локальная память потока
- •Потоки в Windows.
- •Сервисы в Windows
- •7. Процессы в виндовс
- •8.Работа с сервисами виндовс
- •Синхронизация.
- •Система информационной безопасности
- •Синхронизация потоков в Windows
- •Управление безопасностью в Windows
- •3. Управляемый доступ к сети
- •13. Взаимоисключающий доступ к переменным
- •Управление пользователями
- •Управление группами
- •Структура консольного приложения
- •Работа с идентификаторами безопасности
- •19, Работа с консолью
- •20. Работа с дескрипторами безопасности
- •21. Работа с окном консоли
- •Часть III. Программирование консольных приложений
- •22. Работа со списками управления доступом на высоком уровне
- •23. Работа с буфером экрана
- •24. Работа с привилегиями
- •Ввод-вывод на консоль
- •Работа с маркерами доступа
- •Первичный маркер доступа
- •Имперсонализирующие маркер доступа
- •Передача данных
- •Работа со списками управления доступом на низком уровне
- •Работа с анонимными каналами в Windows
- •Управление безопасностью объектов на низком уровне
- •Глава 45. Управление безопасностью объектов на низком уровне 993
- •31) Работа с именованными каналами в Windows
- •32) Win32 и Win64. Программирование в среде Win64.
- •33) Работа с почтовыми ящиками в Windows
- •34) Использование файловой системы и функций символьного ввода/вывода Windows
- •35) Фреймовая обработка исключений
- •36) Усовершенствованные средства для работы с файлами и каталогами и знакомство с реестром
- •37. Финальная обработка исключений
- •38. Обработка исключений
- •39. Виртуальная память
- •40 . Управление памятью, отображение файлов и библиотеки dll
- •41. Работа с виртуальной памятью в windows
- •42.Управление процессами
- •43. Работа с кучей в Windows
- •44. Потоки и планирование выполнения
- •45. Общие концепции управления файлами
- •46. Синхронизация потоков
- •47. Работа с файлами в Windows
- •48. Влияние синхронизации на производительность и рекомендации по ее повышению
- •49) Работа с каталогами (папками) в Windows
- •50) Усовершенствованные методы синхронизации потоков
- •51) Асинхронный вызов процедур
- •52) Взаимодействие между процессами
- •53) Асинхронный доступ к данным.
- •54) Сетевое программирование с помощью сокетов Windows
- •55)Порты завершения
- •57)Работа с ожидающим таймером
- •58)Асинхронный ввод/вывод и порты завершения
- •Порты завершения ввода-вывода
- •59)Отображение файлов в память.
- •Достоинства метода. Альтернативой отображению может служить прямое чтение файла или запись в файл. Такой способ работы менее удобен по следующим причинам:
- •60)Безопасность объектов Windows
- •Операционные системы и их интерфейсы.
53) Асинхронный доступ к данным.
Синхронный и асинхронный ввод-вывод концептуально нисколько не отличается от синхронного и асинхронного обмена данными. При синхронной записи данных в файл поток, выдавший команду записи, блокируется до тех пор, пока данные не будут записаны в файл или буфер. При асинхронной записи данных в файл, после выдачи команды на запись данных, поток не блокируется, а продолжает свою работу. Соответственно, при синхронном чтении данных из файла поток, выдавший команду чтения, блокируется до тех пор, пока данные не будут прочитаны из файла. При асинхронном чтении данных такой блокировки не происходит, и поток продолжает свое исполнение. В операционных системах Windows асинхронный ввод-вывод также называется перекрывающимся (overlapped) вводом-выводом. Для асинхронного ввода-вывода данных в операционных системах Windows исп-ся те же функции ReadFile И WriteFile, и для синхронного ввода-вывода. Однако в этом случае файл должен быть открыт в режиме file_flag_overlapped. Возникает вопрос: как поток узнает о завершении асинхронной операции чтения или записи? Это можно сделать двумя способами.
Первый способ заключается в том, что для этого можно использовать дескриптор файла, который устанавливается в несигнальное состояние после начала каждой асинхронной операции записи или чтения и переходит в сигнальное состояние после завершения асинхронной операции записи или чтения. Однако этот способ не может быть использован, если с одним файлом работает несколько асинхронных операций ввода-вывода. Так как в этом случае невозможно определить какая из асинхронных операций ввода-вывода завершилась.
Второй способ заключается в использовании специального события, которое устанавливается операционной системой в сигнальное состояние при завершении асинхронной операции ввода-вывода. Дескриптор этого события должен находиться в структуре типа overlapped, адрес которой передается в функции асинхронного ввода-вывода.
54) Сетевое программирование с помощью сокетов Windows
Возможность взаимодействия с другими системами (системы, не принадлежащие семейству Windows) обеспечивается в Windows поддержкой сокетов (sockets) Windows Sockets — совместимого и почти точного аналога сокетов Berkeley Sockets, де-факто играющих роль промышленного стандарта. Привлекая средства обеспечения взаимодействия между разнородными системами, ориентированные на стандарты, интерфейс Winsock открывает перед программистами возможность доступа к высокоуровневым протоколам и приложениям, таким как ftp, http, RPC и СОМ, которые в совокупности предоставляют богатый набор высокоуровневых моделей, обеспечивающих поддержку межпроцессного сетевого взаимодействия для систем с различной архитектурой.
Поскольку интерфейс Winsock должен соответствовать промышленным стандартам, принятые в нем соглашения о правилах присвоения имен и стилях программирования несколько отличаются от тех, с которыми мы сталкивались в процессе работы с описанными ранее функциями Windows. Строго говоря, Winsock API не является частью Win32/64. Кроме того, Winsock предоставляет дополнительные функции, не подчиняющиеся стандартам; эти функции используются лишь в случае крайней необходимости. Среди других преимуществ, обеспечиваемых Winsock, следует отметить улучшенную переносимость результирующих программ на другие системы.
