реал тайм осы |
Ответить | Страница <1 2526272829 36> |
Автор | ||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
Опубликовано: 24 Ноябрь 2003 22:23 |
|||
Вы мене удивляете...они ж вот тут рядом-с издают очень даже компьютерный журнал, а в рекламном материале, каковым явлется тот отчет, умудряются сделать _такие_ ляпы. Что же спрашивается они тогда за деньги сделают ? Нее-ет - фигу им - а не деньги от меня. Дураков и без меня на их век хватит. |
||||
SY,
EK |
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||
Вы забыли, шо я еще и приверженец посмотреть в исходник, а без этого я в этих каракулях - не понимаю ничего. |
||||
SY,
EK |
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||
=========================== 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 |
||||
Участник Присоединился: 31 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 52 |
||||
По поводу RMS еще раз. Прошу прощения за ту ссылку на ACM Journal которую я давал в предыдущем сообщении, там эту статью надо покупать. :(
А вот здесь вроде не надо http://www.cse.unl.edu/~goddard/Courses/RealTimeSystems/Lectures/LiuLayland73.pdf |
||||
Draggan
Kharkov, QNX Seminars |
||||
Новичок Присоединился: 05 Ноябрь 2003 Online Status: Offline Публикации: 4 |
||||
За ссылку спасиба
|
||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||
Вот ещё повод для уточниний: о чём же идёт разговор... Безусловно, имеют право быть: - РВ-системы, вообще не использующие какую-либо среду исполнения, или специализированные прикомпоновываемы библиотеки 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 И деталей реализации этой архитектуры. |
||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||
Это не есть принципиально важно - это всё те же вопросы масштаба и скорости... Но: тоже хорошая величина TIMESLICE для OS, позиционируемой в качестве RTOS, хотя бы и 1-м экспертом (просто нигде от других я такого не слышал, и не читал... "...безумству храбрых - поём мы славу..." ). Для справки: TIMESLICE в QNX - by default - 1мс., может быть изменено до 10мксек. ... эдак 2-3 порядка разници "временной инерционности" ;-). |
||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||
Я ничего не забыл... Это вы забыли ("склероз - лучшая из болезней: ничего не болит, и ... каждая страница форума начинается с новостей"(с)), я уже говорил: - я охотно раздаю исходники, но... : а).только тому, кому я хочу, б).только тому, кто корректно просит, а не хамски требует, в).когда хочу и г).тем способом, который мне удобен. Так что с исходниками: нет проблем... ;-). |
||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||
ой-ой-ой. Вы опять про скорость ?
Не читали - и чье же это горе ? Банкоматы и кассовые терминалы - это конечно же не поле деятельности для RTOS ? Я уж не говорю про американские крылатые ракеты и анекдотический случай с линкором, "успешно" перешедшим с OS2 на управление NT
Тяжело вам. Там где нормальные люди используют микропроцессорные контроллеры вы пользуете один писюк. "эдак 2-3 порядка разници "временной инерционности" ;-)." |
||||
SY,
EK |
||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||
Конечно "не поле"! Здесь, хоть в одной позиции, я с вами безусловно солидарен. |
||||
Ответить | Страница <1 2526272829 36> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |