Nothing Special   »   [go: up one dir, main page]

Embedded Systems

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

NILE UNIVERSITY OF NIGERIA, ABUJA.

FACULTY OF ENGINEERING
GROUP NO: GROUP 5
PRESENTED BY:
171203029, NABAI CLEVER IGE-EDABA
171203033, MUBARAK MOHAMMED USMAN
171203045, NIMAT OGBOLE HASSAN
LEVEL: 400
SESSION: 2020/2021 1ST SEMESTER
COURSES CODE/COURSE TITLE: CPE409/ OPERATION SYSTEM
CONCEPTS
PROJECT TITLE: EMBEDDED SYSTEMS & REAL TIME SYSTEMS
DATE (DD/MM/YYYY): 7/12/2021
Embedded Systems
INTRODUCTION:

Electronic digital computers are very powerful tools. The so-called digital revolution has
been fuelled mostly by chips for which the number of transistors per unit area on integrated
circuits kept doubling approximately every 18 months. The resulting exponential growth is so
remarkable that it fundamentally changed the way we perceive and interact with our
surrounding world. Embedded systems are the most recent results of this growth and could be
found is every digital device in existence.

In this project the concept of embedded systems will be further inspected. We seek to
expatiate on the architecture and constructively criticize how existing embedded systems
function by discussing existing problems and solutions to a highlighted problem with these
systems.

HISTORY OF EMBEDDED SYSTEMS

The first modern, real-time embedded computing system was the Apollo Guidance
Computer, developed in the 1960s by Dr. Charles Stark Draper at the Massachusetts Institute
of Technology for the Apollo Program. The Apollo Guidance Computer was designed to
collect data automatically and provide mission-critical calculations for the Apollo Command
Module and Lunar Module.

In 1971, Intel released the first commercially available microprocessor unit -- the Intel 4004
-- an early microprocessor that still required support chips and external memory; in 1978 the
National Engineering Manufacturers Association released a standard for programmable
microcontrollers, improving the embedded system design; and by the early 1980s, memory,
input and output system components had been integrated into the same chip as the processor,
forming a microcontroller.
The microcontroller-based embedded system would go on to be incorporated into every
aspect of consumers’ daily lives, from credit card readers and cell phones, to traffic lights and
thermostats.
WHAT IS AN EMBEDDED SYSTEM?
To simply say that an Embedded System is an integrated system including both hardware and
software is not enough. An embedded system is a dedicated computer system, designed to
work for single or few specific functions normally within a larger system.

General-purpose computers (desktops and laptops) are dissimilar from embedded systems,
the general-purpose computer can handle a wide range of processing tasks unlike embedded
systems. Most of our gadgets like washing machines, microwave ovens, ATMs and mobile
phones have embedded-system in them. Any device, including toys, using electric power has
a computing system embedded in it. As much as 98 percent of all microprocessors
manufactured are used in embedded systems.
DISCUSSION:
ARCHITECTURE OF EMBEDDED SYSTEMS
Typical Hardware Architecture

The basic computer system components—microprocessor, memory, and input and output
modules—are interconnected by a system bus in order for all the parts to communicate and
execute a program (see Figure 1-3).

Figure 1-1

In embedded systems, the microprocessor's role and function are usually the same as those of
the CPU in a general-purpose computer: control computer operation, execute instructions,
and process data. In many cases, the microprocessor in an embedded system is also called the
CPU. Memory is used to store instructions and data. I/O modules are responsible for the data
exchange between the processor, memory, and external devices. External devices include
secondary storage devices (such as flash and hard disk), communications equipment, and
terminal equipment. The system bus provides data and controls signal communication and
transmission for the processor, memory, and I/O modules.
TYPES OF EMBEDDED SYSTEMS

FIG 1-2

Classification based on capacity of the micro controller


A. Small Scale Embedded Systems:
This embedded system can be designed with a single 8 or 16-bit microcontroller. It can be
operated with the help of a battery. For developing small scale embedded system, an editor,
assembler, (IDE), and cross assembler are the most vital programming tools.

B. Medium Scale Embedded Systems:


These types of embedded systems are designed using 16 or 32-bit microcontrollers. These
systems offer both hardware and software complexities. C, C++, Java, and source code
engineering tool, etc. are used to develop this kind of embedded system.
C. Sophisticated Embedded Systems
This type of embedded systems have lots of hardware and software complexities. You may
require IPS, ASIPS, PLAs, configuration processor, or scalable processors. For the
development of this system, you need hardware and software co-design & components which
needs to combine in the final system.
Classification of embedded systems based on performance and functional properties
A. Real Time Embedded Systems
A Real Time Embedded System provides output within a defined specific time. That is, real
time embedded systems are designed and created to perform some specific work in pre-
specified time.
Types of Real Time Embedded Systems
There are two types of Real Time Embedded System. They are:
Soft Real Time Embedded Systems
Hard Real Time Embedded Systems
B. Stand Alone Embedded Systems
Stand-Alone Embedded Systems are those that can work by themselves i.e. they are self-
sufficient and do not depend on a host system. Stand-alone embedded systems are made in a
way such that an input is received, processed and thereafter the desired output is produces.
Input can be received via sensors, keyword or push button.
C. Networked Embedded Systems
Networked Embedded Systems depend on connected network to perform its assigned tasks.
These systems consist of components like sensors, controllers etc. which are interconnected.
Many of these systems are built on general purpose processors.
D. Mobile Embedded Systems
Mobile Embedded Systems are those that are small sized and can be used in smaller devices.
They are used in mobile phones and digital cameras because of the small size. They often
have memory constraints and lacks good user interface.
CRITICISM:
During their operation, embedded systems are often required to store, access, or communicate
data of a sensitive nature, making security a serious concern. Thanks to Internet, security has
long been a concern in such computing and communication systems; and substantial research
efforts have been devoted to address it. Firstly, the need to make the embedded devices
mobile or encapsulated in a larger system require them to fulfill their functions with limited
hardware resources, mainly characterized by a scarce memory (static and volatile) and
reduced CPU processing capability [2]. These limitations pose difficulties on both
communication and computing capacity. Second, some types of embedded systems being a
microelectronic device, can only be equipped with a limited battery [3].
SECURITY ISSUES IN EMBEDDED SYSTEMS: CHALLENGES AND SOLUTIONS
Ensuring security in embedded systems translates into several design challenges, imposed by
the unique features of these systems. These features make the integration of conventional
security mechanisms impractical, and require a better understanding of the whole security
problem [1]. This report provides a unified view on security in embedded systems, by
introducing first the implied design and architectural challenges. It then surveys and discusses
the currently proposed security solutions that address these challenges, drawing from both
current practices and emerging research, and identifies some open research problems that
represent the most interesting areas of contribution [1].
The four main security objectives in embedded systems include:
• Availability: ensures that the desired system’s services are available whenever they are
expected, in spite of the presence of attacks. Availability mechanisms in embedded
systems seek to combat denial of service and energy starvation attacks, as well as other
tampering attacks that will be explained further.
• Confidentiality: guarantees that the secrecy of transmitted data between communicating
parties is maintained. i.e., no one other than the legitimate parties should know the
content of the messages being exchanged.
• Authentication: represents the process of verifying an identity claimed by/for a system
entity. The objective of this security service is to prevent a malicious party from
masquerading as someone else. And,
• Data Integrity: that protects data against unauthorized changes, including both intentional
alteration or destruction and accidental change or loss, by ensuring that such changes to
data are detectable.
Security challenges in embedded systems
These factors are important because they serve as a guideline to design security architectures
and protocols, and they can be used to compare different proposed schemes [2].
A. Processing performance: The limited processing and memory capacity of embedded
systems make it impossible for their architectures to keep up with the continuously
growing complexity of security mechanisms and the increasing data rates offered by
recent communication networks
B. Power consumption optimization: Power expenditure constitutes one of the most
challenging design factors that Bottleneck the development of security schemes in
battery-powered embedded systems.
C. Design flexibility: There exist several important factors that make flexibility a
fundamental requirement for secure schemes design in embedded systems. In fact, the
security architecture is often required to contain a large variety of security protocols
and standards so that the embedded system can (i) guarantee the multitude of security
objectives (users’ authentication, data confidentiality, digital right management, etc.),
(ii) facilitate interoperability in different environment (eg. a PDA that needs to work
in both 3G cellular and wirelessLAN networks). Furthermore, and since hacking
methods and skills are in continuous evolution, the security solution (iii) should allow
upgrading enclosed mechanisms or adding new ones if necessary
D. Cost reduction: As emphasized earlier, embedded systems are often highly cost-
sensitive, even few cents can make a big difference when building millions of units.
However, integrating top-level security is not always cost-effective for embedded
systems because it mandates the use of more expensive hardware and software, and
requires a long-time rigorous design process along with environmental failure
protection and testing. Consequently, the designer’s responsibility consists of
balancing the security requirement of an embedded system against the cost of
implementing the corresponding security measures.
Security solutions for embedded systems
In this section, we present, the different security solutions that have been proposed thus far
[4]. We first discuss the need to consider security requirements in early stages of the software
design process in order to prevent implementation flaws and enhance the system’s tamper
resistance
A. Secure software design: Although modern cryptography has enabled the embedded
software to provide a relatively robust defence against” conventional” attacks that
target basic security requirement such as confidentiality or integrity, more efforts are
still needed at higher levels to protect the embedded software from a large diversity of
attacks which exploit their development defects essentially caused by implementation
bugs or design flaws. Considering such threats is as important as the need to integrate
hard-to-break mechanisms that meet functional security objectives, because the
embedded system’s strength depends on the easiest way to attack it.
B. Security computing architectures Security solutions in the architectural level consider
the mapping of adopted algorithms and protocols within a layer of software and
hardware specializations. One of the main objectives of these solutions is to address
the processing performance gap emphasized in section B by enhancing the processing
capabilities of the embedded system through adequate combination of software and
hardware.
C. Energy-efficient security schemes: Addressing power limitation issues in embedded
systems can be done either by enhancing the hardware capability of the embedded
system (improving supply), or by reducing the energy consumption of security
mechanisms (alleviating demands). In this section, we present energy efficient
security mechanisms in embedded systems regarding to two functional levels: the first
considers the primitives’ level or the protocol’s building blocks: minimizing energy
expenditure in this level mainly consists in carefully choosing the employed
algorithms (cryptosystems, hash functions, random number generators, etc.) and
adequately adjusting their tuning parameters and operation modes. The second level
deals with security protocols themselves which represent a coarse-grained control
flow exchanged between the communicating parties to establish a certain degree of
mutual trust.

CONCLUSION:
We have discussed the most important issues concerning security in embedded systems. We
have shown that addressing these issues proves to be a challenging task, wherein embedded
devices need to be secure to the extent required by the application and the environment
without compromising performance, energy consumption, cost and usability.
Through the survey of existing security solutions, we noticed that securing embedded
systems opens a large number of contribution areas and research fields.

Many embedded systems have requirements that differ significantly both in details and in
scope from desktop computers. In particular, the demands of the specific application and the
interface with external equipment may dominate the system design. Also, long life-cycles and
in some cases extreme cost require more attention to optimization.

Recent interest in hardware/software codesign is a step in the right direction, as it permits


trade-offs between hardware and software that are critical for more cost-effective embedded
systems. And finally, we showed that the close physical coupling of embedded system with
their specific operating environment require secure architecture designers to look beyond the
basic security goals and provide defences against broad classes of specific attacks including
those related to the embedded networking applications.

REFERENCE

[1] On Security Issues in Embedded Systems: Challenges and Solutions Lyes Khelladi,
Yacine Challal, Abdelmadjid Bouabdallah, Nadjib Badache. (2008) [Textbook]

[2] Rugged Embedded Systems Computing in Harsh Environments Augusto Vega Pradip
Bose Alper Buyuktosunoglu(2017) [ Textbook ]

[3] Embedded Systems Analysis, Ronaldvan der Knijff


[Online].Available:
https://link.springer.com/content/pdf/10.1007%2F3-540-45739-9_3.pdf

[4] Edward Ashford Lee and Sanjit Arunkumar Seshia INTRODUCTION TO EMBEDDED
SYSTEMS A CYBER-PHYSICAL SYSTEMS APPROACH [Online]. Available:
https://ptolemy.berkeley.edu/books/leeseshia/releases/LeeSeshia_DigitalV2_2.pdf
REAL-TIME SYSTEMS

INTRODUCTION:

A real time system is any information processing system which has to respond to externally
generated input stimuli within a finite and specified period. A system is said to be real time if
it is required to complete its work and deliver its services on time. It is designed specifically
to run applications with very precise timing and high degree of reliability. It means a real
system is basically based on the concept that data must be processed within a deadline. It is
basically used in various fields’ line in the flight control system, satellite launching stations,
and airbags which is commonly used in cars. Real time system processes the data on
deadline.

DISCUSSION:

TYPES OF REAL TIME SYSTEM

 Hard Real Time System: It is purely deterministic and 100% time constraint
System( it means that say for example a user wants an output in 10 seconds the input
he has given, with the help of hard real time system the result will exactly be declared
in 10 seconds not before or after 10 seconds). It is used in Life safety systems, where
a task needs to be performed within a particular time frame otherwise a catastrophic
event will occur. Examples are missile launching system, Satellite System, Air bag
Control in cars.
 Soft Real Time System: In soft real time system, the meeting of deadline is not
compulsory for every time for every task but process should get processed and give
the result. It means that it can miss the deadline but missing the deadline for a long
duration may collapse the system examples are Personal Computer, audio and Videos
systems etc.

A real-time system is characterized by the need to meet deadlines.

Hard real-time

 Missing a deadline results in fatal consequences


 Tasks have to be performed on time
 Example : Flight Control System
Soft Real Time

 Missed deadlines may lower the quality of service


 Late completion of jobs is undesirable but not fatal
 Example: Music Systems

Components of Real Time System

 The Scheduler: This component of RTOS tells that in which order, the tasks can be
executed which is generally based on the priority.
 Symmetric Multiprocessing (SMP): It is a number of multiple different tasks that can
be handled by the RTOS so that parallel processing can be done.
 Function Library: It is an important element of RTOS that acts as an interface that
helps you to connect kernel and application code. This application allows you to send
the requests to the Kernel using a function library so that the application can give the
desired results.
 Memory Management: this element is needed in the system to allocate memory to
every program, which is the most important element of the RTOS.
 Fast dispatch latency: It is an interval between the termination of the task that can be
identified by the OS and the actual time taken by the thread, which is in the ready
queue that has started processing.
 User-defined data objects and classes: RTOS system makes use of programming
languages like C or C++, which should be organized according to their operation.

Features of a Real Time System

 Occupy very less memory


 Consume fewer resources
 Response times are highly predictable
 Unpredictable environment
 The Kernel saves the state of the interrupted task ad then determines which task it
should run next.
 The Kernel restores the state of the task and passes control of the CPU for that task.

Factors for selecting a Real Time System

 Performance: Performance is the most important factor required to be considered


while selecting for a RTOS.
 Middleware: if there is no middleware support in Real time operating system, then the
issue of time-taken integration of processes occurs.
 Error-free: RTOS systems are error-free. Therefore, there is no chance of getting an
error while performing the task.
 Embedded system usage: Programs of RTOS are of small size. So we widely use
RTOS for embedded systems.
 Maximum Consumption: we can achieve maximum Consumption with the help of
RTOS.
 Task shifting: Shifting time of the tasks is very less.
 Unique features: A good RTS should be capable, and it has some extra features like
how it operates to execute a command, efficient protection of the memory of the
system, etc.
 24/7 performance: RTOS is ideal for those applications which require to run 24/7.
Applications of Real Time System

 Airlines reservation system.


 Air traffic control system.
 Systems that provide immediate updating.
 Used in any system that provides up to date and minute information on stock prices.
 Defence application systems like RADAR.
 Networked Multimedia Systems
 Command Control Systems
 Internet Telephony
 Anti-lock Brake Systems

REAL TIME SYSTEMS & APERIOD TASK HANDLING

A real time system is made up of both periodic and aperiodic tasks. Periodic tasks have
regular arrival times and hard deadlines while aperiodic tasks have irregular deadlines and

either hard or soft deadlines [1]. A time constraint (or deadline) can be referred to as “hard” if
missing said deadline is costly and could lead to a catastrophe (an example is process control)
whereas a deadline could be referred to as “soft” if missing that deadline is not catastrophic
but could lead to a lower quality of service [2].
There are various issues that arise with the use of real-time systems but the topic of this
particular paper is “Aperiodic Task Handling”. This is done in reference with Giorgio
Buttazzo’s paper titled: “Real-Time Operating Systems: Problems and Novel Solutions”.

APERIODIC TASK HANDLING

In real time systems, computational activities that must be executed only at the occurrence of
external events which may arrive at irregular times do exist. When the system must tackle
aperiodic tasks, improving system responsiveness by serving events as soon as possible and
not threatening the schedulability of periodic tasks must be balanced [3]. This gives rise to
some conditions:
If the aperiodic activities are less important than periodic tasks, then the objective of a
scheduling algorithm should be to minimize their response time while guaranteeing their
executions within their deadlines.
If some aperiodic task has a hard deadline, we should try to guarantee it’s timely completion
off-line. Such a guarantee can only be done by assuming that aperiodic requests, although
arriving at irregular intervals do not exceed a maximum given frequency, that is, they are
separated by a minimum inter arrival time [3].
So the problem becomes trying to resolve the scheduling of aperiodic tasks while preserving
the guarantee for periodic tasks. When this occurs, the simplest solution according to Giorgio
Buttazzo is to schedule aperiodic tasks in the background. This means that an aperiodic task
executes only when the processor is busy with periodic tasks. This solution however comes
with the disadvantage of the residual time left for aperiodic execution being insufficient for
satisfying their deadlines if the computational load due to their periodic tasks is high.

However, the response time of periodic tasks can be improved (relative to scheduling
aperiodic tasks in the background) by handling them through a periodic server dedicated to
their execution [3]. As any other periodic task, a server is characterized by a period Ts and an
execution time Cs.

Although the response time achieved by a server is less than that achieved through the
background, it is still not the minimum possible. The minimum response time is achieved
when an optimal server which assigns each aperiodic request the earliest possible deadline
which still produces a feasible Earliest Deadline First (EDF) algorithm [4].

Several aperiodic algorithms have been proposed, differing in performance and complexity.
Algorithms based on fixed priority include the Polling Server, the Deferable Server, the
Sporadic Server and the Slack Stealer. Among servers based on dynamic priorities, we have
the Dynamic Sporadic Server and the Constant Bandwidth Server [3].

As for all the efficient solutions, the better performance is achieved at the cost of a larger
runtime overhead [5] (due to the complexity of computing the minimum deadline). However,
adopting the the Tunable Bandwidth server helps balance the overhead cost and performance
in order to select the best service method for a given real-time system.
REFERENCES

[1] B. Sprunt, L. Sha, J. Lehoczky. (1989). Real-Time Systems [Online]. Available:


https://link.springer.com/article/10.1007/BF0234190

[2] I. Koren, C. M. Krishna. (2007). Fault-Tolerant Systems [Online]. Available:


https://www.sciencedirect.com/topics/computer-science/soft-real-time-system

[3] G. Buttazzo. Real-Time Operating Systems: Problems and Novel Solutions


[Online].Available:
https://link.springer.com/content/pdf/10.1007%2F3-540-45739-9_3.pdf

[4] S. Kumar. (2020). Earliest Deadline First (EDF) CPU scheduling algorithm [Online].
Available:
https://www.geeksforgeeks.org/earliest-deadline-first-edf-cpu-scheduling-algorithm/

[5] M. Prasad. (2003). Run-Time Overhead [Online]. Available:


https://www.usenix.org/legacy/publications/library/proceedings/usenix03/tech/full_papers/
prasad/prasad_html/node22.html

You might also like