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

Реализация потоков

Каждый новый процесс содержит, по крайней мере, один поток, остальные потоки создаются динамически. Потоки составляют основу планирования и могут: выполняться на одном из процессоров, ожидать события или находиться в каком-то ином состоянии.

Обычно в состоянии "Готовности" имеется очередь готовых к выполнению потоков. В данном случае это состояние распадается на три составляющих. Это, собственно, состояние "Готовности"; состояние "Готов. Отложен", что означает, что поток выбран для выполнения на конкретном процессоре, но пока не запланирован к выполнению; и, наконец, состояние "Простаивает", в котором может находиться только один выбранный к выполнению поток для каждого процессора в системе.

В состоянии "Ожидания" поток блокирован и ждет какого-либо события, например, завершения операции ввода-вывода. При наступлении этого события поток переходит в состояние "Готовности". Этот путь может проходить через промежуточное "Переходное" состояние в том случае, если стек ядра потока выгружен из памяти.

Реализация процессов

В 32-разрядной версии системы у каждого процесса есть 4-гигабайтное адресное пространство, в котором пользовательский код занимает нижние 2 гигабайта. В своем адресном пространстве, которое представляет собой набор регионов и описывается специальными структурами данных, процесс содержит потоки, учетную информацию и ссылки на ресурсы, которые обобществляются всеми потоками процесса.

Блок управления процессом реализован в виде набора связанных структур, главная из которых называется блоком процесса EPROCESS. Соответственно, каждый поток также представлен набором структур во главе с блоком потока ETHREAD. Эти наборы данных, за исключением блоков переменных окружения процесса и потока, существуют в системном адресном пространстве.

    1. Пояснить процесс функционирования менеджера памяти в операционных системах (ос) семейства ms Windows.

Принцип работы менеджера памяти

Для управления виртуальной памятью в операционной системе Windows предусмотрен специальный менеджер VirtualMemoryManager. Он является составной частью ядра операционной системы и представляет собой отдельный процесс, постоянно находящийся в оперативной памяти. Основная задача VMM заключается в управлении страницами виртуальной памяти.

Каждому процессу VMM выделяет часть физической памяти, которая называется рабочим набором. Кроме того, VMM создает базу состояния страниц, которая организована как шесть списков страниц одного типа. Выделяют следующие типы страниц:

Valid — рабочая страница используется процессом.

Modified — модифицированная страница, то есть страница, содержимое которой было изменено.

Standby — резервная страница, содержимое которой не изменялось.

Free — свободная страница, на которую не ссылается ни один рабочий набор и которой нет ни в одной таблице страниц.

Zeroed — пустая страница, которая является свободной и обнуленной.

Bad — страница, которая вызывает аппаратные ошибки и не может применяться ни одним процессом.

Если какой-нибудь процесс обращается к странице, которой нет в рабочем наборе, то возникает ошибка обращения к странице. В этом случае задача VMM заключается в том, чтобы разрешить данную конфликтную ситуацию и выделить страницу свободной физической памяти для хранения данных, к которым обратился процесс.  

    1. Пояснить процесс функционирования подсистемы ввода/вывода и файловой системы в операционных системах (ОС) семейства MS Windows. Сформулировать определение понятия «драйвер устройства». Разъяснить реализацию технологии Plug – and – Play.

Система ввода вывода

Одной из главных задач ОС является обеспечение обмена данными между приложениями и периферийными устройствами компьютера. В современных ОС эту функцию выполняет подсистема ввода/вывода.

Основные компоненты подсистемы ввода/вывода:

  1. Драйверы.

  2. Файловая система.

  3. Диспетчер прерываний.

Подсистема ввода/вывода называется мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

  • Организация параллельной работы устройств ввода/вывода и процессора.

  • Согласование скоростей обмена и кэширование данных.

  • Разделение устройств и данных между процессорами.

  • Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.

  • Поддержка широкого спектра драйверов с возможностью включения в систему нового драйвера.

  • Динамическая загрузка и выгрузка драйверов.

  • Поддержка нескольких файловых систем.

  • Поддержка синхронных и асинхронных операций ввода/вывода.

Организация параллельной работы устройств ввода/вывода и процессора

Каждое устройство ввода/вывода вычислительной системы снабжено устройством управления – контроллером. Контроллер взаимодействует с драйвером – системным программным модулем, предназначенным для управления данным устройством.

Контроллер периодически принимает от драйвера выводимую на устройство информацию, а также команды управления, которые говорят о том, что с этой информацией нужно сделать. Под руководством контроллера устройство может выполнять некоторое время  свои операции автономно, не требуя внимания со стороны ЦП. Даже самый примитивный контроллер, выполняющий простые функции, обычно тратит довольно много времени на реализацию подобной функции после получения очередной команды от процессора. Это же справедливо и для сложных контроллеров, т.к. скорость работы любого устройства ввода/вывода обычно существенно  ниже скорости работы процессора.

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

Дра́йвер — компьютерное программное обеспечение, с помощью которого другое программное обеспечение получает доступ к аппаратному обеспечению некоторого устройства.

Plug-and-Play представляет собой технологию, которая поддерживает автоматическое конфигурирование ПК и всех установленных на нем устройств. Целью ее разработки является обеспечение для пользователя возможности подключить новое устройство и сразу же начать работу без необходимости вручную конфигурировать это устройство. Реализация технологии PlugandPlay осуществляется на уровне аппаратных средств, операционной системы, драйверов устройств и BIOS.

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