Thanks for all the detailes ----- Original Message ----- From: jpm <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, August 17, 2004 6:24 PM Subject: Re: [ilug-cal] what is embedded linux
> J.BAKSHI wrote: > > >Hi list, > > > >there are 2 linux distros > >1) real time linux > >2) embedded linux > > > >could any one pls provide me any clear idea what are these ? is there any > >good book/site to learn them ? > > > >also pls let me know what are IPC, POSIX and POSIX IPC ? > > > >thanks for your time. > > > > > Hi: > I am taking the liberty of writing a few lines <jpm> > It is better to look at them as real-time systems and embedded-systems, > and then add the role of Linux in this technology sphere. > I had the experience of working on a large system(mainframe lookalike) > installed by IBM at a Steel Plant (I think it was IBM 1800). It was > known as a real time system, since it was used to monitor the furnace > inputs and take action. But today you may not find such mainframe > lookalikes. But majority of the realtime systems used today will be > systems implemented on one or more 'tiny' 32 or 64 bit systems. > So you could say that majority of real-time systems in use are based on > 'embedded systems'. But there are some implemented on large hardware > platforms. Typical examples are those used in Aircraft and space > vehicles or even in critical Medical equipments. > But there are many embedded systems that do not have the features of > RTOS kernel. A typical example will be an embedded system used as a game > console like Gameboy (If I am not mistaken it uses ARM processor and > Linux). > A real-time system has a number of restrictions and features: > 1. Detrminism - For the environment that is selected it should have > predictable performance even if there are many (assume the I/O is fully > staurated) Input Output taking place simultaneously. You can include > paging in/out of Virtual Memory pages also into this timing. If a > particular CPU (at say 50 MHz) is failing to meet the requirement, can > the designer just chnage the component to a 200MHz CPU ? No, it is > possible that the OS may sometimes go through a dubious I/O routine that > once in a bluemoon it may delay the application software beyond the > tolerance level. So the rule is that the OS is so designed that under > "NO" circumstance will it fail to give adequate response to the > Real-time application running on that processor. > 2. Pre-emptive kernel - The kernel itself should be pre-emptible. The > old Linux kernel was not pre-emptible, ie. if a kernel routine is in > control of the CPU, the next Interrupt may have to wait till the kernel > routine is complete. I believe the new 2.6 kernel may be pre-emptible, > and therefore suitable for RTOS category. I am quoting below from > "Solaris Internals": > "The Solaris kernel is preemptive; that is, the execution of an > operating system kernel thread, or user thread can be preempted if a > higher priority thread becomes runnable. This feature minimizes dispatch > latency and is a key component to the implementation of real-time > scheduling class" > Latency reduction achives predictable preformance. > P.S. Some books and authors explain erroneously refer to pre-empting a > running (user) thread as pre-emptive kernel. This is wrong as they do > not consider the kernel thread itself. > Embedded systems are more common place now, as I mentioned earlier game > consoles, home security systems, industrial controllers, MP3 players, > Mobile phones etc...My router is also an embedded system. But they do > not come under real-time systems. > What is the role of Linux in this field: > Slowly, many organizations are testing eCos ( a system derived from > RedHat group) for real-time capability. LynuxWorks got their own version > of Realtime system (but not GPL). If kernel 2.6 meets the basic > requirement, that too can be used for real-time system development. So > probably you can replace the systems with a "reliable" hardware running > Linux kernel 2.6 > As far as Embedded systems are concerned Linux is a good choice and as > per the surveys more than 50% systems are built with Linux. There are a > number of diffrent websites that support embedded system development on > ARM, PowerPC (PPC) and MIPS etc. all using Linux. > I hope the significance and difference of the two are clear from the above. > I suggest reading from web more information on this than spending money > on a book. There is plenty of reading material available. > P.S. You must note that Linux in general is available only on > platforms that support Memory Management Unit (for support of Virtual > Memory). eCos can be configured on systems without MMU. uCLinux is > another distribution that supports similar features and modules for > systems without MMU. So while you are very near Linux hub, you may be > adopting a slightly different path for a specific platform. > > Please let me know if this information was useful to you. > For IPC, I suggest you lookup and read on what services are offered by a > typical kernel for applications using Inter Process Communication. This > subject is more complex, and you need to read some books. Read about > System V IPC : Shared Memory, Message Queues and Semaphore. > Read Chapter 6 of Unix Internals by Uresh Vahalia. > > JPMathew > > > > > > -------------------------------------------------------------- > DPS INDIA PRIVATE LTD., CALCUTTA, INDIA > > > > -- > To unsubscribe, send mail to [EMAIL PROTECTED] with the body > "unsubscribe ilug-cal" and an empty subject line. > FAQ: http://www.ilug-cal.org/node.php?id=3 -- To unsubscribe, send mail to [EMAIL PROTECTED] with the body "unsubscribe ilug-cal" and an empty subject line. FAQ: http://www.ilug-cal.org/node.php?id=3
