Главная страница
Навигация по странице:

  • Командная строка (cmd)

  • Перечислите базовые классы приоритета процесса. Какие процессы имеют базовый класс приоритета, соответствующий каждому из этих классов Каков базовый класс приоритета процесса по умолчанию в

  • Как вы понимаете понятие динамического приоритета нити Как изменяется приоритет нити относительно приоритета процесса

  • приоритета

  • В чем принципиальное отличие планирования процессов и нитей в ОС

  • Изобразите схематично ситуацию: у процесса А приоритет

  • или

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

  • Как степень общей загрузки процессора влияет на распределение процессорного времени между нитями с разным динамическим приоритетом

  • Каким образом можно изменять приоритет нити в ОС

  • Какие факторы влияют на распределение процессорного времени

  • Логическая структура реестра

  • Какие средства для контроля процессов и нитей Вы знаете Опишите особенности каждого из перечисленных средств


    Скачать 4.19 Mb.
    НазваниеКакие средства для контроля процессов и нитей Вы знаете Опишите особенности каждого из перечисленных средств
    Дата24.04.2022
    Размер4.19 Mb.
    Формат файлаdocx
    Имя файлаOS_zaschita_LR1.docx
    ТипКонтрольные вопросы
    #493622

    Контрольные вопросы

    1. Какие средства для контроля процессов и нитей Вы знаете? Опишите особенности каждого из перечисленных средств.


    сpustres.exe – позволяет самостоятельно создавать нити, регулировать их активность и активность процесса;

    procexp.exe – позволяет отслеживать динамический приоритет нити;

    Командная строка (cmd) – позволяет задать приоритет процессу с помощью команд;

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

    (Возможно нужно было приводить в пример другие программы, но на ЛР мы пользовались этими)


    1. Перечислите базовые классы приоритета процесса. Какие процессы имеют базовый класс приоритета, соответствующий каждому из этих классов? Каков базовый класс приоритета процесса по умолчанию в Windows?


    2.1 Базовые классы приоритета процесса:



    2.2 Потоки получают приоритеты на базе классов приоритета своих процессов. Первоначально функцией CreateProcess устанавливаются четыре класса приоритета, каждый из которых имеет базовый приоритет (base priority):

    • IDLE_PRIORITY_CLASS, базовый приоритет 4.

    • NORMAL_PRIORITY_CLASS, базовый приоритет 9 или 7.

    • HIGH_PRIORITY_CLASS, базовый приоритет 13.

    • REALTIME_PRIORITY_CLASS, базовый приоритет 24.

    2.3 Базовый класс приоритета процесса Windows по умолчанию Normal (Обычный). Удостовериться в этом можно посмотрев приоритет командной строки Windows.


    1. Как вы понимаете понятие динамического приоритета нити? Как изменяется приоритет нити относительно приоритета процесса?


    2.1



    2.2 Приоритеты нитей устанавливаются относительно базового приоритета процесса, и во время создания потока его приоритет устанавливается равным приоритету процесса. (Ересь! Не нашёл нормального ответа. Что-то похожее обговаривается на скриншоте сверху (он из 2-й лекции))


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

    Для понимания:

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

    По умолчанию, классом приоритета процесса является NORMAL_PRIORITY_CLASS (базовый класс приоритета процесса).

    Относительные приоритеты нити:

    • THREAD_PRIORITY_TIME_CRITICAL.

    • THREAD_PRIORITY_HIGHEST

    • THREAD_PRIORITY_ABOVE_NORMAL

    • THREAD_PRIORITY_NORMAL

    • THREAD_PRIORITY_BELOW_NORMAL

    • THREAD_PRIORITY_LOWEST

    • THREAD_PRIORITY_IDLE



    Динамический приоритет нити – приоритет в данный момент времени. Он определяется исходя из базового класса приоритета процесса (вопрос 2) и относительного приоритета нити.

    Ещё проще: После получения базового приоритета и корректировки относительным приоритетом получается динамический приоритет!!!


    1. Нарисуйте диаграмму состояния потоков. В каком состоянии потоки конкурируют за процессорное время?





    (А вот какую из этих 3 рисовать – неизвестно)


    1. В чем принципиальное отличие планирования процессов и нитей в ОС Windows 10 и Windows 2012 Server? Как влияет настройка Windows 10 на планирование процессов и нитей? Какие стратегии используются для оптимизации распределения приоритетов?


    Для понимания:Windows 10 отлично справляется с повседневной работой, а Windows Server управляет многими компьютерами, файлами и службами. Microsoft разработала Windows 10 для использования в качестве настольного компьютера для домашнего пользователя, а Windows Server в качестве сервера (прямо в названии), который запускает службы, к которым люди обращаются по сети.

    Планирование процессов и нитей:

    - Процессорное время является ресурсом вычислительной системы;
    - Распределение процессорного времени
    между процессами (нитями) называется
    планированием;
    - Алгоритмы планирования процессов и
    нитей определяют облик ОС;
    6.1 Принципиальное отличие:




    6.2 Не совсем поняв, но вот:
    Организация планирования в операционной системе Windows является: гибридной. С одной стороны, моделируются условия вытесняющей многозадачности, когда операционная система сама решает, когда и на основе каких условия вытеснить потоки. С другой стороны — кооперативной многозадачности, когда потоки сами решают, когда они всё сделали и можно переключаться на следующий (UMS планировщик). Режим вытесняющей многозадачности является приоритетным, т.к. решает, что будет исполняться на основе приоритетов. Почему так? Потому что у каждого потока есть свой приоритет и операционная система планирует к исполнению более приоритетные потоки. А вытесняющей потому, что если возникает более приоритетный поток, он вытесняет тот, который сейчас исполнялся. Однако во многих случаях это бы означало, что часть потоков никогда не доберется до исполнения. Поэтому в операционной системе есть много механик, позволяющих потокам, которым необходимо время на исполнение его получить несмотря на свой более низкий по сравнению с остальными, приоритет.
    На всякий:

    Windows имеет 32 уровня приоритета (0-31)

    • 1 уровень (00 — 00) — это Zero Page Thread;

    • 15 уровней (01 — 15) — обычные динамические приоритеты;

    • 16 уровней (16 — 31) — реального времени.

    6.3 Для оптимизации распределения приоритетов используют Диспетчер задач или спец. программы (Mz CPU Accelerator) и там меняют приоритет для оптимизации их производительности и выделяя им больше процессорного времени.


    1. Изобразите схематично ситуацию: у процесса А приоритет Normal, а приоритет нити CHigh, а у процесса B приоритет процесса High, а приоритет нити DNormal. У какой из нитей C или D динамический приоритет будет выше и почему?




    (что-то похожее препод рисовала на доске, но в точности я не помню)


    1. Почему в 3 задании при изменении активности нитей появляется различие процента загруженности процессора выполнением кода каждой из нитей.


    При изменении активности нитей на более высокий уровень увеличивается % загруженности процессора. Таким образом, выставляя в CPU Stress более высокий приоритет нити мы выделяем этой нити больше процессорного времени, т.е. тратим на неё больше процессорной мощности.

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

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



    1. Как степень общей загрузки процессора влияет на распределение процессорного времени между нитями с разным динамическим приоритетом?


    Система выделяет процессорное время всем активным потокам, исходя из их уровней приоритета, которые варьируются от 0 до 31.

    Когда система подключает процессор к потоку, он обрабатывает потоки с одинаковым приоритетом как равноправные (по принципу карусели). Как только все потоки с данным приоритетом получат по кванту и при условии, что они больше не требуют процессорного времени, ОС переходит к потокам с более низким приоритетом.

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


    1. Каким образом можно изменять приоритет нити в ОС Windows 10 у уже запущенного процесса и при запуске процесса?


    Изменять приоритет нити в ОС Windows можно через диспетчер задач:

    С помощью настроек реестра можно «сохранить» указанный вами приоритет. В ином случае, при перезагрузке ПК он слетит.

    Также приоритет нити можно сменить через командную строку cmd.

    start [/имя команды] [/d полный путь до исполняемого файла приложения]

    и хз чё ещё


    1. Какие факторы влияют на распределение процессорного времени?


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

    Физическая память представляет собой упорядоченное множество ячеек и все они пронумерованы, то есть с каждой из них можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограничено и фиксировано.

    Логическая структура реестра:



    Физическая структура реестра:



    написать администратору сайта