1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

В чем преимущеста Линуксы дома?

Тема в разделе "Софт", создана пользователем Алек :) ГЫ, 31.03.09.

  1. AlTk

    AlTk Читатель

    10.692
    0
    In Windows Embedded CE, for delays greater than 50 microseconds, use the NdisMSleep function, rather than the NdisStallExecution function. NdisStallExecution requires a QueryPerformanceCounter implementation for your target device.

    добавлено через 4 минуты
    On the other hand, QueryPerformanceCounter changes value between successive API calls, indicating its usefulness in high-resolution timing. The resolution in this case is on the order of a microsecond. Because the resolution is system-dependent, there are no standard units that it measures. You have to divide the difference by the QueryPerformanceFrequency to determine the number of seconds elapsed. In the case above, the overhead for just calling the API is about 19 microseconds. This would have to be subtracted when timing other code as follows:

    Private Sub Time_Addition()
    Dim Ctr1 As Currency, Ctr2 As Currency, Freq As Currency
    Dim Overhead As Currency, A As Long, I As Long
    QueryPerformanceFrequency Freq
    QueryPerformanceCounter Ctr1
    QueryPerformanceCounter Ctr2
    Overhead = Ctr2 - Ctr1 ' determine API overhead
    QueryPerformanceCounter Ctr1 ' time loop
    For I = 1 To 100
    A = A + I
    Next I
    QueryPerformanceCounter Ctr2
    Debug.Print "("; Ctr1; "-"; Ctr2; "-"; Overhead; ") /"; Freq
    Debug.Print "100 additions took";
    Debug.Print (Ctr2 - Ctr1 - Overhead) / Freq; "seconds"
    End Sub
     
    Последнее редактирование: 15.04.09
  2. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    :)
    а что там выше написано?
     
  3. AlTk

    AlTk Читатель

    10.692
    0
    выше написано, что виндоус не позволяет использовать временные блокировки до 1 мс.
     
  4. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Вы повторяете мой пост про CE и счетчики производительности. Caps уже то же сослался на ассемблерную иструкцию которая используется счетчиками. Но счетчик, не таймер - так что вопрос остается не отвеченным. С какой частотой нужно проверять счетчик, как гарантированно задать эту частоту, сколько это будет стоить, будет-ли это влиять на значение возвращаемое счетчиком?

    добавлено через 1 минуту
    я про вашу вставку, отсюда
    http://msdn.microsoft.com/en-us/library/ms896652.aspx

    добавлено через 1 минуту
    кстати там не так написано, в корне
     
  5. AlTk

    AlTk Читатель

    10.692
    0
    вы и вправду читает только то, что хочется?

    VOID NdisMSleep(
    ULONG MicrosecondsToSleep
    );

    For the specified MicrosecondsToSleep, the caller's thread of execution is put into a wait state, thus allowing other threads to get work done on the current processor. When the specified interval expires, the caller of this function resumes execution.
     
  6. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Кстати, это еще одна проблема виндус нт. Ели система должна обрабатывать большой сетевой трафик (реального времени), то виндус загибается уже на 16мбит/сек., а линкс грузит кпу в десять! раз меньше на том же трафике.
     
  7. AlTk

    AlTk Читатель

    10.692
    0
    пропустил слово потоки

    кстати, что там с 300 килобайтным ядром?
     
  8. alexander_123

    alexander_123 Участник

    350
    0
    Тема сисег не раскрыта (с)
    Для чего мне дома таймеры высокого разрешения?
     
  9. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Это вы читаете то что хочется
    NDIS = Network Driver Interface Specification




    sleep(long millis, int nanos)
    Causes the currently executing thread to sleep (cease execution) for the specified number of milliseconds plus the specified number of nanoseconds.

    Но это еще не означает, что виндус будет спать 5 наносекунд :d
     
  10. AlTk

    AlTk Читатель

    10.692
    0
    HorstWessel,
    покажите, где линукс позволяет использовать блокировку потоков с точностью до микросекунд.
     
  11. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    кино смотреть

    добавлено через 1 минуту
    SUSE Linux Enterprise Real Time 10 Service Pack 2
    Red Hat Enterprise MRG 1.0.1 Errata
    (2.6.24.7-74el5rt kernel)

    добавлено через 13 минут
    It is possible to configure an "off-the-shelf" IA-32 Linux kernel to be 259K uncompressed.
     
  12. Caps

    Caps Активный участник

    4.900
    219
    что означет, "ядро мы слегка переписали..."

    добавлено через 2 минуты
    в игрушки играть. шоб не рывками.
     
  13. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    теперь это не линукс?
     
  14. alexander_123

    alexander_123 Участник

    350
    0


    для этого мне нужны блокировки потоков меньше 1ms?
     
  15. Caps

    Caps Активный участник

    4.900
    219
    в общем случае - да.
     
    Последнее редактирование: 15.04.09
  16. AlTk

    AlTk Читатель

    10.692
    0
    http://www.rtsoft.ru/ru/press/news/index.php?from4=9&id4=710

    добавлено через 49 секунд
    это не ответ на вопрос "где?".

    какие компоненты туда входят?
     
  17. Алек :) ГЫ

    Алек :) ГЫ Читатель

    6.651
    2
    Люди, а нафига мне дома таймеры с разрешением меньше 1 мс ? чтобы на работу не проспать? :)
     
  18. Caps

    Caps Активный участник

    4.900
    219
    не линукс.
    где тут слово линукс?
     
  19. alexander_123

    alexander_123 Участник

    350
    0

    Насколько мне известно, лишь некоторые приложения Direct3D отображают графику плавнее, если анимация основана на таймере высокого разрешения.
    В общем случае, достаточно свойства TickCount.
    Или я не прав?
     
  20. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    http://www.onjava.com/pub/a/onjava/2006/05/10/real-time-java-introduction.html
    пусть будет тут.

    не знаю. честно скажу. поиском нашел.


    Не прав. Само по себе свойство ничего не значит. Реалтайм подразумевает не скорость (как многие ошибочно думают), а точность. То есть важно что бы между действиями (периодическими) период оставался одним и тем же. С увеличением скорости, точность падает. Попробуй считывать это свойство точно 1000 раз в секунду
     
  21. alexander_123

    alexander_123 Участник

    350
    0


    Собственно, я и не спорил. И про точность не упоминал вообще. "Точность-скорость", это уже из разряда "мощность-крутящий момент". :d
     
  22. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Частное и проприетарное решение. Для широкого коммерческого использования не пойдет - нет должной поддержки.

    добавлено через 3 минуты
    И я не спорил, просто объяснил.


    не стоит путать. все очень просто. если нужно исполнять задачу ровно через 1 час. 00 минут, 00000000 то это уже система реального времени. чем меньше период тем сложнее добиться точности.
     
  23. AlTk

    AlTk Читатель

    10.692
    0
    ну как это нет поддержки?
    я же Вам говорю, библиотеку RTX я видел еще в 1998 году именно на ней работает WE.
    http://www.intervalzero.com/

    вот, можете посмотреть, какой монстр использует WE
    http://www.wonderware.ru/
     
  24. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    а говоришь про точность не упоминал

    добавлено через 2 минуты
    я сказал, что нет должной поддержки

    для единичных инсталляций (В России, Украине и Беларуссии) вполне годится. почему бы и нет?

    добавлено через 5 минут
    Едва-ли какой еще вендор будет лицензироваться на использование этой библиотеки. Если микрософт поменяет что-то (а он может делать это как угодно) то в задницу может улететь и библиотека и лицензия и софт по всему миру.

    А в единичных инсталляциях пожалуйста.
     
  25. AlTk

    AlTk Читатель

    10.692
    0
    ну нет так нет. Вам виднее.
    только вот винда реального времени еще в 1998 году была и поддерживалась, да и теперь поддерживается, только уже Микрософтом, а где тогда линукс был?
     
  26. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    Винды реального времени нет, не было и не придвидится пока. Частные реализации RTX - орграниченны в производительности (этот вопрос так и остался не отвеченным в этой теме) и не поддерживаются микрософтом.

    Линукс в 98 году был. :)
     
  27. Caps

    Caps Активный участник

    4.900
    219
    ложащийся от дес пинга :)
     
  28. Mix

    Mix Активный участник

    7.768
    0
    реалтайм подразумевает способность системы выполнить задачу за определенное время. Ни скорость, ни точность тут не при чем. Имеет значение только определенность и конечность времени исполнения. Это как бы из курса по системам реального времени.
    А все что вы говорите - это уже коммерческие приложения rt-систем. Как то так.
     
  29. HorstWessel

    HorstWessel Активный участник

    1.585
    0
    AlTk,
    по вашей ссылке на интервалзеро прочитал:
    Is Windows a real-time operating system?
    Microsoft® Windows® is usually referred to as a general-purpose operating system because it does not allow applications or kernel-level drivers to completely mask interrupts and gain control over the operating system. Depending on hardware, interrupt latencies under Windows can exhibit very good values, averaging in the microseconds. However, worst-case interrupt latencies are unbounded and can exceed hundreds of milliseconds. Due to these unbound latencies, deterministic response time is not guaranteed, making standard Windows Desktop and Server operating systems unacceptable for real-time use.

    What is RTX?
    Even though there are a lot of similarities between an RTOS and RTX, RTX is not an RTOS. RTX is more appropriately defined as a real-time extension for Microsoft Windows. RTX enhances Windows by providing hard real-time and control capabilities to a general purpose operating system that is familiar to developers and their end users. RTX consists of an extension to the Windows HAL and a separate real-time subsystem (RTSS) that schedules and controls all RTSS applications independently of Windows.

    добавлено через 1 минуту
    предсказуемое. скажем каждые 10 миллисекунд ровно
     
  30. Mix

    Mix Активный участник

    7.768
    0
    Это не обязательно для систем реального времени. Главное чтобы можно было предсказать меньше чего будет это значение.
    Другой вопрос что коммерческие приложения часто этого требуют.