Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

реал тайм осы

 Ответить Ответить Страница  <1 2526272829 36>
Автор
Сообщение
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: реал тайм осы
    Опубликовано: 24 Ноябрь 2003 22:23
Первоначально опубликовано Draggan

To: evgen
Вы таки будете мне рассказывать про научные исследования. :)
Все правильно, я полностью согласен, обязаны и даже это делают :)
Только не для ВАС. А для заказчиков. А ВЫ - ПРОСТО ЛЮБОПЫТСТВУЮЩИЙ. А ДС не компьютерный журнал, они свои отчеты ПРОДАЮТ.
Вы таки меня удивляете. Вы хотите на шару получить то, за что другие платят деньги, но недовольны что, то что вам дают не полное, а частичное.
"Жадность губит флибустьера"(с)

Вы мене удивляете...они ж вот тут рядом-с издают очень даже компьютерный журнал, а в рекламном материале, каковым явлется тот отчет, умудряются сделать _такие_ ляпы. Что же спрашивается они тогда за деньги сделают ? Нее-ет - фигу им - а не деньги от меня. Дураков и без меня на их век хватит.
SY,
EK
Наверх
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Ноябрь 2003 22:29
Первоначально опубликовано Olej


Акститесь!

Вот вам свежие результаты прогона 3-х поточной задачи, практически той, что описана выше (0 - соответствует Т1, 1 - Т2, 2 - Т3), для разных классов OS выполнялись аналогичные задачи, вывод прямо с экрана (для evgen, как твёрдого убежденца, что результаты Athlon и Celeron будут принципиально отличаться, указан и тип процессора):


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


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Ноябрь 2003 23:15
Первоначально опубликовано Draggan


А как с этим обстоит в OS/2? Я как-то не помню, да глянуть негде, а Вы вроде должны знать. Напишите, любопытно.

===========================

OS/2 performs prioritized, preemptive, multitasking. Prioritized means that OS/2 does not divide CPU time equally among all threads. All programs do not get equal access to the CPU. A prioritizing, time-slicing strategy is used to allocate access to the CPU among competing threads. Each thread has a priority and OS/2 runs the highest priority thread that is ready to run. Programs with higher priorities (a real-time robotic application, for example), are given access to the CPU before programs with lower priorities. If a thread with a higher priority than the currently running thread becomes ready to run, the current thread is stopped immediately, or preempted, and the higher priority thread is given the CPU. The lower priority thread does not get to complete its time slice. Threads of equal priority are given CPU time in a round-robin manner.

Preemptive means that the multitasking activity needs no cooperation from the executing programs. OS/2 maintains control over executing programs, and stops, or preempts, them when their time slice with the CPU is over or when a higher priority program is ready to run.

CPU scheduling is based on four priority classes- Time Critical, Fixed-High, Regular, and Idle-Time. Each class has 32 levels of execution ordering. Scheduling parameters are user-selectable at the time the system is started or can be varied dynamically based on system load.

Depending on a thread's priority class and level, OS/2 periodically gives each thread in each process a small slice of CPU time. Threads with higher priorities always run before threads having lower priorities. A thread runs until its time is up or until a thread with a higher priority is ready to run. At that time, OS/2 preempts the thread and starts another thread. Threads can also voluntarily relinquish the CPU (for example, by calling DosSleep).

The amount of time in each time slice is defined by the TIMESLICE command in the CONFIG.SYS file. The TIMESLICE
command can be used by the user to customize the size of the time slices that a thread gets. The default is for
OS/2 to dynamically vary the size of the time slice based on the activity of the thread and the overall system load.

When a thread is created (using DosCreateThread), it inherits the priority of the thread that started it. DosSetPriority enables threads to change their priority classes and levels in response to changes in their execution environments.
DosSetPriority enables a thread to change its own priority, or the priority of any thread within its process.
DosSetPriority also enables changing priorities for the entire process and for descendant processes. Within each class, the priority level of a thread can vary because of a DosSetPriorty request or, if dynamic priority variation is being used, because of action taken by OS/2.

=======================

PRIORITY = DYNAMIC |ABSOLUTE
Selects priority calculation in scheduling regular-class threads.

Type this command in the CONFIG.SYS file; do not enter the command at the OS/2 command prompt.

Related Commands: MAXWAIT, TIMESLICE,

The system assigns a thread based on its display status (background or foreground), recent input and output activity, and frequency of processor use. Most threads are assigned Regular priority.

Applications can adjust priorities, but the system has a built-in method of handling access to the processor. The default method is Dynamic. Changing this to Absolute can help achieve predictable results by determining the order of priority strictly on the basis of class and level.
===========================
MAXWAIT
Sets the amount of time a ready-to-run thread waits before the system assigns it a higher priority.

When a regular-class thread is denied the processor for a defined number of seconds, it receives a temporary increase in priority for a period of time up to the minimum time slice.

Note:    MAXWAIT has no effect if the PRIORITY command is set to ABSOLUTE.

MAXWAIT = x

Type this command in the CONFIG.SYS file; do not enter the command at the OS/2 command prompt.

Related Commands: PRIORITY, TIMESLICE

The system limits the time that a regular-class thread waits to be processed. When the time limit is reached, the system raises the priority of the thread to give it a chance to be processed.

The most appropriate amount of time to set depends on the number of applications that must run concurrently and the kinds of activities the applications perform (the system default is three seconds). Experiment with this time to improve overall system performance.
===========================
TIMESLICE = x, y
Sets the minimum and maximum amount of processor time allocated to processes and programs for both OS/2 and DOS sessions.


Type this command in the CONFIG.SYS file; do not enter the command at the OS/2 command prompt.

Related Commands: MAXWAIT, PRIORITY

Unless a dispatching priority is explicitly defined by an application, the system assigns one to each thread of execution. The system uses round-robin (that is, time-distribution) time slicing to ensure that threads of equal priority are given equal chances to be processed.

The first value (x) in the statement is the minimum amount of time a thread can be processed before yielding the processor to a thread of the same priority level; the second value (y) is the maximum amount of time a thread can be processed before yielding processor time.

The default is dynamic time slicing based on system load and paging activity. Dynamic time slicing gives the best performance in all situations.
===========================
When PRIORITY_DISK_IO=YES is specified in the CONFIG.SYS file, an application running in the foreground will receive disk I/O priority over applications running in the background. This means that the application in the foreground will have a better response time than applications running in the background.
===========================
дефолтная величина TIMESLICE - 32 миллисекунды для нормального приоритета, для timecritical - 8. В последних версиях и то и другое можно уменьнить до 2
SY,
EK
Наверх
Draggan Смотреть выпадающим
Участник
Участник


Присоединился: 31 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 52
Свойства публикации Свойства публикации   Ответить, цитируя автора - Draggan Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 09:59
По поводу RMS еще раз. Прошу прощения за ту ссылку на ACM Journal которую я давал в предыдущем сообщении, там эту статью надо покупать. :(
А вот здесь вроде не надо
http://www.cse.unl.edu/~goddard/Courses/RealTimeSystems/Lectures/LiuLayland73.pdf
Draggan
Kharkov, QNX Seminars
Наверх
Troglodith Смотреть выпадающим
Новичок
Новичок


Присоединился: 05 Ноябрь 2003
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - Troglodith Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 10:20
За ссылку спасиба
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 11:25
Первоначально опубликовано Sergey Sorokin

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


Вот ещё повод для уточниний: о чём же идёт разговор...

Безусловно, имеют право быть:
- РВ-системы, вообще не использующие какую-либо среду исполнения, или специализированные прикомпоновываемы библиотеки RT-tools: чисто автономное исполнение;
- РВ-системы, работающие в динамическом окружении, обеспечивающем поддержку RT (например, те же средства от OneTarget и др.) или скомопонованными из библиотек с RT API (C-Task в DOS - это не RT, не может быть в DOS RT! - но, к примеру, поддержка параллелизмов...);
- РВ-системы, работающие в среде, которую уже (из условий полноты набора функциональных возможностей) можно называть OS (широта этого набора возможностей, к примеру, в pSOS & QNX, очень сильно различаются).

Если тема названа "...как-то там про ОСРВ..." - то в этом рассмотрении интерес представляют только РВ 3-й категории. Сам термин RTOS - тоже несколько путанный: OS сама по себе не может быть RT/не-RT. Сама по себе OS пассивна к любым неспецифичным внешним ассинхронным воздействиям: вы можете до посинения стучать в /dev/ser порт, но если нет приложения, ожидающего событий с /dev/ser - OS ваш стук "до фени". OS может только предоставлять в распоряжение приложения API - у OS есть ещё ряд классических и определённых функций, но, в отношении выполняющегося приложения, интересна только 1-на функция: предоставление приложению интерфейсов API.

Так вот, приложения (возможно - одно и то-же самое, если API совместим с каким-то из стандартов: POSIX, OpenGroup etc.) могут обладать или не обладать realtime характеристиками, в зависимости от того API, используя который оно работает. Т.е. API OS (возможно одного вида) позволят приложению быть или нет RT.

В том тесте, который я показывал выше (это - исключительно для тех, кто разбирается в этих каракулях, конкретных пацанов с барабанами - это не должно беспокоить...):
- одно и то-же текстуально приложение на C++...
- скомпилированное одним и тем же компилятором GCC...
- выполняющееся под разными OS с относительно совместимым API...
- в 1-м случае (QNX) ведёт себя согласно критериям RT, а во 2-м (Linux) - нет.

Конечно, особенности функционирования API - это орднозначно только внешнее проявления архитектуры OS И деталей реализации этой архитектуры.
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 11:34
Первоначально опубликовано evgen

дефолтная величина TIMESLICE - 32 миллисекунды для нормального приоритета, для timecritical - 8. В последних версиях и то и другое можно уменьнить до 2


Это не есть принципиально важно - это всё те же вопросы масштаба и скорости...

Но: тоже хорошая величина TIMESLICE для OS, позиционируемой в качестве RTOS, хотя бы и 1-м экспертом (просто нигде от других я такого не слышал, и не читал... "...безумству храбрых - поём мы славу..." ).

Для справки: TIMESLICE в QNX - by default - 1мс., может быть изменено до 10мксек. ... эдак 2-3 порядка разници "временной инерционности" ;-).
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 11:40
Первоначально опубликовано evgen

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


Я ничего не забыл...
Это вы забыли ("склероз - лучшая из болезней: ничего не болит, и ... каждая страница форума начинается с новостей"(с)), я уже говорил:

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

Так что с исходниками: нет проблем... ;-).
Наверх
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 12:18
Первоначально опубликовано Olej

Первоначально опубликовано evgen

дефолтная величина TIMESLICE - 32 миллисекунды для нормального приоритета, для timecritical - 8. В последних версиях и то и другое можно уменьнить до 2


Это не есть принципиально важно - это всё те же вопросы масштаба и скорости...

ой-ой-ой. Вы опять про скорость ?

Первоначально опубликовано Olej


Но: тоже хорошая величина TIMESLICE для OS, позиционируемой в качестве RTOS, хотя бы и 1-м экспертом (просто нигде от других я такого не слышал, и не читал... "...безумству храбрых - поём мы славу..." ).

Не читали - и чье же это горе ?
Банкоматы и кассовые терминалы - это конечно же не поле деятельности для RTOS ? Я уж не говорю про американские крылатые ракеты и анекдотический случай с линкором, "успешно" перешедшим с OS2 на управление NT
Первоначально опубликовано Olej


Для справки: TIMESLICE в QNX - by default - 1мс., может быть изменено до 10мксек. ... эдак 2-3 порядка разници "временной инерционности" ;-).

Тяжело вам. Там где нормальные люди используют микропроцессорные контроллеры вы пользуете один писюк.
"эдак 2-3 порядка разници "временной инерционности" ;-)."
SY,
EK
Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Ноябрь 2003 12:34
Первоначально опубликовано evgen

Банкоматы и кассовые терминалы - это конечно же не поле деятельности для RTOS ?


Конечно "не поле"!
Здесь, хоть в одной позиции, я с вами безусловно солидарен.
Наверх
 Ответить Ответить Страница  <1 2526272829 36>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz