Управление режимоим энергопотреблением 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление режимоим энергопотреблением



 

Очень много ПК работая одновременно потребляют очень много энергии, чтобы обеспечить их все необходимо построить нисколько АЭС, значит если сократить энергопотредбение хотябы в два раза, следовательно сократится количество использованных ресурсов. Также мобильные вычислительные системы необходимо обеспечивать качественной системой электроснабжения (лучше если ноутбук или мобильный работал дольше). Следовательно, современные компьютерные системы имеют аппаратный способ поддержки управления энергопотреблением и ОС должна уметь их использовать. ACPI (Advance control power interface) поддерживает несколько режимов работы – нормальный (нет экономии), приостановленный (часть устройств отключается (процессор, дисплей, HDD), но сохраняется содержимое ОП и портов ввода/вывода), выключенное – не потребляется электроэнергия или потребляется очень мало (для быстрого страрта или зарядки батарейки).

Самые большие потребители энерги (ЦП (3 режима), HDD (вращение и выключенное состояние), ОП (в выключенном состоянии теряет все содержимое, обычно не отключается), дисплей (вкл, выкл, приостановлено), видеокарта (упращенный и полнофункциональный режим работы).

Современные ЦП умеет переключать частоту (Pentium/Celeron M) потребление энергии ЦП пропорцианально их частоте.

 

 

Сигналы

 

Сигналы – простейший способ межпроцессного взаимодействия. Когда от процесса 1 к процессу 2 поступает определенный сигнал, на который процесс 2 реагирует определенным образом. Системная функция KILL для управления другими процессами. KILL -l – для получения всех сигналов. Сигнал SIGKILL посылается одним процессом другому для его завершеняи. SIGUSR1 и SIGUSR2 не имеют определенного значения, процессы могут обрабатывать их самостоятельно. Каждому сигналу ставися в соответствие обработчик. SIGNAL() – функция языка Си, что обрабатывается какойто сигнал и ОП выполняет какието действия

Сигналы сделаны по образу аппаратных прерываний. Процесс может определить пользовательскую подпрограмму, которая будет являться обработчиком, и которой должен будет перенаправляться сигнал. Когда сигнал генерируется, он блокируется от повторного появления до тех пор, пока не будет перехвачен обработчиком. Перехват сигнала включает в себя сохранение контекста текущего процесса и построение нового, в котором запускается обработчик. Затем сигнал направляется обработчику, который может либо прервать процесс, либо передать управление обратно выполняемому процессу. Если обработчик возвратил управление, сигнал разблокировывается и может быть сгенерирован (и получен) снова.Либо процесс может определить, что сигнал будет игнорироваться или будет выполняться действие по умолчанию, определяемое ядром.

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

 

Каналы

Канал – специального вида файл для передачи последовательных данных. В зависимости от ОС могут быть одна и двунаправленными. Неименованные каналы – взаимодействуют родительский и дочерний процесс или два дочерних оного родителя, т.к. информация может передаваться с помощью дескриптора. Канал объявляется с помощью ф-ции pipe(). Именованый канал – при взаимодействии двух несвязных процессов. Popen() и pclose()

Этот способ взаимодействия реализуется не совсем напрямую, а через технологию File Mapping - отображения файлов на оперативную память. Вкраце, этот механизм позволяет осуществлять доступ к файлу таким образом, как будто это обыкновенный массив, хранящийся в памяти (не загружая файл в память явно). "Побочным эффектом" этой технологии является возможность работать с таким отображенным файлом сразу нескольким процессам. Таким образом, можно создать объект file mapping, но не ассоциировать его с каким-то конкретным файлом. Получаемая область памяти как раз и будет общей между процессами. Работая с этой памятью, потоки обязательно должны согласовывать свои действия с помощью объектов синхронизации.

shmget создает новый сегмент разделяемой памяти или находит существующий сегмент с тем же ключом

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

shmdt отключает от виртуальной памяти ранее подключенный к ней сегмент с указанным виртуальным адресом начала

shmctl служит для управления параметрами, связанными с существующим сегментом

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

shmid = shmget(key, size, flag);

 

 

Разделяемые области памяти

 

 
 

 


РОП – некоторая область ОП, которая запрашивается одним процессом для передачи данных другому. При создании РОП создаются: ID области, переменная указатель – указывает на свободные участки памяти (можно передать NULL, тогда ОС сама найдет свободный участок, объем памяти и права доступа). Другой процесс должен узнать ID РОП и открыть ее.

Канал - это простейшее, но очень удобное и широко применяемое средство обмена информацией между процессами. Все, что один процесс помещает в канал (буквально - в "трубу"), другой может оттуда прочитать. Если два процесса, обменивающиеся информацией, порождены одним и тем же родительским процессом (а так чаще всего и происходит), канал может быть неименованным. В противном случае требуется создать именованный канал, что можно сделать с помощью программы mkfifo. При этом собственно файл именованного канала участвует только в инициации обмена данными.

Каналы делятся на анонимные (anonymous pipes) и именованные (named pipes). Анонимные каналы используются достаточно редко, они просто передают поток вывода одного процесса на поток ввода другого. Именованные каналы передают произвольные данные и могут работать через сеть. (Именованные каналы поддерживаются только в WinNT/2000.)



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 297; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.32.116 (0.007 с.)