Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
27.11.2024
Размер:
338.46 Кб
Скачать

Реализация потоков в пространстве пользователя, ядра и смешанное

 

А - потоки в пространстве пользователя

B - потоки в пространстве ядра

В случае А ядро о потоках ничего не знает. Каждому процессу необходима таблица потоков, аналогичная таблице процессов.

Преимущества случая А:

  • Такую многопоточность можно реализовать на ядре не поддерживающим многопоточность

  • Более быстрое переключение, создание и завершение потоков

  • Процесс может иметь собственный алгоритм планирования.

Недостатки случая А:

  • Отсутствие прерывания по таймеру внутри одного процесса

  • При использовании блокирующего (процесс переводится в режим ожидания, например: чтение с клавиатуры, а данные не поступают) системного запроса все остальные потоки блокируются.

  • Сложность реализации

Мультиплексирование потоков пользователя в потоках ядра

Поток ядра может содержать несколько несколько потоков пользователя.

 

Особенности реализации Windows

Используется четыре понятия:

  • Задание - набор процессов с общими квотами и лимитами

  • Процесс - контейнер ресурсов (память ...), содержит как минимум один поток.

  • Поток - именно исполняемая часть, планируемая ядром.

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

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

  1. Практическая часть Задание 1

Был разработан пакетный файл для вывода информации о существующих жестких дисках.

На рисунке предоставлен код 12.bat

Где «@echo off» отключает режим вывода команд на экран. Символ @ перед командой echo используется для того, чтобы на экран не выводился и текст самой команды.

«Chcp 1251» задает кодировку win-1251 исполняемого файла.

«Echo “12. *”» выводит нам информацию о задании.

Программа WMIC представляет собой командную строку и интерфейс написания сценариев, которые упрощают использование инструментария управления Windows (WMI) и систем, управляемых с помощью WMI.

«wmic diskdrive get caption,serialnumber > ./info/v12-drive.txt»

wmic обращается к сценариям информации о жестких дисках и выгружает поля caption и serialnumber далее «> ./info/v12-drive.txt» выгружает нам всю информацию полученную от данного запроса.

Демонстрация работы исполняемого файла 12.bat. После запуска исполняемый файл моментально завершает работу

В директории где находится файл в папке info создается файл с названием заполненный «v12-drive.txt» с информацией о жестких дисках

Задание 2

С помощью программы Far Manager (Far) создать в домашней папке следующее дерево папок (по вариантам).

Включаем программу FAR

Нажимаем F7 для создания директорий

В сплывающем окне введем имена папок которые мы хотим создать в данном случае 1 ; 2 ; 3, где «;» является разделителем и дает возможность сделать сразу 3 папки в директории, но дополнительно надо поставить галочку Process multiple names и нажать ОК.

Используя клавиатуру выберем по заданию папку где должны создаться папку 4;6;7 в данном случает имя папки будет называться «1»

Выходим из папки и заходим в папку с номером 3 и тут по заданию должна находиться директория 5 и точно также через F7 создадим директорию 5.

В