Программирование системы Windows, которое стимулирует мозг
Глава 1 Первая история компьютерной структуры
- Понимание и подход к системному программированию
- Системное программирование?
- Основные компоненты компьютерных систем
- Конфигурация компьютерного оборудования
- ЦП (центральная обработка)
- Основная память
- Вход/выходная шина
- Понимание процессора
- Алу (арифметическая логика)
- Управляющий блок
- Зарегистрированные наборы внутри процессора
- Автобусный интерфейс
- Тактовой пульс
- Процесс выполнения программы
- Великий математик фон Нейман
- Процесс выполнения программы
- Примирение
Глава 2 Asciicode против Unicode
- Unicode в Windows
- Типы и характеристики набора символов
- MBCS -основанная строка
- Программирование на основе WBCS
- Одновременная поддержка MBC и WBCS
- `#include <Windows.h>
- Ресурсы, определяемые Windows
- Макро для поддержки MBC и WBCS (Unicode) одновременно
- Функции для поддержки MBCS и WBCS (Unicode) одновременно
3 Глава 64 -бит -на основе программирования
- Win 32 против Win 64
- 64 -бит и 32 -бит
- 64 -бит -компьютер с точки зрения программиста
- Win 32 против Win 64 с точки зрения реализации программы
- LLP64 против LP64
- 64 -бит и 32 -битные проблемы сосуществования
- Материалы в стиле Windows
- Проверьте тип данных Windows
- Полиморфный тип данных
- Из ошибок
- Функция getLasterRor и код ошибки
- Дизайн проекта системного программирования
- Предложение проекта командной строки
- Предложения по проектам командной строки и реализации команд выхода
Глава 4 Вторая история компьютерной структуры
- Как приблизиться к компьютерной структуре
- Давайте разработать компьютер
- Давайте спроектируем регистр
- Структура и команда дизайна
- Дизайн команд загрузки и магазина
- Необходимость команды загрузки и магазина
- Дизайн команд загрузки и магазина
- Прямой режим и непрямой режим
- Проблемы в прямом режиме и предложении косвенного режима
- Понимание режима Indiret
- Пример использования косвенного режима
Глава 5 Создание и вымирание процессов
- Понимание процесса
- Что такое процесс?
- Элемент
- Смена графика и статуса процесса
- Планирование процесса
- Изменение процесса процесса
- Понимание статуса процесса, повторное понимание сценариями
- Контекст переключение
- Создание процессов
- Создание процессов
- Понимание функции CreateProcess
- Понимание функции CreateProcess через пример
- Композиция и выполнение окружающей среды для практики
- Примеры и проблемы, связанные с созданием процесса
- Добавить функцию проекта командной строки
Глава 6 Объекты ядра и сталь объекта
- Понимание объекта ядра
- Понимание объекта ядра
- Другие объекты ядра
- Объект ядра и обрабатывать отношения зависимостей
- Объект ядра и количество использования
- Добавить функцию проекта командной строки
Глава 7 Связь между процессами (IPC) 1
- Значение межпроцессной связи (IPC)
- Тип почтового слота IPC
- Сигнализировано против не подписываемого
Глава 8 Interceptors (IPC) 2
- Наследование таблиц с ручкой и ручками объекта
- Трубка
- Процесс переменной среды
- Добавить функцию проекта командной строки
Глава 9 Алгоритм планирования и приоритет
- Планирование процесса
- Различия между обычной ОС и ОС в реальном времени
- Sott rtos против жесткого RTOS
- Упреждающая ОС и не -линейная точка ОС
- Приоритетный алгоритм планирования
- Алгоритм расписания круговой робин
- Планирование по алгоритму планирования
- Приоритетная инверсия
- Приоритет процесса Windows
- Добавить функцию проекта командной строки
- Понимание перенаправления
- Как реализовать перенаправление
- Ответ, который я реализовал
Глава 10 Третья история компьютерной структуры
- Процедурная модель CPU Support
- Структура кадра стека
- SP Регистр
- Регистр указателя кадров
- Давайте храним его на стеке, указатель рамы
- Функциональная доставка коэффициента вызова и дизайн инструкций push & pop
- Коэффициент доставки функциональных вызовов
- Дизайн команд Push & Pop
- Движение исполнения по вызову функций
- Структура памяти и счетчик программы, чтобы оглянуться назад (счетчик программы)
- Функциональный вызов и функция заканчиваются
- Вызовая конвенция
Глава 11 Понимание потока
- Что такое ветка?
- Программа на основе много -процедуры
- Проблемы и новые предложения для программ на основе многопроцессов на основе операционной системы
- Решение, поток
- Процесс и потока этого процесса из структуры памяти
- Процессы и потоки в Windows
- Классификация в соответствии с моделью реализации потока
- Поток уровня ядра и поток пользовательского уровня
- Режим ядра и пользовательский режим
- Преимущества и недостатки потоков уровня ядра и потоков уровня пользователя
Глава 12 Создание и разрушение потока
- Создание и вымирание потока в Windows
- Генерация потоков
- Исчезновение Тема (включая дополнительные истории о производстве потоков)
- Личность и характеристики Тема
- Проверка бедер, областей данных и областей кода
- Проблемы в одновременном подходе
- Отделение потока от процесса
- Библиотека и нить ANSI Standard C
- Нить
- Изменение потока
- Приостановка и резюме
- Приоритет потока
Глава 13 Техника синхронизации потока 1
- Что такое синхронизация потоков?
- Синхронизация потоков с двух точек зрения
- Два метода в синхронизации потоков
- Синхронизация подхода критического раздела подход
- Понимание критического раздела
- Синхронизация в пользовательском режиме
- Синхронизация на основе критического раздела
- Семейное семейство синхронизации на основе функций на основе функций
- Синхронизация в режиме ядра
- Синхронизация на основе MUTEX
- Семапур на основе синхронизации
- Синхронизация имени MUTEX на основе имени MUTEX
- Право собственности на Mutex и wait_abandoned
Глава 14 Техника синхронизации потоков 2
- Синхронизация в порядке исполнения
- Производитель/потребительская модель
- Синхронизация на основе события
- Пример использования событий в режиме сброса ручного сброса
- Событие плюс мутекс
- Пример приложений и объектов MUTEX
- Таймер синхронизация
- Ручной сброс таймер
- Периодический
Глава 15
- Понимание пула потоков
- Реализация пула потоков
- Интерпретация с помощью модуля реализации пула потоков
- Полный исходный код реализации потока
- Добавить функцию проекта командной строки
- Труба, соединяющая вход и выход
- Принцип реализации
- Выполнение
Глава 16 Четвертая история компьютерной структуры
Глава 17 Техника обработки структурных исключений (SEH)
- SEH (обработка исключений)
- Необходимость обработки исключений
- Разница между исключениями и ошибками
- Аппаратное исключение и исключение программного обеспечения
- Обработчик завершения
- Принцип базового состава и действий терминов
- Примерное исследование использования конечного обработки 1
- Конечный обработчик использования тематического исследования 2
- Обработчик исключений
- Обработчик исключений и фильтр
- Примерное исследование использования исключений
- Движение необработанных исключений
- Обработчик
- Как различать типы и исключения определенных исключений
- Exception_continue_excusion & Exception_continue_search
- Программное программное определение разработчика исключение
- Появление исключений программного обеспечения
- GetExceptionInformation
Глава 18 Файл ввода/вывода и управление каталогами
- Основные функции обработки файлов
- Файл открыть и закрыть
- Чтение и написание файлов и указатели
- Примеры открытия, чтения, написания и закрытия файла
- Получите информацию о времени файла
- Получите размер файла
- Получите характерную информацию файла
- Получить от характерной информации файла
- Получить информацию о пути файла
- Движение указателя файла -32 -bit base
- Движение указателя файла -64 -bit base
- Функции, связанные с каталогом и другие функции
- Создание и вымирание каталога
- Текущий каталог, системный каталог и каталог Windows
- Найдите файл в каталоге
- Добавить функцию проекта командной строки
- Xcopy понимание
- Объем и метод реализации XCOP
- Корпус реализации XCOPY
Глава 19 Асинхронный ввод/вывод и APC
- Асинхронный ввод/вывод
- Понимание асинхронного ввода -вывода
- Перекрытый ввод/вывод
- Перекрытый пример ввода/вывода
- Работа по эксплуатации инфраструктуры
- Осторожное состояние
- Информация о местоположении файла перекрывающейся структуры
- Полная рутина на таймере
- Контент до сих пор
- APC (асинхронная процедура вызов)
- Структура APC
- Доступ к очереди APC
Глава 20 Виртуальная память (Heap, MMF)
- Управление виртуальной памятью
- Резервировать, совершать и бесплатно
- Проверка отправной точки и единицы распределения памяти
- Функция VirtualAlloc & VirtualFree
- Динамический дизайн массива
- Управление кучей
- Моя память о управлении кучей
- По умолчанию Heap & Windows Hip в системе Windows
- Управление бедром по умолчанию
- Еще одно преимущество производства динамической кучи
- Создание, вымирание и назначение бедра
- Пример кучи и связанного списка
- MMF (файл отображения памяти)
- Понимание MMF
- Процесс реализации MMF
- Функция реализации MMF
- Пример конфигурации MMF 1
- MMF для написания
- Копия на записи (корова)
Глава 21 Динамическая связывающая библиотека
- Библиотека и печатная плана!
- вопрос
- Ответ - библиотека
- Мотивация для написания библиотек
- Напишите библиотеку
- Статическая библиотека
- Другая библиотека DLL
- Понимание динамической библиотеки связывания (DLL)
- Разница между DLL и статической библиотекой
- Производство DLL 1: неявное связывание
- DLL и внешняя объявление
- Производство DLL 2: явное связывание
- DLL, который может быть загружен более одного раза
- Это вопрос создания некоторых из файлов Hoder!
- Как минимум три головы
- Поддержка всех с одним файлом заголовка