Architecture design of a virtual embedded system report


Published on

Architecture design of a virtual embedded system full seminar report

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Architecture design of a virtual embedded system report

  1. 1. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 1 1.Introduction In recent years a technological breakthrough has been witnessed with the classical model of infrastructure of embedded system .The classical model of the embedded systems are not given the full features of software and hardware updates .Classical embedded systems are those real time system which are perform by sensing the environment and achieve the dedicated goal but not much user friendly so the virtualization layer is added to the embedded system. With the arrival of virtualization, infrastructure concepts have so profoundly evolved as to be set as standard planetary clouds called "cloud computing." In addition to cost advantages and deployment systems, virtualization offers a flexible architecture based on an abstraction layer between the hardware and the software layers. Embedded systems whose major issue is the relationship between hardware and software can also benefit from this architecture to avoid designing embedded systems which are difficult to develop and maintain. Here, it is proposed that using the concept of virtualization it is possible to design an embedded system enjoying all the benefits and contributions offered by virtualization. An embedded system is a hybrid of hardware and software, which combines software’s flexibility and hardware real-time performance because Embedded Systems is simply the brain of most of the electronics based systems to access, process, store and control the data.Embedded systems can be considered as assemblies of hardware and software components .The embedded systems are using huge amount in industries and workstations so virtualization is really needed so a system architecture based on embedded virtualization has been proposed .
  2. 2. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 2 2. Embedded System & its Characteristics The present worldis surrounded by computing systems. Every year millions of computing systems are built destined for desktop computers Embedded Systems (Personal Computers, workstations, mainframes and servers) but surprisingly, billions of computing systems are built every year embedded within larger electronic devices and still goes unnoticed. Any device running on electric power either already has computing system or will soon have computing system embedded in it. An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is specifically designed for a particular function. Industrial machines, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines and toys (as well as the more obvious cellular phone and PDA) are among the myriad possible hosts of an embedded system. The increasing demand to integrate consumer electronics and custom applications based on a broad range of platforms into vehicles is intensifying this problem virtualization is added into the embedded system. The growing number of instances of breaches in information security in the last few years has created a compelling case for efforts towards secure electronic systems. Embedded systems, which will be ubiquitously used to capture, store, manipulate, and access data of a sensitive nature, pose several unique and interesting security challenges. Today, embedded systems are found in cell phones, digital cameras, camcorders, portable video games, calculators, and personal digital assistants, microwave ovens, answering machines, home security systems, washing machines, lighting systems, fax machines, copiers, printers, and scanners, cash registers, alarm systems, automated teller machines, transmission control, cruise control, fuel injection, anti-lock brakes, active suspension and many other devices gadgets. CHARACTERISTICS a) Embedded systems are application specific & single functioned; application is known apriori, the programs are executed repeatedly. b) Efficiency is of paramount importance for embedded systems. They are optimized for energy, code size, execution time, weight & dimensions, and cost.
  3. 3. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 3 c) Embedded systems are typically designed to meet real time constraints; a real time system reacts to stimuli from the controlled object/ operator within the time interval dictated by the environment. For real time systems, right answers arriving too late (or even too early) are wrong. d) Embedded systems often interact (sense, manipulate & communicate) with external world through sensors and actuators and hence are typically reactive systems; a reactive system is in continual interaction with the environment and executes at a pace determined by that environment. e) They generally have minimal or no user interface. 2.1. Basic Principle of Embedded system & it’s Structure The basic principle of embedded systems are organizing or performing one or many tasks according to a fixed set of rules, program or plan. In other words, an arrangement in which all units assemble and work together according to a program or plan. An embedded system is a system is an engineering artifact involving computation that is subject to physical constraints (reaction constraints and execution constraints) arising through interactions of computational processes with the physical world. Reaction constraints originate from the behavioural requirements & specify deadlines, throughput, and jitter whereas execution constraints originate from the implementation requirements & put bounds on available processor speeds, power, memory and hardware failure rates. The key to embedded systems design is to obtain desired functionality under both kinds of constraints has software embedded into hardware, which makes a system dedicatedfor an application Figure2.1. structure of embedded system
  4. 4. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 4 2.2. General Architecture of embedded system The general architecture of embedded system is basically three layers .All components of embedded systems are functioning in this three layers .The embedded systems has application software, system software and hardware layer .The hardware layer is most important in every embedded systems.Here the system architecture has been proposed on the basis of embedded virtualization which will be modeled by the multi-agent systems. In the first part, the state of the art with respect to embedded systems, multi-agent systems and the concept of virtualization has been discussed. In the second part, the issues related to traditional embedded systems and the constraints associated with their architecture has been discussed. Subsequently, a virtualization based architecture for embedded systems also has been proposed. In the last part a prototype has been shown by the help of this architecture. Figure2.2. general architecture of an embedded system
  5. 5. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 5 2.3. EXAMPLES OF EMBEDDED SYSTEMS Embedded systems have very diversified applications. A few select application areas of embedded systems are telecommunications, smart cards, missiles and satellites, computer networking, digital consumer electronics, and automotives. A few examples of small scale embedded system applications are as follows:  Point of sales terminals: automatic chocolate vending machine.  Stepper motor controllers for a robotics system.  Washing or cooking systems.  Multitasking toys.  Microcontroller-based single or multi display digital panel meter for voltage, current, resistance and frequency.  Keyboard controller  SD, MMI and network access cards  CD drive or hard disk drive controller  The peripheral controllers of a computer, a CRT display controller, a keyboard controller, aDRAM controller, a DMA controller, a printer controller, a laser printer controller, a LAN controller, a disk drive controller  Fax or photocopy or printer or scanner machine  Remote (controller) of TV  Telephone with memory, display and other sophisticated features  Motor controls systems- for example, an accurate control of speed and position of the d.c. motor, robot and CNC machine; automotive applications such as closed loop engine control, dynamic ride control, and an antilock braking system monitor  Electronic data acquisition and supervisory control system  Electronic instruments, such as an industrial process controller  Electronic smart weight display system and an industrial moisture recorder cum controller  Digital storage system for a signal wave form or for electric or water meter reading system
  6. 6. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 6  Spectrum analyzer.  Biomedical systems such as an ECG LCD display cum recorder, a blood-cell recorder cum analyzer, and a patient monitor system.  Computer networking systems, for example, a router, a front-end processor in a server, a switch, a bridge, a hub and a gateway  For Internet appliances, there are numerous application system (i) An intelligent operation, administration and maintenance router (IOAMR) in a distributed network and (ii) Mail client card to store e-mail and personal addresses and to smartly connect to a modem or server  Entertainment system such as a video game and a music system  Banking systems, for example, bank ATM and credit card transactions  Signal tracking systems for example, an automatic signal tracker and a target tracker  Communication systems such as a mobile communication SIM card, a numeric pager, a cellular phone, a cable TV terminal and a FAX transceiver with or without a graphic accelerator  Image filtering, image processing, pattern recognizer, speech processing and a video processing  Video games  A system that connects a pocket PC to the automobile driver mobile phone and a wireless receiver. The system then connects to a remote server for Internet or e-mail or to a remote computer at an ASP (application service provider)  A personal information manager using frame buffers in handheld devices  Thin client [A thin client provides disk-less nodes with remote boot capability]. Application or thin-client accesses to a data centre from a number of nodes; in an Internet laboratory accesses to the Internet leased line through a remote server.  Mobile smart phones and computing systems  Mobile computer  Embedded system for video, interactive video, broadband IPv6 .Internet and other products, real time video and speech or multimedia processing systems.  Embedded interface and networking systems using high speed (400 MHz plus), ultra high speed (10 Gbps) and a large bandwidth: Routers, LANs, switches and gateways.
  7. 7. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 7 3. State of the Art In this part, the overview of the state of the art in terms of multi-agents systems, embedded systems and virtualizations techniques has been discussed. 3.1. Multi-agent systems A multi-agent system (MAS) is a system composed of multiple interacting intelligent agents within an environment. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. The multi-agent systems (MAS) and autonomous agents provide a new method for analyzing, designing and implementing sophisticated applications because they are part of the IAD domain (Distributed Artificial Intelligence) also benefiting other disciplines such as cognitive science sociology, and social psychology. An agent can be seen here, as any entity, hardware or software which perceives its environment using sensors and act on it using actuators. Figure3.1.General architecture of an agent in its interaction with its environment
  8. 8. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 8 Today, most applications require distribution of tasks between "entities" autonomous (or semiautonomous) to achieve their objectives in an optimal way. Since traditional approaches are generally monolithic and their concept of intelligence is centralized, current applications are established based on multi-agent system. 3.2. Embedded System An embedded system is a special purpose system in which the computer is completely encapsulated by the device it controls.Embedded systems reside in machines that are expected to run continuously for years without errors and in some cases recover by them if an error occurs. Therefore the software is usually develop and tested more carefully.Embedded systems are devices or software components and hardware being intimately linked. The interest in embedded systems is becoming more commonplace with the development of means of communication (Smartphone, switch-boards, etc...) as well as the permanent need for life easing through technological means (MP3 player storage data). In Industry, embedded systems are often a necessary choice for reasons of criticality of safety features and underlying risks (ABS braking system, alarm and detection, aviation, etc ...). Designed to precise spots, embedded systems bring several advantages by providing traditional systems based on conventional computers. 3.2.1. Constraints of embedded systems The main constraints to meet embedded systems which are: System stability: an embedded system is often dedicated to a precise running, malfunctions must be mastered. Mastery of the security, integrity and access: with a minimum of features and services enabled, an embedded system is designed to be safer. The cost of production: a computer system can be produced through industrial processes that greatly limit the cost of production. Low energy consumption: Unlike a conventional computer, an embedded system has the minimum resources tailored. Energy consumption is adjusted and optimized. Responsiveness or response time required in an embedded system often require real-time systems.
  9. 9. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 9 Autonomy: Embedded systems must operate without human intervention to fulfill automatic tasks. 3.2.2. Design approaches In the Models design of embedded systems there are two design approaches: Approach based on the CLASSICDESIGN: the design of software and hardware components are made by the same engineering team. This approach can lead to proprietary systems and generally not scalable. Approach based on CODESIGN: the hardware and software components are designed by separate teams. The component integration is being done at the end by a joint team. This approach allows to validate many different components before integrating them, giving rise to scalable embedded systems. 3.3. Virtualization Embedded systems are used in many critical applications of our daily life. The increased complexity of embedded systems and the tightened safety regulations posed on them and the scope of the environment in which they operate are driving the need of more dependable embedded systems. Therefore, achieving a high level of quality and dependability to embedded systems is an ultimate goal So the virtualization is required. Virtualization is all the technical hardware or software that allows to operate on a single machine multiple operating systems or multiple applicationsto reduce the size and cost of the product and increase the reliability and performance. 3.3.1. Principles of Virtualization
  10. 10. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 10 It is a Framework or methodology of dividing the resources of a computer into multiple execution environments.Basically virtualization does Memory Isolation from 'Outside' Provides (Virtual) Access to Hardware Can Handles Multiple Instances. Virtualization complies with two fundamental principles that are the partitioning and transparency. Partitioning: In partitioning each operating system operates in independency, and cannot interfere with the other in any way. Transparency: The act of running in virtualized mode does not change the operation of the operating system and applications. It allows operating systems, or particular components of the operating system, to run inside virtual machines without modification.
  11. 11. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 11 4. Virtualization Techniques or Solution There are three main types of virtualization solutions that are insulation, para-virtualization and full virtualization. 4.1. Insulation Insulation is a technique that takes place in a single operating system. It allows a system to separate multiple contexts or environments. Each of them is governed by the host OS, but programs of each context are able to communicate only with the processes and resources involved in their own context. It is thus possible to partition a server into several dozen contexts, without significant slowdown. The insulation is used on Unix systems for protection reasons. Through mechanisms such as chroot or jail it is possible to run applications in an environment that is not the host system, but a mini system containing only what the application really needs, and having only access limited resources. It is also possible to run programs in a different distribution than the main system. With insulation, kernel space is not differentiated; it is unique, shared between contexts. But defines multiple user spaces partitioned. Thus it can make possible the coexistence of different distributions of the operating system, as long as they share the same kernel. The contexts insulation is a lightweight solution, especially in Linux environments. For the most common needs of virtualization, ease of implementation and low overhead are excellent arguments. Figure 4.1. Virtualization for isolation
  12. 12. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 12 4.2. Para-virtualization Para-virtualization is based on a hypervisor layer, which manages the interface completely with the material, and on which it can install different operating systems. Para-virtualizationoffers to an operating system a generic special system, which therefore requires special interfaces integrated guest systems in the form of drivers. Para-virtualization is a virtualization technique of lower level than the insulation. It shares with it the need to use a modified OS. More specifically, para-virtualization is no longer only the host OS to be changed but also the OS required to run on virtual environments. The heart of para-virtualization hypervisor is running close to the hardware, and provides an interface that allows multiple hosts to concurrently access to resources. Each virtual machine must be modified to use this interface to access the hardware. Unlike the isolation of several different families OS can run on a single physical server. It is possible to run Linux, NetWare, Solaris (and others) simultaneously on the same machine. Each OS will have access to their own storage devices, its own memory, her or its own network interfaces or its own processors; each virtualized hardware resource is shared with other environments. The need of small changes to the guest operating system does not support closed systems, especially Microsoft Windows. Figure4.2. para-virtualization architecture
  13. 13. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 13 4.3. Full virtualization Full virtualization is an operating system that runs software called hypervisor. The hypervisor will allow running multiple virtual machines on the physical machine. It manages memory access, allocation of CPU and all the necessary resources to virtual machines. In full virtualization, the hypervisor manages all requests for virtual machines that allow virtual machines to run without any change in their core. In other words, the virtual machines do not even know they run in a virtual manner. 4.3.1. The hypervisor The hypervisor is the software layer that fits between the hardware and different operating systems. It is a key component, found in most low-level virtualization technologies. Thus, compared to the base schema of a distinguished server hardware, operating system, and applications, the hypervisor can be self-manage all the hardware resources of the server, or relies on it for an existing operating system. 4.3.2. Emulation The emulation consists in simulating the execution of a program by interpreting each of the instructions for the microprocessor. It is thus possible to emulate any processor and the complete environment. Emulation is the technique that provides the highest level of abstraction of the platform. For other virtualization techniques all executable must be compiled for the processor physically available on the server. Emulation removes this constraint because the instructions are never executed by the processor; they are interpreted by simulating the processor. This interpretation is costly in performance, so that the emulation is rarely used outside of game or research applications. The project QEMUis an open source solution for virtualization emulation. 4.3.3. Virtualization Softwares & Hardwares AMD-V (hardware virtualization) chroot (OS-level virtualization) Bochs (emulation)
  14. 14. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 14 BSD Jail (OS-level virtualization) Intel-VT (hardware virtualization) Linux KVM (hardware virtualization) Linux VServer (OS-level virtualization) OpenVZ (OS-level virtualization) Qemu (emulation) User-Mode Linux (paravirtualization) VirtualBox (full-virtualization, hardware virtualization) VMWare (full-virtualization, hardware virtualization) Xen (paravirtualization) 4.3.4. Fields of application Virtualization allows to implement virtual dedicated servers (VDS) to provide accommodation for resource sharing, autonomy and full control of the server unlike traditional offerings that are dedicated hosting server (available servers configured as appropriate) and shared hosting (the same server serves multiple clients, no resource control, limited power). Virtualization also acts to improve the availability of servers or services. It all about load balancing and failover. Virtualization has helped democratize Appliances (routers, firewalls, security solutions ...). Full virtualization can reduce costs (equipment and operations) for development and testing. On a single physical machine, it can be install multiple operating systems to test different scenarios.
  15. 15. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 15 5. Problem related to the conventional embedded system In any architecture of embedded system, the hardware and software components are intimately linked. This linkage is in many cases a major drawback for many reasons: 5.1. Constraint related to the software update of an embedded system In the case of major software update of embedded system, it is rarely possible to keep the same hardware because The software update requires more performance and current hardware is insufficient. The new software libraries require new hardware for compatibility reasons 5.2. Hardware related constraint In most embedded systems, the introduction of new features requires a hardware change by adding or replacing the entire embedded system. Consider the case of a car which is not provided with a level sensor. The onboard computer requires a software update for processing data related to the sensor. Obviously, the embedded system must be equipped with a slot for data acquisition from the level sensor. If this interface is not included in the design of embedded system, it may have to completely change the onboard computer. 5.3. Hardware Design When designing the embedded system hardware specifications are provided at the beginning so that the material becomes owner and for a specific purpose. Sometimes for the same feature is specific equipment from one manufacturer to another (eg on-board computer of a car). It should therefore be noted that the development of an embedded system is determined by the flexibility of the dependence between the hardware and the software part. In most cases this interdependence is so strong that the evolution is to change the entire embedded system. This prevents the reuse and recycling systems embedded with all issues related to the environment and economic waste.
  16. 16. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 16 6.About the proposed solution 6.1. Modeling ADMs In order to better understand the problem it has been opted a model of our architecture using multi-agent systems. 6.1.1 case of classic embedded system It has been considered that the case of an embedded system whose functionality is the data acquisition through sensors, their processing and visualizing data on a screen. Figure6.1. Classical architecture of an embedded system In classical architecture of embedded systems, data acquisition from the sensor agent is performed by an agent of external devices control. Subsequently acquisition agent will convert the extracted data in data recognized by the processing agent who will be responsible to organize and communicate with the storage agent to be stored on an internal memory. Data storage will be
  17. 17. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 17 used to display historical data or comparison with previous data to detect the distance (eg average speed for a period of one hour, each 5 seconds to store a value to be able to calculate the average). Internal device control is through control agent. To display the values on the screen, a display agent must read the data stored on the internal memory. It is important to note that in this architecture the information processing agents and devices control agents communicate directly. 6.1.2. Case of improved embedded system In an improved architecture, a layer has been added called virtualization layer that will be able to communicate with all internal and external devices. Figure6.2. improved architecture of an embedded system
  18. 18. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 18 7. Description of the architecture of the virtual embedded system The virtual embedded system complies with the three main parts which are described below. 7.1. Virtualization layer The proposed architecture of the embedded system based on adding a virtualization layer that will have the role of monitoring hardware devices. 7.2. Virtual architecture of the embedded system Figure7.1. Virtual architecture of the embedded system
  19. 19. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 19 In this new architecture, applications and the operating system of the embedded system do not communicate in any way with the hardware devices. Control equipment is provided by the virtualization layer that has the operating system standard interfaces. In the case of internal memory, the virtual layer emulates a virtual internal memory and reading and writing operations are performed through the virtual layer. It is possible with this architecture to emulate all types of internal and external devices (network card, sensor, hard disk etc. ....). The major challenge comes in developing this virtual layer that will manage the interfaces with all types of equipment an embedded system may use. 7.3. Technical Architecture In the following diagram we explain the technical details of our architecture: Figure7.2. Technical architecture of the visualization layer
  20. 20. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 20 In this architecture, the virtualization layer consists of an operating system virtualization with the main objective: Managing access to physical memory Management hardware drivers Use management of system resources (memory, CPU, etc. ...). Emulation of all hardware devices via virtual interfaces The operating system at the top layer will be used only for the execution of processes embedded systems. Applications and libraries depend only on the operating system of the top layer. In this architecture, if you change equipment at the lowest layer, you just need to adjust the virtual interface at the virtualization layer. The change is usually done by adding the new hardware driver in the operating system of virtualization. On the other hand, the operating system of the top layer will remain unchanged.
  21. 21. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 21 8. Prototype implementation To illustrate thistechnical architecture, a prototype of a virtualized embedded system has been build. The opted technical components are follows. 8.1 Hardware Layer • 1.6Ghz Intel Atom E6xx single chip processor companion chip with EG20T • 512Mbyte DDR2-SDRAM, soldered on board • 8 Mbit BIOS / BOOT Flash • Internal Low Profile USB socket, bootable • 2x SATA 3Gbit interfaces with +5 V and +12 V power header • 4x Intel 82574L Gigabit Ethernet ports, Auto-MDIX RJ-45, protected to 700W/40A Surge • 2x Serial ports, DB9 and 10 pins internal header • USB 2.0 interface, 2x internal, 1x external port, bootable • Power LED, Disk LED, Error LED, Status LED, Network LED's • 1 Full Mini-PCI Express shared with mSATA socket. • 1 USB only Mini-PCI Express shared with mSATAsocket • 2x PCI Express Slots, right angle Figure8.1. Technical Components used in the visualization layer 8.2. Virtualization layer The choice is centered on the nucleus linux KVM as a derivative of QEMU project. KVM is basically integrated in the Linux distributions with a kernel 2.6.20 or higher. Due to its flexibility
  22. 22. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 22 Kernel Based Virtual Machine became the virtualization solution for Linux reference. Several hardware architecture includes hardware- level extensions based on KVM virtualization (Intel VT ™, AMD-V ™). These two families of processors have hardware virtualization extensions. KVM is composed of a core module and a client derived from the QEMU project. Figure8.2. KVM architecture For the OS of the top layer it has been opted for the OS OPENBSD which has been used as part of another task and that runs an application based on PERL libraries. It loaded the kernel on KVM flash memory box Soekris 6501. The OpenBSD operating system is loaded from an ISO image. A USB external GSM modem has been used which is emulated via KVM. PERL libraries that run at the OPENBSD are questioning the modem via AT commands. The interface of the modem at the KVM system is seen as a serial port. At OPENBSD we emulated serial port modem GSM. When changing the external USB modem, it has to adjust the level KVM kernel to recognize the new serial port.
  23. 23. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 23 9. Benefits of this architecture in the design of embedded systems In the design of embedded systems, it is possible to add the virtualization layer at the hardware layer. All internal and external devices are recognized by this layer and emulated operating systems of the top layer. Thanks to this architecture, it is possible to separately design the hardware and the software part of embedded system to finally break with the old model that remained for many years an obstacle to the development of embedded systems in the industry. It is also possible to design a virtual model of embedded system so that all manufacturers comply with this standard and avoid wasting huge efforts in the hardware design and focus on the design and functionality of software systems on board. It is also possible to use an embedded system regardless of manufacturer and functionality seen that this standard will bear the majority of internal and external devices through a simple adjustment. We can imagine a TV receiver that will serve as the dashboard of a car or a moisture sensor controller as a controller level. This will reduce industrial waste which is a major cause of environmental problems.
  24. 24. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 24 10. Conclusion Here one of the fundamental principles of embedded systems design has been discussed that remained for a long time a drawback to the development of embedded systems. It has beendesigned an architecture based on virtualization layers associated with low control of internal and external devices. So it has to possible to implement a prototype based on the Linux kernel KVM. This allowed to conclude that it is possible with this architecture to benefit from the contributions of virtualization in embedded systems, mainly: • Separation between the hardware and software aspects in the design of embedded systems • Flexibility in terms of hardware and software developments. • Reuse of embedded systems • Portability of applications and features of embedded systems. It is clear that the future of embedded systems must address the implementation layers of virtualization at the hardware level as well as standardization of these layers.
  25. 25. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 25 11. References [1] Karim Yaghmour « Building Embedded Linux Systems » ; O’Reilly 2003. [2] Alessandro Rubini et Jonathan Corbet, Linux Device Drivers; 3ème edition ; O’Reilly 2005. [3] Evi Nemeth et al, Linux Administration Handbook; Prentice Hall ; 2002 [4] Karim Yaghmour, Building Embedded Linux Systems; O’Reilly 2003. [5] Craigh Hollabaugh, Embedded Linux; Sams 2002 [6] "Smartphone definition from PC Magazine Encyclopedia". PC Magazine.,2542,t=Smmrtphone&i=51537,00.asp . Retrieved 13 May 2010. [7] Drogoul A., De la simulation multi-agent à la résolution collective de problèmes, Thèse de doctorat, Université Paris 6, 1993. [8] Guessoum Z., Un environnement opérationnel de conception et de réalisation de systèmes multi-agents, Thèse de doctorat, Université Paris 6, mai 1996. [9] Carabelea C., Boissier O., Florea A., «Autonomie dans les systèmes multiagents », JFSMA ’03, 2003. [10] J. Ferber: Les systèmes multi-agents, vers une intelligence collective, Paris, InterEditions, 1995. [11] R. El Bejjet, H. Medromi, « A Generic Platform for a Multi-Agent Systems Simulation », September 2010, Vol. 5. n. 5, pp. 505-509. [12] Dave Pfaltzgraff, The Use of Linux in an Embedded System, December 1999,Linux Journal. Putting together a Card Access System. issues/issue68/3555.html [13] Sam Williams, Open Season: Embedded Linux Comes to the Fore, August 17, 2000, Upside Today. The San Jose Linux World Conference and Expo activity is impressive. [14] Stan Runyon, Linux Catches Eyes in Test World, January 4 2000, EE Times. National Instruments implement modular automated equipment with Linux.
  26. 26. ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 26 [15] Doc Searls, The Next Bang: The Explosive Combination of Embedded Linux, XML and Instant Messaging'', , September 2000, Linux Journal, issues/issue77/4195.html [16] Embedded Systems Programming Magazine : [17] D. Kalinsky, R. Kalinsky ; « Introduction to I2C », 2001. [18] M. Khemakhem, A. Belghith, « Agent Based Architecture for Parallel and Distributed Complex Information processing », January 2007, Vol. 2. n. 1, pp. 38 - 44