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

  • Системные вызовы

  • Шедулер. Какие операции замедляют работу компьютера в многозадачных системах


    Скачать 15.88 Kb.
    НазваниеКакие операции замедляют работу компьютера в многозадачных системах
    АнкорШедулер
    Дата01.03.2023
    Размер15.88 Kb.
    Формат файлаdocx
    Имя файлаШедулер.docx
    ТипДокументы
    #961718

    Задание 1


    Какие операции замедляют работу компьютера в многозадачных системах?

    Приведите ответ в свободной форме со своим комментарием.

    Любые операции замедляют работу компьютера в большей или в меньшей степени, т.к. расходуют процессорное время и оперативную память. Но есть ещё прерывание и системные вызовы.

    Прерывание (interrupt) - сигнал, сообщающий процессору о наступлении какого-либо события.

    В зависимости от источника возникновения сигнала прерывания делятся на:

    - асинхронные, или внешние (аппаратные) - события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши;

    - синхронные, или внутренние - события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль, обращение к недопустимым адресам памяти или недопустимый код операции;

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

    Механизм прерываний поддерживается аппаратными и программными средствами ОС.

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

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

    Задание 2

    В каких ситуациях планировщик ввода / вывода noop может быть производительней cfq?

    Приведите ответ в свободной форме со своим комментарием.

    NOOP (no-operate) - наиболее простой планировщик. Он банально помещает все запросы в очередь FIFO (First-In, First-Out — первый вошел, первый вышел) и исполняет их вне зависимости от того, пытаются ли приложения читать или писать. Данный планировщик предполагает, что сами устройства хранения данных будут оптимизировать быстродействие операций ввода-вывода (например, внешний RAID-контроллер). Потенциально, планировщик NOOP будет хорошо работать с устройствами хранения данных, которые не имеют механических частей для чтения данных (т.е. головок диска). Причина кроется в том, что данный планировщик не делает никаких попыток оптимизировать движение головок, выполняя простейшее слияние запросов, что также помогает повышению пропускной способности диска. Поэтому такие устройства хранения как флэш-диски, SSD-диски, USB-накопители и т.п., которые имеют очень малое время поиска данных могут получить преимущество, используя планировщик NOOP.


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