architecture design of a virtual embedded system report

37
ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM 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 1

Upload: rajeev-mohanty

Post on 19-Jan-2015

1.336 views

Category:

Technology


3 download

DESCRIPTION

Architecture design of a virtual embedded system full seminar report

TRANSCRIPT

Page 1: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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 .

1

Page 2: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

2

Page 3: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

3

Page 4: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

4

Page 5: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

5

Page 6: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

6

Page 7: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

7

Page 8: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

8

Page 9: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

9

Page 10: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

10

Page 11: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

11

Page 12: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

12

Page 13: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

4.3. Full virtualizationFull 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)

13

Page 14: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

14

Page 15: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

15

Page 16: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

6.About the proposed solution

6.1. Modeling ADMsIn 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 systemIt 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

16

Page 17: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

17

Page 18: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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 layerThe 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

18

Page 19: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

19

Page 20: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

20

Page 21: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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

21

Page 22: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

22

Page 23: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

23

Page 24: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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.

24

Page 25: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

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. http://www.pcmag.com/encyclopedia_term/0,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.http://www.linuxjournal.com/lj-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. http://www.upside.com/Open_Season/399c565b0.html

[14] Stan Runyon, Linux Catches Eyes in Test World, January 4 2000, EE Times. National Instruments implement modular automated equipment with Linux. http://www.eet.com/story/OEG20000104S0027

25

Page 26: Architecture design of a virtual embedded system report

ARCHITECTURE DESIGN OF VIRTUAL EMBEDDED SYSTEM

[15] Doc Searls, The Next Bang: The Explosive Combination of Embedded Linux, XML and Instant Messaging'', , September 2000, Linux Journal, http://www.linuxjournal.com/lj-issues/issue77/4195.html

[16] Embedded Systems Programming Magazine : http://www.embedded.com/mag.htm

[17] D. Kalinsky, R. Kalinsky ; « Introduction to I2C », Embedded.com. 2001. http://embedded.com/story/OEG20010718S0073 [18] M. Khemakhem, A. Belghith, « Agent

Based Architecture for Parallel and Distributed Complex Information processing », January 2007, Vol. 2. n. 1, pp. 38 - 44

26