A
Armin Steinhoff
Hi All,
On April 27, 2007, Vladimir Zyubin wrote:
> On April 24, 2007, Michael Griffin wrote:
> > In reply to Vladimir: An RTOS does not have to use a micro-kernel
> > and a use of a micro-kernel does not make an OS an RTOS. Good
> > examples of these are respectively, the RT versions of Linux which
> > use a monolithic kernel, and Minix 3 or Hurd which have
> > micro-kernels but are not an RTOS. <
>
>It looks like the apophatic theology... definition by negations.
>
>What are the RTOS features? <
The most important feature of an RTOS is producing results in a timely manner (meeting deadlines). There is no warranty that a MS-Windows OS can do that (CE excluded).
> I see no difference between QNX and
> Windows. Microkernal architecture only. <
Windows drivers are part of the Microsoft OS kernel... QNX drivers are Resources Managers which are running in their own protected address space!
That's the most important architectural difference between MS-Windows and QNX6 (and QNX4).
There are also big differences in process/thread scheduling policies between MS-Windows and QNX4. (Partitioning of CPU time, for example...)
> > Many people consider a micro-kernel to be a good basis for an RTOS
> > because the small size of the kernel means it is easier to verify
> > the length of the "locked" (uninterruptable) code sections (because
> > there is less code to review and maintain). The rest of the OS
> > processes are pushed out to modules with lower privilege levels
> > which can be interrupted at any time just like a user program. <
>
>Microkernal architecture allows us to close the question about
>multitasking logical parallelism at all. We can easely share the
>kernal between any multicore architecture. And there is no scheduler
>problem: latencies, preemtive algorithms, timesharing, priorities,
>etc. in MCA. <
Separating drivers from the kernel is the biggest advantage of micro kernel systems.
> > Micro-kernels are also popular in RTOS designs because an RTOS is
> > often used in small embedded systems. The modularity of the
> > micro-kernel design makes it easier to strip it down to the bare
> > essentials for that particular application, thereby saving EPROM and
> > RAM. <
>
>And makes it easy to share the tasks between the cores, i.e. to transform
>logical parallelism to physical one.
>
> > The disadvantage of a micro-kernel is that it runs more slowly than
> > the alternative (monolithic kernel) on typical hardware, and is more
> > difficult to write and debug (and so tends to incorporate potential
> > improvements more slowly). Micro-kernels are popular with
> > theoretical computer scientists but all of the popular general
> > purpose operating systems today use monolithic kernels (specialised
> > ones like QNX are the exception). <
>
>Yes. Parallelism is more dificult to deal with. <
QNX shows that handling of parallelism must not slow down the operation of a micro kernel OS.
It's just a design issue...
> > The criteria for deterministic behaviour in an RTOS is that an
> > interrupt is always serviced within a specific period of time, or
> > that a process is always run at a specific interval. However, using
> > an RTOS does not automatically make a complete system
> > "deterministic". That requires proper design of the overall
> > application, hardware, and system. The RTOS is just a tool in the
> > toolbox of the application designer. <
>
>Any interrupt demands a non-zero time. In multicore parallel system
>with microkernal OS it demands minimal time interval for handling. And it
>is localised, i.e. it depends on the local task structure only.
>
>As to the word "deterministic":
>determinism - the philosophical doctrine that all
>events including human actions and choices are fully determined by
>preceding events and states of affairs, and so that freedom of choice
>is illusory.
>
>So, personally can make the following statement only: any digital system
>is deterministic by definition. <
Sorry... every MS-Windows system is a digital system. Are they working deterministic in a timely manner?
Best Regards,
Armin Steinhoff
www.steinhoff-automation.com
On April 27, 2007, Vladimir Zyubin wrote:
> On April 24, 2007, Michael Griffin wrote:
> > In reply to Vladimir: An RTOS does not have to use a micro-kernel
> > and a use of a micro-kernel does not make an OS an RTOS. Good
> > examples of these are respectively, the RT versions of Linux which
> > use a monolithic kernel, and Minix 3 or Hurd which have
> > micro-kernels but are not an RTOS. <
>
>It looks like the apophatic theology... definition by negations.
>
>What are the RTOS features? <
The most important feature of an RTOS is producing results in a timely manner (meeting deadlines). There is no warranty that a MS-Windows OS can do that (CE excluded).
> I see no difference between QNX and
> Windows. Microkernal architecture only. <
Windows drivers are part of the Microsoft OS kernel... QNX drivers are Resources Managers which are running in their own protected address space!
That's the most important architectural difference between MS-Windows and QNX6 (and QNX4).
There are also big differences in process/thread scheduling policies between MS-Windows and QNX4. (Partitioning of CPU time, for example...)
> > Many people consider a micro-kernel to be a good basis for an RTOS
> > because the small size of the kernel means it is easier to verify
> > the length of the "locked" (uninterruptable) code sections (because
> > there is less code to review and maintain). The rest of the OS
> > processes are pushed out to modules with lower privilege levels
> > which can be interrupted at any time just like a user program. <
>
>Microkernal architecture allows us to close the question about
>multitasking logical parallelism at all. We can easely share the
>kernal between any multicore architecture. And there is no scheduler
>problem: latencies, preemtive algorithms, timesharing, priorities,
>etc. in MCA. <
Separating drivers from the kernel is the biggest advantage of micro kernel systems.
> > Micro-kernels are also popular in RTOS designs because an RTOS is
> > often used in small embedded systems. The modularity of the
> > micro-kernel design makes it easier to strip it down to the bare
> > essentials for that particular application, thereby saving EPROM and
> > RAM. <
>
>And makes it easy to share the tasks between the cores, i.e. to transform
>logical parallelism to physical one.
>
> > The disadvantage of a micro-kernel is that it runs more slowly than
> > the alternative (monolithic kernel) on typical hardware, and is more
> > difficult to write and debug (and so tends to incorporate potential
> > improvements more slowly). Micro-kernels are popular with
> > theoretical computer scientists but all of the popular general
> > purpose operating systems today use monolithic kernels (specialised
> > ones like QNX are the exception). <
>
>Yes. Parallelism is more dificult to deal with. <
QNX shows that handling of parallelism must not slow down the operation of a micro kernel OS.
It's just a design issue...
> > The criteria for deterministic behaviour in an RTOS is that an
> > interrupt is always serviced within a specific period of time, or
> > that a process is always run at a specific interval. However, using
> > an RTOS does not automatically make a complete system
> > "deterministic". That requires proper design of the overall
> > application, hardware, and system. The RTOS is just a tool in the
> > toolbox of the application designer. <
>
>Any interrupt demands a non-zero time. In multicore parallel system
>with microkernal OS it demands minimal time interval for handling. And it
>is localised, i.e. it depends on the local task structure only.
>
>As to the word "deterministic":
>determinism - the philosophical doctrine that all
>events including human actions and choices are fully determined by
>preceding events and states of affairs, and so that freedom of choice
>is illusory.
>
>So, personally can make the following statement only: any digital system
>is deterministic by definition. <
Sorry... every MS-Windows system is a digital system. Are they working deterministic in a timely manner?
Best Regards,
Armin Steinhoff
www.steinhoff-automation.com