The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..., opennews (??), 21-Окт-11, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


48. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 23-Окт-11, 22:39 
Кому-то StandBy удобно. Кому-то нет. Например, если HTPC кроме своих "родных" функций, выполняет еще и функции сервера (NAS, NTP, DNS, Asterisk, Exim, DBMail, роутинг и т.п.)
Ответить | Правка | Наверх | Cообщить модератору

49. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от AlexAT (ok), 23-Окт-11, 22:40 
> Кому-то StandBy удобно. Кому-то нет. Например, если HTPC кроме своих "родных" функций,
> выполняет еще и функции сервера (NAS, NTP, DNS, Asterisk, Exim, DBMail,
> роутинг и т.п.)

"Если" железка выполняет нештатные функции - нет смысла жаловаться, что она ведет себя слегка неподобающе.

Ответить | Правка | Наверх | Cообщить модератору

50. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +1 +/
Сообщение от ptr (??), 23-Окт-11, 22:46 
>> Кому-то StandBy удобно. Кому-то нет. Например, если HTPC кроме своих "родных" функций,
>> выполняет еще и функции сервера (NAS, NTP, DNS, Asterisk, Exim, DBMail,
>> роутинг и т.п.)
> "Если" железка выполняет нештатные функции - нет смысла жаловаться, что она ведет
> себя слегка неподобающе.

Вот чем меня всегда прикалывают "красноглазые", так это тем, что, оказывается, лучше меня знают что мне надо и что я должен хотеть.
Так вот это мое личное мнение. Кто захочет - присоединится. Кто не согласен - мне не интересен.
Мне необходимо, чтобы HTPC, как минимум, выполнял функции NAS и на нем вертелся Asterisk. Поэтому XBMC пользуюсь на даче, но не пользуюсь дома.

Ответить | Правка | Наверх | Cообщить модератору

52. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от AlexAT (ok), 23-Окт-11, 22:56 
> Вот чем меня всегда прикалывают "красноглазые", так это тем, что, оказывается, лучше
> меня знают что мне надо и что я должен хотеть.

XBMC пилится под медиаплееры, под их задачи.

Если у вас там NAS-и-черт-знает-чего-еще - дистрибутив вовсе не виноват, что у Вас вентиляторы шумят.

> Мне необходимо, чтобы HTPC, как минимум, выполнял функции NAS и на нем
> вертелся Asterisk. Поэтому XBMC пользуюсь на даче, но не пользуюсь дома.

Пилите, Шура, пилите. Самостоятельно. Кстати варианты без вентилятора тоже есть - можете попробовать платформу на MIPS собрать, и привернуть к XBMC поддержку аппаратного декодера. Решение даже продаваться сможет, может быть.


Ответить | Правка | Наверх | Cообщить модератору

54. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 23-Окт-11, 22:59 
>> Вот чем меня всегда прикалывают "красноглазые", так это тем, что, оказывается, лучше
>> меня знают что мне надо и что я должен хотеть.
> XBMC пилится под медиаплееры, под их задачи.

XBMC изначально пилился под XBOX. И для него утверждение, что кроме XBMC никаких других задач в фоне не выполняется и выполнятся не может - истинно. А вот для Linux и для Windows - ложно. И на фиг мне нужна под Linux программа, превращающая его в однозадачную систему, a la XBOX или DOS.

Ответить | Правка | Наверх | Cообщить модератору

55. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от AlexAT (ok), 23-Окт-11, 23:00 
> И на фиг мне нужна под Linux программа, превращающая его в
> однозадачную систему, a la XBOX или DOS.

Вот видите - Вы нашли ответ самостоятельно. Данный дистрибутив Вам не подходит.

Ответить | Правка | Наверх | Cообщить модератору

56. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 23-Окт-11, 23:28 
> Вот видите - Вы нашли ответ самостоятельно. Данный дистрибутив Вам не подходит.

Молодец! Вот видите, если подумать, то можно понять другого человека. Именно это я и написал в первом своем посте: XBMC меня не устраивает по одной единственной причине - вместо выполнения команды HALT, он в простое выполняет цикл ожидания.


Ответить | Правка | Наверх | Cообщить модератору

58. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от AlexAT (ok), 24-Окт-11, 07:16 
> по одной единственной причине - вместо выполнения команды HALT, он в
> простое выполняет цикл ожидания.

Пруф?

Ответить | Правка | Наверх | Cообщить модератору

59. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 24-Окт-11, 08:02 
>> по одной единственной причине - вместо выполнения команды HALT, он в
>> простое выполняет цикл ожидания.
> Пруф?

http://en.wikipedia.org/wiki/XBMC

Because of its origins on the Xbox console, XBMC runs in a gameloop environment rather than event-driven, meaning that it is constantly re-drawing the UI even when nothing is changing onscreen. This results in very high CPU usage on low-end machines, and hence high temperatures, fan activity and power consumption.

Ответить | Правка | Наверх | Cообщить модератору

60. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от AlexAT (ok), 24-Окт-11, 09:15 
> Because of its origins on the Xbox console, XBMC runs in a
> gameloop environment rather than event-driven, meaning that it is constantly re-drawing
> the UI even when nothing is changing onscreen. This results in
> very high CPU usage on low-end machines, and hence high temperatures,
> fan activity and power consumption.

Какое это отношение имеет к команде HALT?

Ответить | Правка | Наверх | Cообщить модератору

61. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 24-Окт-11, 11:41 
>> Because of its origins on the Xbox console, XBMC runs in a
>> gameloop environment rather than event-driven, meaning that it is constantly re-drawing
>> the UI even when nothing is changing onscreen. This results in
>> very high CPU usage on low-end machines, and hence high temperatures,
>> fan activity and power consumption.
> Какое это отношение имеет к команде HALT?

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

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

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

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

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

Теперь вернемся к цитате.
gameloop environment - это циклический опрос событий без остановки процессора
event-driven environment - это выполнение команды HALT программой или системой в целях ожидания события

Ответить | Правка | Наверх | Cообщить модератору

62. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от Ваня (?), 27-Окт-11, 16:54 
HALT - привилегированная команда процессора, недоступная приложению 3-его кольца защиты. Для приложений есть мутексы, семафоры, и пр. синхронизирующие примитивы и поддерживающие работу с ними функции вида WaitForEvent, WaitForSingleObject, WaitForMultipleObject.

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

В x86 HALT осуществляет остановку текущего ядра (AP = Auxiliary Processor) процессора до поступления прерывания. Обычно (Win, Lin, Mac) таймер калибруют на 100 Гц, поэтому при низкой нагрузке ОС использует иные механизмы энергосбережения, такие как отключение неиспользуемых ядер, снижение напряжения процессора, и т.д., которые дают гораздо лучшие результаты.

Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

63. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от ptr (??), 27-Окт-11, 19:14 
> HALT - привилегированная команда процессора, недоступная приложению 3-его кольца защиты.

Я так и писал выше:
>> HALT является привелигированной командой. При ее выполнении управление получает система
>> и помечает задачу, выполнившую эту команду, как недиспетчеризируемую.

В Windows, действительно используется IDLE процесс. Но калибровка RTC там 10КГц, а не 100Гц. Есть ли сейчас в Linux или FreeBSD использование HALT на 3-ем кольце, вместо вызова прерывания, смотреть, право, в лом. Но сам видел такое в OS/2. HALT и прерывание по привелигированной команде существенно быстрее, чем вызов функции ядра.

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

64. "OpenELEC 1.0 - новый дистрибутив для создания домашних кинот..."  +/
Сообщение от Ваня (?), 28-Окт-11, 00:02 
RTC уже лет 10 как не используется, его заменил APIC (LAPIC + IO APIC). Под 10 кГц вы, видимо, имеете в виду HPET, но его задачи несколько иные. Прерывания, к слову, сейчас тоже через MSI (message signaling interrupt), не уверен что hlt не приведёт к полному зависанию, ибо прерываний в их классическом (DOS-овском) виде уже нет.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру