Некоторые сведения об архитектуре Windows

Высшая математика
Решение задач
Понятие производной
Кратные и криволинейные интегралы
Два основных метода интегрирования
Вычисление двойного интеграла
Изменить порядок интегрирования
Примеры решения научно-технических задач
Математический анализ Предел функции
Производная и дифференциал интегрирование
Алгебра формулы
Информатика
Периферийные устройства в Linux
Конфигурирование системы Linux
Введение в систему команд Linux
Программное обеспечение ПК
Задание исходной функции
Аппроксимации рядом Тейлора
Моделирование физических явлений
Аппроксимация полиномами Чебышева
Эффективная оценка рациональных функций
Преобразование в код Фортрана или С
Движение частицы в магнитном поле
Разделение изотопов
Моделирование рассеивания альфа-частиц
Работа с документами в системе Maple
Браузеры Linux электронная почта и факс
Linux рабочая станция
Linux работа в сети Windows и Novel
Linux безопасность и связь сетей с Internet
Работа с трёхмерной графикой
Типы накопителей
Авторизация Категорирование
прав доступа
Некоторые сведения об архитектуре Windows
Графика OpenGL
Среда разработки Visual Studio
Трехмерная графика
Профилактика ПК
Электротехника
Maple для моделирования и расчета
электронных схем
Малосигнальный анализ усилителя
на полевом транзисторе
Расчет аналогового фильтра
Проектирование цифрового фильтра
Моделирование цепи на туннельном диоде
Применение интеграла Дюамеля
линейная алгебра
матричные операции
Пакет статистических расчетов
Регрессионный анализ
Пакет для студентов
Функции интегрирования
работа с таблицами
Физика
Энергетика
Термоядерный синтез
Реакторная технология
Атомные реакторы
История искусства
Архитектурное проектирование
Готическое искусство
Архитектура и живопись
Современный интерьер
русские усадебы
Естественность природы в интерьере
Монументальное и декоративное искусство
Масштаб произведения

  • Windows — многозадачная операционная система Разработчики Windows-приложений живут в особом мире событий и сообщений, в котором последовательность выполнения операций не всегда строго предсказуема
    • Уровни и платформы В последнее время в компьютерном мире обрел популярность термин layer (уровень или слой). Так, различают аппаратный уровень (hardware layer), устойчивый программный уровень (firmware layer) и просто программный уровень (software layer).
    • Однозадачные операционные системы Известно, что в каждый момент времени один процессор может выполнять лишь одну машинную команду. Процессор выполняет команды, последовательно выбирая их одну за другой из памяти в порядке возрастания адресов
    • Многозадачные операционные системы Почти все современные операционные системы (Windows 95, Windows NT, Windows 2000, Unix) поддерживают преимущественную многозадачность {preemptive multi-tasking).
    • Процессы и потоки Многозадачная (multi-process) система позволяет двум или более программам выполняться одновременно. Многопотоковая (multi-threaded) система позволяет одной программе выполнять сразу несколько потоков одновременно
    • Приоритеты процессов Часть ОС, называемая системным планировщиком (system scheduler), управляет переключением заданий, определяя, какому из конкурирующих потоков следует выделить следующий квант времени процессора.
    • Приоритеты потоков Теперь рассмотрим уровни приоритета, которые могут быть присвоены потокам процесса. Внутри каждого процесса, которому присвоен какой-либо класс приоритета, могут существовать потоки, уровень приоритета которых принимает одно из семи возможных значений
    • Переключение потоков Планировщик ОС поддерживает для каждого из базовых уровней приоритета функционирование очереди выполняемых или готовых к выполнению потоков (ready threads queue).
  • Архитектура памяти Win32
    • Разделы адресного пространства Разделы будем рассматривать, двигаясь сверху вниз, от старших адресов к младшим. Верхнюю половину памяти (от 2 Гбайт до 4 Гбайт) система использует для своих нужд.
  • Подсистемы ОС Операционная система Windows NT представляет собой множество отдельных модулей (подсистем), которые разработаны с учетом двух фундаментальных принципов:
    • Взаимодействие подсистем Приложения и защищенные подсистемы взаимодействуют по типу клиент-сервер. Приложения (клиенты) запрашивают подсистемы (серверы) о необходимости выполнить какой-то сервис.
  • Разделяемые ресурсы В современном операционном окружении программист не может быть уверен и не должен полагаться на то, что коды его программы будут выполняться в тон же последовательности, в какой они написаны.
    • Стратегии решения проблемы Для того чтобы исключить подобный сценарий, автор многопотокового приложения должен решать проблему синхронизации при попытке одновременного доступа к разделяемым ресурсам.
    • Транзакции В системе с преимущественной многозадачностью ноток может быть прерван в любой момент. Обычно перед выполнением очередной машинной команды система смотрит, есть ли прерывание.
    • Тупиковая ситуация (Deadlock) Выше мы рассмотрели, как потоки одного процесса могут вступить в конфликт и испортить работу друг друга. Одной из задач программиста является обеспечить невозможность такого сценария. Другими возможными неприятностями могут быть: рассинхронизация (race conditions) и тупиковая ситуация (deadlock).
  • Механизмы синхронизации Существует несколько стратегий, которые могут применяться, чтобы разрешать описанные проблемы. Наиболее распространенным способом является синхронизация потоков.
    • Критические секции Это самые простые объекты ядра Windows, которые не снижают общей эффективности приложения. Пометив блок кодов в качестве critical section, можно синхронизировать доступ к нему от нескольких потоков.
    • Мьютексы (Mutexes) Критические секции просты в использовании и обладают высоким быстродействием, но не обладают гибкостью в управлении. Нет, например, возможности установить время блокирования или присвоить имя критической секции для того, чтобы два разных процесса могли иметь с ней дело.
    • События В некоторых случаях потоку необходимо ждать, пока другие-потоки не завершат выполнение каких-то операций или не произойдет какое-либо событие (UI-событие User Interface), то есть событие, инициированное пользователем.
    • Семафором называется объект ядра, который позволяет только одному процессу или одному потоку процесса обратиться к критической секции — блоку кодов, осуществляющему доступ к объекту. Серверы баз данных используют их для защиты разделяемых данных
    • Блокировки (Locks) — это семафоры, которые приспособлены для двух операций транзакции (commit и abort). Они используются для обеспечения последовательного доступа конкурирующих потоков или процессов к критическим секциям.
    • Специальные блокировки Для того чтобы записи-фантомы не создавались, надо избегать блокирования отдельных записей. Альтернативой является блокировка всей таблицы.
    • Устранение тупиковых ситуаций Единственным способом выхода из тупиковой ситуации (deadlock) является снятие блокировки одним из потоков. Это означает прерывание или отказ от транзакции.

    Среда разработки Visual Studio

    Графика OpenGL Трехмерные графики функций

    Трехмерная графика Решаем краевую задачу

  • Математика, физика, электротехника примеры решения задач Информатика