Is Windows XP a real-time OS?

TechnoPro

Golden Member
Jul 10, 2003
1,727
0
76
Not that I know exactly what a real-time operating system is, but I have always been under the impression that Windows is not considered a true real-time product. I'm about to go flame a guy on another forum for making claims that it is, but I figured I should first get the facts straight from people in the know. Thanks.
 

corkyg

Elite Member | Peripherals
Super Moderator
Mar 4, 2000
27,370
239
106
That is still debatable topic. This can possibly help you decide.

RTOS

According to the above, WINDOWS CE is a proprietary RTOS, but ordinary Windows is not listed.
 

bendixG15

Diamond Member
Mar 9, 2001
3,483
0
0
Why is this important ???

Isn't this just an arguement over symantics ??

Hey, I'm just asking ...
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
If you set a process to realtime then it will never yield to other processes until the pending operation is complete, or until that app tells the OS it's OK to yield. Realtime is only used for low-level drivers as far as I know.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
No it's not a 'realtime operating system'.

A realtime operating system is considured 'realtime' when you can garrentee the latency of computer operations. A programmer with a paticular computer will be able to say stuff like "This operation on this program will finish in 30msecs or less on this hardware with nearly 100% reliability". With Windows XP you cannot garrentee such things. Depending on CPU load and other things going on you can have latencies anywere up to a quarter of a second, even beyond that. Even for 'realtime' priority stuff... It's not very common for things to get that bad, but it can happen. Realtime operating systems are designed specificly to prevent that from ever happenning.

Typically only embedded systems will require realtime operation. Stuff for scientific instruments, machine automation and such. Things were timing is critical. This is used to replace expensive hardware/circuit-based controllers with inexpensive software.

For desktop systems this is entirely unimportant and having proccesses running in real 'realtime' operation would murder your overal performance. Just throw it out the window.
 

postmortemIA

Diamond Member
Jul 11, 2006
7,721
40
91
I suggest OP to read what real-time means, he seems very confused about it. No OS that is primarily used for user interaction is RT.
 

AtlantaBob

Golden Member
Jun 16, 2004
1,034
0
0
Originally posted by: drag
No it's not a 'realtime operating system'.

A realtime operating system is considured 'realtime' when you can garrentee the latency of computer operations. A programmer with a paticular computer will be able to say stuff like "This operation on this program will finish in 30msecs or less on this hardware with nearly 100% reliability". With Windows XP you cannot garrentee such things. Depending on CPU load and other things going on you can have latencies anywere up to a quarter of a second, even beyond that. Even for 'realtime' priority stuff... It's not very common for things to get that bad, but it can happen. Realtime operating systems are designed specificly to prevent that from ever happenning.

Typically only embedded systems will require realtime operation. Stuff for scientific instruments, machine automation and such. Things were timing is critical. This is used to replace expensive hardware/circuit-based controllers with inexpensive software.

For desktop systems this is entirely unimportant and having proccesses running in real 'realtime' operation would murder your overal performance. Just throw it out the window.

Yeup. And the always helpful.... Wikipedia entry.
 

TechnoPro

Golden Member
Jul 10, 2003
1,727
0
76
Originally posted by: bendixG15
Why is this important ???

Isn't this just an arguement over symantics ??

Hey, I'm just asking ...

Someone on an HTPC forum was stating that a Windows PC should be rock solid and stable because Windows is real time OS. At the time, no one had jumped on this guy to call BS.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: postmortemIA
I suggest OP to read what real-time means, he seems very confused about it. No OS that is primarily used for user interaction is RT.

At least not yet. People are working on it, but it's not easy.

WinCE has some realtime features and there are realtime specific versions of the Linux kernel, but the challenge to make a regular modern kernel that is specificly able to provide garrenteed latencies for specific proccesses.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Isn't this just an arguement over symantics ??

Not at all, real-time system guarantees latency for certain operations. Meaning that RT process will never take longer than the specified amount of time to run because if it does the system has failed, it's all or nothing. Scheduling latencies in normal use OSes are much less of a problem, a user will never notice if a process takes an extra 1-100ms (or sometimes higher depending on the operation) to do it's job.

Oh and it's semantics, Symantec is a company.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Not at all, real-time system guarantees latency for certain operations. Meaning that RT process will never take longer than the specified amount of time to run because if it does the system has failed, it's all or nothing. Scheduling latencies in normal use OSes are much less of a problem, a user will never notice if a process takes an extra 1-100ms (or sometimes higher depending on the operation) to do it's job.

Mostly. The only time latency matters in a desktop operating system right now is when your doing live audio recording and realtime audio proccessing. I've read that the minimal possible amount a delay person can percieve is around a 10msec delay.

As a digital audio workstation it is important that a operator be able to match beats and line up different tracks and different audio sources properly for a recording. You may have somebody on a midi controller plugging away at a keyboard which is then making noises using software syths on your system, then anothe person may be playing a guitar, another on drums and so on and so forth. Maybe even this is done live, who knows. For recordings then you don't want to have everything out of sync, or the buffer on your audio I/O running out and you get pops and squells and such.

By default Windows audio system uses what is called 'kmix' which is a software mixing subsystem for win32, I beleive. (which is also why it's rare to find cards that still do hardware mixing) By having this extra layer between audio cards and the software then about the best you can expect is upwards to 250 or msecs, where you can drive the system and not get audio artifacts. Or soemthing like that. That is why you have ASIO audio drivers that bypass the normal Windows audio subsystems and allow audio applications to access the audio I/O on the comptuer directly. Still though you will see people telling users to disable things like virus scanners and such in XP to avoid heavy disk access which will cause buffer underuns in the audio hardware.

Of course Linux didn't have software mixing by default until recently. (of course nowadays dmix mixer is enabled by default, but is easily bypassed by applications if they feel like it) ALSA drivers allowed direct access, but still there has to be support in the hardware for effective low latency audio work, so nice cards are still nice. With current 2.6.18 kernels and such there have been enough realtime-like features added that you can get pretty reliable operation of maybe 100msec or so, which is good enough for most things. Older 2.6 kernels, even with preemptive features, I don't think realy do a very good job. It depends on the actual kernel version though. With audio-specific Linux distributions you have things like Ingo Molnar's realtime-preempt patches used in the kernel by default which allows reliable operation of under 10msecs on fast machines. (and of course Ingo's patches are highly unstable and bits and peices are being incorporated into 2.6 vanila kernel as time goes on)

Now this is were OS X is pretty good when compared to Linux and Windows. They have their 'Core Audio' system which seems like is specificly designed for using OS X and a digital audio workstation, which is obviously one of OS X's common uses. Low latency operation is pretty reliable (I am guessing under 30msecs reliably, but I have no personal experiance. People brag that sub 10msec is possible, but I doubt that is possible on a heavy cpu load.) and is actually something nice about OS X that makes it desirable for this sort of thing.

Thats not to say that XP or Linux can't be usefull when compared to OS X, it's just that OS X does it by default which would require special drivers in XP and special kernel in Linux.
 

Smilin

Diamond Member
Mar 4, 2002
7,357
0
0
Originally posted by: xtknight
If you set a process to realtime then it will never yield to other processes until the pending operation is complete, or until that app tells the OS it's OK to yield. Realtime is only used for low-level drivers as far as I know.

Not to be confused with a realtime OS. "Realtime" as in process priority only means that process will be deferred to (as you mentioned). It is NOT a guarantee that the process will complete in a given time. Drivers are not realtime in this regard either...they use DPCs for instance.
 

Noema

Platinum Member
Feb 15, 2005
2,974
0
0
Originally posted by: drag


The only time latency matters in a desktop operating system right now is when your doing live audio recording and realtime audio proccessing. I've read that the minimal possible amount a delay person can percieve is around a 10msec delay.

Yeah. When I read 'latency' the first thing that popped to my mind was audio recording. I'm getting quite a bit into digital recording, specially multi-channel tracks, where latency can really kill a performance. It's hard so far for me to get great tracks since I'm using sub-par recording for the most part, and latency is an issue in some cases.

 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Well if your curious to see what a low-latency desktop with a 'realtime' kernel is like you may want to check out:
http://64studio.com/

It's Debian-based, like Ubuntu, but it's specificly geared towards 64bit audio and visual workstation. (they have a 32 bit version also)

I is something that is specificly designed to work take advantage of AMD64 (or Intel 64bit) multi-core proccessors.

It's going to be quite a bit different from what you'd find in Windows in a lot of ways, but I figure people may want to mess around with it.


I haven't messed around with it yet, but I've used 'realtime-preempt' patches in the past and one interesting thing is how crappy the overall performance of the machine gets as I put tighter and tighter restrictions on the amount of latency I allow for the Jack audio daemon to interact with the sound card.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |