Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vazhnoe.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
843 Кб
Скачать
☆

1. Открытие файла CreateFile.

2. Создание объекта ядра под названием «проекция файла».

Основное назначение файлов, проецируемых файлов – работа со сложными структурами данных, загрузка которых в память иным способом требует большого количества времени и сил.

19. Современные многопроцессорные архитектуры SMP и NUMA. Многоуровневое кэширование памяти в современных процессорах. Проблема перестановки операций чтения и записи в архитектурах с ослабленной моделью памяти. Способы решения проблемы перестановки операций чтения и записи.

Производительность достигается за счет правильного проектирования, переноса ключевых функций в режим ядра. ОС Windows поддерживает много аппаратных архитектур. С целью наиболее эффективного использования аппаратных архитектур Windows построена как ОС с симметричной многопроцессорной обработкой (Symmetric MultiProcessing SMP)

ПП –прикладные программы

В системах SMP на любом процессоре может работать поток ОС или прикладной программы. В системах с симметричной многопроцессорной обработкой потоки ОС работают на одном процессоре, а потоки прикладных программ на других процессорах.

NUMA (Non-Uniform Memory Architecture)

Архитектура с неоднородной памятью

В компах с архитектурой NUMA существует возможность наращивать аппаратуру с помощью плат расширения. На каждой плате располагается блок из нескольких процессоров и блок памяти. В компах с такой архитектурой каждый процессор имеет доступ к любому блоку памяти на любой плате, однако доступ к доступ к памяти на своей плате выполняется быстрее. ОС Windows умеет так планировать потоки, что потоки, обращающиеся к общим участкам памяти, размещаются на процессорах одной платы, например потоки одной прикладной программы целесообразно размещать на процессорах одной платы.

  • Решение проблемы перестановки операций чтения и записи

    • Синхронизация кэшей – cache coherence;

    • Барьеры памяти – memory barrier (memory fence).

20. Средства распараллеливания вычислений в ос Windows. Понятия процесса и потока. Достоинства и недостатки процессов и потоков. Создание и завершение процесса. Запуск процессов по цепочке.

Многозада́чность — свойство операционной системы или среды программирования обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов.

Существует 2 типа многозадачности:

  • Процессная многозадачность

  • Поточная многозадачность 

Процес – выполняемая программа, которая имеет свое виртуальное адресное пространство, выполняемый код, указатели на объекты ядра, данные, уникальный идентификатор, как минимум один выполняющий поток.

Аварийное завершение процесса не приводит к утечке ресурсов или нарушению целостности данных в других процессах. Однако, поскольку процессы работают в разных адресных пространствах, необходимо использовать средства Inter-Process Communication (IPC) для доступа к общим данным.

Создание процесса производится следующим системным вызовом:

bool CreateProcess(LPCTSTR lpAppName, LPTSTR lpCmdLine, SECURITY_ATTRIBUTES* lpProcessAttributes, SECURITY_ATTRIBUTES* lpThreadAttributes, bool bInheritHandles, DWORD dwCreationFlags, void* lpEnvironment, LPCTSTR lpCurrentDirectory, STARTUPINFO* lpStartupInfo, PROCESS_INFORMATION* lpProcessInformation);

Поток – выполняемая подпрограмма процесса, разделяющая с другими потоками общие ресурсы процесса. Все потоки процесса разделяют его вирт. Адресное пространство и системные ресурсы. Каждый поток имеет свой уникальный идентификатор. Расход памяти при распараллеливании минимален. Основные расходы памяти связаны с организацией стека на каждый параллельный поток. Производительность при работе с общими данными максимальна, поскольку потоки работают в общем адресном пространстве. Однако аварийное завершение потока часто приводит к утечке памяти процесса или даже к аварийному завершению процесса. Из-за общей памяти, целостность общих данных может быть нарушена.

Контекст потока - структура, создаваемая Windows для каждого потока. Она содержин информацию о состоянии потока

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]