Intelligence Inside-Embedded System
Intelligence inside-means the master which is performing the great task inside your electronic devices. This paper gives an over view of embedded system mainly about the RTOS. It gives a brief explanation of application of embedded system, its history, characteristic and working of embedded system and also it will guide you to make an exciting career in embedded system. This paper is focused on the research and development that is going on in the field of both software as well as hardware of the embedded system.
RTOS, Kernel, Micro Processor, Micro controllers, ROM, firmware Task management, Timer, Dynamic memory allocation, Device, I/O supervisor, intertask communication and synchronization.
To most people, embedded systems are not recognizable as computers. Instead, they are hidden inside everyday objects that surround us and help us in our lives. Embedded systems typically do not interface with the outside world through familiar personal computer interface devices such as a mouse, keyboard and graphic user interface. Instead, they interface with the outside world through unusual interfaces such as sensors, actuators and specialized communication links.
In brief, embedded systems are a combination of hardware and software with some mechanical or other parts added, which perform discrete, limited functions. A program for performing a pre-defined function is written permanently onto the hardware such as a ROM chip.
For the hardware of the embedded system microprocessors and microcontrollers of different architectures are used. Also, Real-Time Operating Systems (RTOSes) are used by software programmers to write programs for the hardware interfaces
In the earliest years of computers in the 1940s, computers were sometimes dedicated to a single task but were too large to be considered “embedded”. Over time however, the concept of programmable controllers developed from a mix of computer technology, state devices, and traditional electromechanical sequences.
The first recognizably modern embedded system was the Apollo Guidance Computer, developed by Charles Stark Draper at the MIT Instrumentation Laboratory
The first mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman missile, released in 1961. It was built from transistor logic and had a hard disk for main memory. When the Minuteman II went into production in 1966, the D-17 was replaced with a new computer that was the first high-volume use of integrated circuits. This program alone reduced prices on quad nand gate ICs from $1000/each to $3/each permitting their use in commercial products
As the cost of a microcontroller fell below $1, it became feasible to replace expensive knob-based analog components such as potentiometers and variable capacitors with digital electronics controlled by a small microcontroller with up/down buttons or knobs. By the end of the 1980s, embedded systems were the norm rather than the exception for almost all electronics device, a trend which has continued sincere.
Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also gave real-time performance constraints that must be met, for reason such as safety and usability; others may have low or no performance requirements, allowing the systems hardware to be simplified to reduce costs.
Embedded systems are not always separate devices. Most often they are physically built-in to the devices they control.
The software written for embedded systems is often called firmware, and is stored in read-only memory or Flash memory chips rather than a disk drive. It often runs with limited computer hardware resources: small or no keyboard, screen, and little memory.
6. RTOS and basic kernel service
Real-time and embedded systems operate in constrained environments in which computer memory and processing power are limited. They often need to provide their services within strict time deadlines to their users and to the surrounding world. It is these memory, speed and timing constraints that dictate the use of real-time operating systems in embedded software.
In the discussion below, we will focus on the “kernel”- the part of an operating system that provides the most basic service to application software running on a processor.
The “kernel” of a real-time operating system (‘RTOS’) provides an “abstraction layer” that hides from application software the hardware details of the processor (or set of processors) upon which the application software will run. This is shown in Figure1.
Figure 1: An RTOS Kernel provides an Abstraction Layer between Application Software and Embedded Hardware
In providing this “abstraction layer” the RTOS kernel supplies five main categories of basic services to application software, as seen in Figure 2.
Figure 2: Basic Service Provided by a Real-Time Operating System Kernel
The most basic category of kernel services, at the very center of Figure 2, is Task Management. This set of services allows application software developers to design their software as a number of separate “chunks” of software-each handling a district topic, a district goal, and perhaps its own real-time deadline. Each separate “chunks” of software is called a “task”. Services in this category include the ability to launch tasks and assign priorities to them. The main RTOS service in this category is the scheduling of tasks as the embedded system is in operation. The Task Scheduler controls the execution of application software tasks, and can make them run in a very timely and responsive fashion.
The second category of kernel services, shown at the top of Figure 2, is Intertask Communication and Synchronization. Theses services make it possible for tasks to pass information from one to another, without danger of the information ever being damaged. They also make it possible for tasks to coordinate, so that they can productively cooperate with one another. Without the help of these RTOS services, tasks might well communicate corrupted information or otherwise interfere with each other.
Since many embedded systems have stringent timing requirements, most RTOS kernels also provide some basic Timer services, such as tasks delays and time-outs. These are shown on the right side of Figure 2.
Many (but not all) RTOS kernels provide Dynamic Memory Allocation services. This category of services allows tasks to “borrow” chunks of RAM memory for temporary use in application software. Often these chunks of memory are then passed from task to task, as a means of quickly communicating large amounts of data between tasks. Some very small RTOS kernels that are intended for tightly memory-limited environments, do not offer Dynamic Memory Allocation Services.
Many (but not all) RTOS kernels also provide a “Device I/O Supervisor” category of services. These services, if available, provide a uniform framework for organizing and accessing the many hardware device drivers that are typical of an embedded system.
Areas like chip designing, embedded devices and systems, embedded Linux etc requires programming of the Linux kernel to work in real-time. Therefore Linux distribution meant for real-time programming and operations such as VxWorks, RT Linux , and others are used to perform specific functions and develop device drivers for chips for embedded devices.
Embedded systems often reside in machines that are expected to run continuously for years without errors and in some cases recover by themselves if an error occurs. Therefore the software is usually developed and tested more carefully than that for personal computers, and unreliable mechanical moving parts such as disk drivers, switches or buttons are avoided.
For example, if gaming software is unable to record the history of the high scores, it will not affect the whole operating system much but coming to RTOS of a embedded system device the thing might be different, in case of embedded software, a single error can change the entire function of the device.
We use smart devices and electronic equipment for various tasks, from enabling a smart door lock to watching a DVD on our home theatre. Smart phones, laptops, consumer electronics, automotive electronics, medical equipment industrial machines, and, in fact, anything with a digital inter face, have their computing power in the form of microcontrollers or microprocessors on the integrated circuits ‘embedded” in them.
9. Emerging career
Embedded technology is one of the fastest growing sectors in
, and is likely to remain so for a ling time. India
According to a report-Indian Semiconductor Industry and its Impact, by The ISA (Indian Semiconductor Association) and Frost & Sullivan, there would be a requirement for 7,81,780 engineers in the semiconductor and embedded design verticals.
10. Basic Requirements
The key to starting off on an embedded systems career path is to pursue an education in engineering or computer science. The foundation for a successful career could be laid by acquiring a Bachelors or Masters engineering degree with a specialization preferably in electronics, electrical or computer science engineering.
We conclude that embedded system is growing with a rapid pace and RTOS (Real Time Operating System) plays a vital role in the performance of embedded devices and helping to make our life easier
I sincere thank all the authors who guided me in completing the work successfully related this paper.
1. Mechael Barr. Embedded Systems Glossary (http://www.netrino.com/Embedded-Systems/Glossary). Netrino Technical Library. Retrieved on 2007-04-21.
2. David Kalinsky is a popular lecturer and seminar leader on technologies for embedded software. David has built high0tech training programs for a number of
Silicon Valley companies on the development of real embedded systems. David holds a Ph.D. in nuclear physics from . University of Yale
3. Vinodh Chelambathodi General Manager-Human Resources Engineering and R &D Services HCL Technologies Ltd.
4. Naresh Shah , Managing Direction , R&D Lab Novell