Real Time System Using COM
-
Dear expert...some challenging questions. Hope you enjoy them. 1. Is it possible to develop a real time application(not a service) that runs on win2000 server with dual processors? The application will be accessed by more than one client and that the application/server should retain its perfromance. The scope of access is limited in a LAN only. 2. What is the bottleneck in developing such application? 3. Can Win2000 automatically allocate threads to every processor? 4. You know where to find information about real time system design and development? so that everyone can share the knowledge cheers. ~sharing makes u more knowledgeable and expert~ John Woo
-
Dear expert...some challenging questions. Hope you enjoy them. 1. Is it possible to develop a real time application(not a service) that runs on win2000 server with dual processors? The application will be accessed by more than one client and that the application/server should retain its perfromance. The scope of access is limited in a LAN only. 2. What is the bottleneck in developing such application? 3. Can Win2000 automatically allocate threads to every processor? 4. You know where to find information about real time system design and development? so that everyone can share the knowledge cheers. ~sharing makes u more knowledgeable and expert~ John Woo
1. yes. 2. overhead of sending messages & making initial connection. Also consider memory use per connection. 3. hmm, why would you want to that? this is not nesc. the most efficient arrangement, but yes it will allocate threads in a way that is efficient if you use COM+. 4. msdn.
"When the only tool you have is a hammer, a sore thumb you will have."
-
Dear expert...some challenging questions. Hope you enjoy them. 1. Is it possible to develop a real time application(not a service) that runs on win2000 server with dual processors? The application will be accessed by more than one client and that the application/server should retain its perfromance. The scope of access is limited in a LAN only. 2. What is the bottleneck in developing such application? 3. Can Win2000 automatically allocate threads to every processor? 4. You know where to find information about real time system design and development? so that everyone can share the knowledge cheers. ~sharing makes u more knowledgeable and expert~ John Woo
No. There is no way to predict the duration of execution of your functions - and that is the foundation for real time. I.e. you're only real time when you prove that your code will execute within nnn millisecs...if you can assume it but can't prove it then you're a real-time gambler. It might work for, but I would not use it for devices that might cause serious damage or even loss of life. Tomaz
-
Dear expert...some challenging questions. Hope you enjoy them. 1. Is it possible to develop a real time application(not a service) that runs on win2000 server with dual processors? The application will be accessed by more than one client and that the application/server should retain its perfromance. The scope of access is limited in a LAN only. 2. What is the bottleneck in developing such application? 3. Can Win2000 automatically allocate threads to every processor? 4. You know where to find information about real time system design and development? so that everyone can share the knowledge cheers. ~sharing makes u more knowledgeable and expert~ John Woo
According to a strict definition of "real-time" the answer is NO. Win2000 (or any other version in the same lineage) is NOT a real-time operating system. These versions of Windows are not deterministic (not intended to be). Windows CE3.0 is much more nearly real-time and may be appropriate for some applications. Windows Embedded is even better. See http://www.microsoft.com/windows/Embedded/community/experto/july2002/jaokeefe.asp[^] for example. But maybe you didn't really mean "real-time"?
The opinions expressed in this communication do not necessarily represent those of the author (especially if you find them impolite, discourteous or inflammatory).
-
According to a strict definition of "real-time" the answer is NO. Win2000 (or any other version in the same lineage) is NOT a real-time operating system. These versions of Windows are not deterministic (not intended to be). Windows CE3.0 is much more nearly real-time and may be appropriate for some applications. Windows Embedded is even better. See http://www.microsoft.com/windows/Embedded/community/experto/july2002/jaokeefe.asp[^] for example. But maybe you didn't really mean "real-time"?
The opinions expressed in this communication do not necessarily represent those of the author (especially if you find them impolite, discourteous or inflammatory).
i'm betting on the english definition of real time :)
"When the only tool you have is a hammer, a sore thumb you will have."
-
No. There is no way to predict the duration of execution of your functions - and that is the foundation for real time. I.e. you're only real time when you prove that your code will execute within nnn millisecs...if you can assume it but can't prove it then you're a real-time gambler. It might work for, but I would not use it for devices that might cause serious damage or even loss of life. Tomaz
Absolutely correct. Personally, I invoke the "close enough for rock & roll" test. Quite literally, in fact. I recently wrote an app to control concert lighting fixtures, moving lights, strobes, etc. via the DMX protocol. My hardware gizmo refreshes the DMX buffer in the lighting chain approximately every 25 milliseconds. The threads in my application code, of course, have no guarantee of getting service (or even a table, for that matter). However, those constraints notwithstanding, I was able to control "real time" lighting effects in synch with the music. You know it's not real time. I know it's not real time. The people at the gig, of course, don't. Close enough for rock & roll... Chistopher Duncan Author - The Career Programmer: Guerilla Tactics for an Imperfect World (Apress)
-
Dear expert...some challenging questions. Hope you enjoy them. 1. Is it possible to develop a real time application(not a service) that runs on win2000 server with dual processors? The application will be accessed by more than one client and that the application/server should retain its perfromance. The scope of access is limited in a LAN only. 2. What is the bottleneck in developing such application? 3. Can Win2000 automatically allocate threads to every processor? 4. You know where to find information about real time system design and development? so that everyone can share the knowledge cheers. ~sharing makes u more knowledgeable and expert~ John Woo
As others have said, NT just really isn't an RT OS out of the box. It can be made to be RT, but that is usually not people want. COM works just fine in process control. Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture
-
i'm betting on the english definition of real time :)
"When the only tool you have is a hammer, a sore thumb you will have."
Mostly stupid managers and specification writers who don't know what RT really means. We beat people over the head and tell them that their definition of RT usually ment "Having enough CPU resources to get the job done in the expected amount of time, usually." Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture
-
Mostly stupid managers and specification writers who don't know what RT really means. We beat people over the head and tell them that their definition of RT usually ment "Having enough CPU resources to get the job done in the expected amount of time, usually." Tim Smith "Programmers are always surrounded by complexity; we can not avoid it... If our basic tool, the language in which we design and code our programs, is also complicated, the language itself becomes part of the problem rather that part of the solution." Hoare - 1980 ACM Turing Award Lecture
surely "stipud managers" has a redundant word in it ;P
"When the only tool you have is a hammer, a sore thumb you will have."