1. Prepared By: D. Y. Vankawala Prepared By: D. Y.
Vankawala
2. System Definition A way of working, organizing or performing
one or many tasks according to a fixed set of rules, program or
plan. Also an arrangement in which all units assemble and work
together according to a program or plan. Prepared By: D. Y.
Vankawala
3. Examples of Systems Time display system A watch Automatic
cloth washing system A washing machine Prepared By: D. Y.
Vankawala
4. Embedded system definitions An embedded system is a system
that has software embedded into computer-hardware, which makes a
system dedicated for an application (s) or specific part of an
application or product or part of a larger system An embedded
system is one that has a dedicated purpose software embedded in a
computer hardware. It is a dedicated computer based system for an
application(s) or product. It may be an independent system or a
part of large system. Its software usually embeds into a ROM (Read
Only Memory) or flash. It is any device that includes a
programmable computer but is not itself intended to be a general
purpose computer. Prepared By: D. Y. Vankawala
5. Continue Embedded Systems are the electronic systems that
contain a microprocessor or a microcontroller, but we do not think
of them as computers the computer is hidden or embedded in the
system. Prepared By: D. Y. Vankawala
6. Characteristics of embedded system 1. Dedicated functions 2.
Dedicated complex algorithm 3. Dedicated (GUIs) and other user
interfaces for the application 4. Real time operations Defines the
ways in which the system works, reacts to the events and
interrupts, schedules the system functioning in real time and
executes by following a plan to control the latencies and to meet
the deadlines. [Latency Waiting interval between the instance at
which a need to run the codes arises for task (or interrupt service
routine) following an event and instance of start executing the
codes] Prepared By: D. Y. Vankawala
7. Continue 5. Multi-rate operations Different operations may
take place at distinct rates. For example, the audio, video,
network data or stream and events have the different rates and time
constraints to finish associated processes. Prepared By: D. Y.
Vankawala
8. Automatic Chocolate Vending Machine (ACVM) Prepared By: D.
Y. Vankawala
9. Prepared By: D. Y. Vankawala
10. ACVM Coin insertion slot Keypad on the top of the machine.
LCD display unit on the top of the machine. It displays menus, text
entered into the ACVM and pictograms, welcome, thank and other
messages. Graphic interactions with the machine. Displays time and
date. Delivery slot so that child can collect the chocolate and
coins, if refunded. Internet connection port so that owner can know
status of the ACVM sales from remote. Prepared By: D. Y.
Vankawala
11. ACVM Hardware units Microcontroller or ASIP (Application
Specific Instruction Set Processor) . RAM for storing temporary
variables and stack ROM for application codes and RTOS codes for
scheduling the tasks. Flash memory for storing user preferences,
contact data, user address, user date of birth, user identification
code, answers of FAQs. Timer and Interrupt controller A TCP/IP port
(Internet broadband connection) to the ACVM for remote control and
for getting ACVM status reports by owner. ACVM specific hardware
Power supply Prepared By: D. Y. Vankawala
12. ACVM Software components Keypad input read Display Read
coins Deliver chocolate TCP/IP stack processing TCP/IP stack
communication Prepared By: D. Y. Vankawala
13. Room Temperature Controller(Digital Thermostat) Prepared
By: D. Y. Vankawala
14. Hardware Specification Digital inputs and outputs: These
are simple external pins whose logic state can be controlled by the
processor to either be a logic 1 or a logic 0. They can also be
used as input pins so that the processor can receive binary inputs
from the external world. They can be used individually or grouped
together to create parallel ports. Serial interfaces: These are
interfaces that send or receive data using one or two pins in a
serial mode. They are less complex to connect but are more
complicated to program because the data may also be augmented with
additional information as required by the data transfer protocol.
Analog to digital converters: While processors operate on the
digital data, the surrounding world is analog in nature. Therefore,
interfaces between the system and the external world requires
analog to digital conversions and vice versa. Displays: Displays
are used by the processor to display the status information, error
messages, and output results. They could be simple LEDs, seven
segment displays, or character LCD panels. Keypads: Keypads are
used by the end user to provide inputs to the embedded system. The
inputs could be anything such as entering the password, changing
functional settings, switching between menu items, etc. Thermostat
Circuit: It is temperature sensor circuit which senses the
temperature of surrounding and gives the voltage which is
equivalent of surrounding temperature. Prepared By: D. Y.
Vankawala
15. Functioning The surrounding temperature is sensed by the
thermostat (a temperature sensor) and is converted to a
proportional analog voltage. The processor cannot manipulate this
signal directly, so it is converted to an equivalent digital number
through a process called analog-to-digital conversion (ADC). The
processor then compares this temperature reading with the high and
low temperatures settings defined by the user, and turns the
heater/AC on or off if required. The user uses Keypad to enter the
temperature settings, which are saved into the memory. The
processor displays the temperature settings and the current
temperature on the LCD screen. The software to perform the entire
function of monitoring and controlling the temperature is stored in
the memory. The processor reads instructions from the memory and
executes them. Prepared By: D. Y. Vankawala
16. Washing Machine (Various inputs and outputs in Washing
Machine) Prepared By: D. Y. Vankawala
17. Inputs User push button: These are various buttons used for
the interaction with user. Water Temperature: The temperature
sensor senses the current temperature of the water and give this
temperature as an input to the controller. Drum Speed: Current
speed of drum is sensed and this input is also given to the
controller. Water Level Sensor: this input gives current
temperature of the water. Door close switch: it is used to sense
whether the door is closed or not.Prepared By: D. Y. Vankawala
18. Outputs Drum Motor: It is connected with the washing
machine drum and it is used for rotating drum. Water Heater: This
signal is the output from controller and input for water heater
which is used to switch on or off the heater. Water Pump: This
signal is used to control the water pump of the washing machine.
Water Valves: This signal is used to open or close the water valve
of washing machine. User Display: It indicate the current ongoing
activity and other signals related to washing machine. Door
Release: It is the signal for releasing the door for washing
machine. Prepared By: D. Y. Vankawala
19. Data flow diagram for washing Machine Prepared By: D. Y.
Vankawala
20. Principle of washing machine Prepared By: D. Y.
Vankawala
21. Block Diagram Prepared By: D. Y. Vankawala
22. Working Prepared By: D. Y. Vankawala
23. Development cycle for washing Machine Prepared By: D. Y.
Vankawala
24. Continue Problem Definition: In this stage of development
first we have to define a definition for washing machine which is
used to identify various requirement of problems and also we can
understand the whole problem related to washing machine. Economic
appraisal and decision to go ahead: Once the problem definition is
completed then the next step is whether the definition is
economically appraise of not. If it is appraise, then they took
decision to go ahead for same definition. Prepared By: D. Y.
Vankawala
25. Continue System Analysis: Next step for development cycle
is to analyze whole the system and indentify requirement of various
hardware and software. Software and Hardware Development: Once
identification of various software and hardware is done, next step
to develop software and then develop hardware according to that
software. Error Correction(Debugging): Once software and hardware
is developed, then next step is to test both. If there is error
during testing then it is solved by testing hardware and software.
Final Documentation: Once all the error is solved then next step is
to create the final product and prepare the final documentation.
Prepared By: D. Y. Vankawala
26. Operating System (OS) Prepared By: D. Y. Vankawala
27. Overview An operating System (OS) is an intermediary
between users and computer hardware. It provides users an
environment in which a user can execute programs conveniently and
efficiently. In technical terms, it is software which manages
hardware. An operating System controls the allocation of resources
and services such as memory, processors, devices and information.
Prepared By: D. Y. Vankawala
28. Definition An operating system is a program that acts as an
interface between the user and the computer hardware and controls
the execution of all kinds of programs. Prepared By: D. Y.
Vankawala
29. Prepared By: D. Y. Vankawala
30. Following are some of important functions of an operating
System. Memory Management Memory management refers to management of
Primary Memory or Main Memory. Main memory is a large array of
words or bytes where each word or byte has its own address. Main
memory provides a fast storage that can be access directly by the
CPU. So for a program to be executed, it must in the main memory.
Processor Management In multiprogramming environment, OS decides
which process gets the processor when and how much time. This
function is called process scheduling. Device Management Operating
System does the following activities for device management. 1.
Keeps tracks of all devices. Program responsible for this task is
known as the I/O controller. 2. Decides which process gets the
device when and for how much time. 3. Allocates the device in the
efficient way. 4. De-allocates devices. Prepared By: D. Y.
Vankawala
31. Continue File Management A file system is normally
organized into directories for easy navigation and usage. These
directories may contain files and other directions. Operating
System does the following activities for file management. 1. Keeps
track of information, location, uses, status etc. The collective
facilities are often known as file system. 2. Decides who gets the
resources. 3. Allocates the resources. 4. De-allocates the
resources. Security By means of password and similar other
techniques, preventing unauthorized access to programs and data.
Control over system performance Recording delays between request
for a service and response from the system. Job accounting Keeping
track of time and resources used by various jobs and users Error
detecting aids Production of dumps, traces, error messages and
other debugging and error detecting aids. Coordination between
other software and users Coordination and assignment of compilers,
interpreters, assemblers and other software to the various users of
the computer systems Prepared By: D. Y. Vankawala
32. Types of OS Prepared By: D. Y. Vankawala
33. 1. Batch operating system The users of batch operating
system do not interact with the computer directly. Each user
prepares his job on an off-line device like punch cards and submits
it to the computer operator. To speed up processing, jobs with
similar needs are batched together and run as a group. Thus, the
programmers left their programs with the operator. The operator
then sorts programs into batches with similar requirements.
Prepared By: D. Y. Vankawala
34. Continue The problems with Batch Systems are following. 1.
Lack of interaction between the user and job. 2. CPU is often idle,
because the speeds of the mechanical I/O devices are slower than
CPU. 3. Difficult to provide the desired priority. Prepared By: D.
Y. Vankawala
35. 2. Time-sharing operating systems Time sharing is a
technique which enables many people, located at various terminals,
to use a particular computer system at the same time. Time-sharing
or multitasking is a logical extension of multiprogramming.
Processor's time which is shared among multiple users
simultaneously is termed as time-sharing. The main difference
between Multiprogrammed Batch Systems and Time-Sharing Systems is
that in case of multiprogrammed batch systems, objective is to
maximize processor use, whereas in Time-Sharing Systems objective
is to minimize response time. Multiple jobs are executed by the CPU
by switching between them, but the switches occur so frequently.
Thus, the user can receive an immediate response. For example, in a
transaction processing, processor execute each user program in a
short burst or quantum of computation. That is if n users are
present, each user can get time quantum. When the user submits the
command, the response time is in few seconds at most. Operating
system uses CPU scheduling and multiprogramming to provide each
user with a small portion of a time. Computer systems that were
designed primarily as batch systems have been modified to
time-sharing systems. Prepared By: D. Y. Vankawala
36. Advantages of Timesharing operating systems are following
1. Provide advantage of quick response. 2. Avoids duplication of
software. 3. Reduces CPU idle time. Disadvantages of Timesharing
operating systems are following. 1. Problem of reliability. 2.
Question of security and integrity of user programs and data. 3.
Problem of data communication. Prepared By: D. Y. Vankawala
37. Distributed operating System Distributed systems use
multiple central processors to serve multiple real time application
and multiple users. Data processing jobs are distributed among the
processors accordingly to which one can perform each job most
efficiently. The processors communicate with one another through
various communication lines (such as high-speed buses or telephone
lines). These are referred as loosely coupled systems or
distributed systems. Processors in a distributed system may vary in
size and function. These processors are referred as sites, nodes,
and computers and so on. Prepared By: D. Y. Vankawala
38. Continue The advantages of distributed systems are
following. 1. With resource sharing facility user at one site may
be able to use the resources available at another. 2. Speedup the
exchange of data with one another via electronic mail. 3. If one
site fails in a distributed system, the remaining sites can
potentially continue operating. 4. Better service to the customers.
5. Reduction of the load on the host computer. 6. Reduction of
delays in data processing. Prepared By: D. Y. Vankawala
39. Network operating System Network Operating System runs on a
server and and provides server the capability to manage data,
users, groups, security, applications, and other networking
functions. The primary purpose of the network operating system is
to allow shared file and printer access among multiple computers in
a network, typically a local area network (LAN), a private network
or to other networks. Examples of network operating systems are
Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX,
Linux, Mac OS X, Novell NetWare, and BSD. Prepared By: D. Y.
Vankawala
40. The advantages of network operating systems are following.
1. Centralized servers are highly stable. 2. Security is server
managed. 3. Upgrades to new technologies and hardware can be easily
integrated into the system. 4. Remote access to servers is possible
from different locations and types of systems. The disadvantages of
network operating systems are following. 1. High cost of buying and
running a server. 2. Dependency on a central location for most
operations. 3. Regular maintenance and updates are required.
Prepared By: D. Y. Vankawala
41. Real Time operating System Real time system is defines as a
data processing system in which the time interval required to
process and respond to inputs is so small that it controls the
environment. Real time processing is always on line whereas on line
system need not be real time. The time taken by the system to
respond to an input and display of required updated information is
termed as response time. So in this method response time is very
less as compared to the online processing. Real-time systems are
used when there are rigid time requirements on the operation of a
processor or the flow of data and real-time systems can be used as
a control device in a dedicated application. Real-time operating
system has well- defined, fixed time constraints otherwise system
will fail. For example Scientific experiments, medical imaging
systems, industrial control systems, weapon systems, robots, and
home- appliance controllers, Air traffic control system etc.
Prepared By: D. Y. Vankawala
42. There are two types of real-time operating systems. Hard
real-time systems Hard real-time systems guarantee that critical
tasks complete on time. In hard real-time systems secondary storage
is limited or missing with data stored in ROM. In these systems
virtual memory is almost never found. Soft real-time systems Soft
real time systems are less restrictive. Critical real-time task
gets priority over other tasks and retains the priority until it
completes. Soft real-time systems have limited utility than hard
real-time systems. For example, Multimedia, virtual reality,
Advanced Scientific Projects like undersea exploration etc.
Prepared By: D. Y. Vankawala
43. Types of mobile OS Prepared By: D. Y. Vankawala
44. Introduction Design and capabilities of a Mobile OS
(Operating System) is very different than a general purpose OS
running on desktop machines: mobile devices have constraints and
restrictions on their physical characteristic such as screen size,
memory, processing power and etc. Scarce availability of battery
power Limited amount of computing and communication capabilities
Thus, they need different types of operating systems depending on
the capabilities they support. e.g. a PDA OS is different from a
Smartphone OS. Operating System is a piece of software responsible
for management of operations, control, coordinate the use of the
hardware among the various application programs, and sharing the
resources of a device. Prepared By: D. Y. Vankawala
45. Mobile OS Structure A mobile OS is a software platform on
top of which other programs called application programs, can run on
mobile devices such as PDA, cellular phones, smartphone and etc.
Prepared By: D. Y. Vankawala Low-Level Hardware, Manufacturer
Device Drivers Device Operating System Base, Kernel OS Libraries
Applications
46. Different Types of Mobile OS 1. IOS (iPhone) 2. Android
(Google) 3. Symbian (Nokia) 4. Blackberry OS (Blackberry) 5.
Windows Phone OS (Microsoft) Prepared By: D. Y. Vankawala
47. 1. IOS (iPhone) iOS (previously iPhone OS) is a mobile
operating system developed and distributed by Apple Inc. Originally
released in 2007 for the iPhone and iPod Touch, it has been
extended to support other Apple devices such as the iPad and Apple
TV. Unlike Microsoft's Windows CE (Windows Phone) and Google's
Android, Apple does not license iOS for installation on non-Apple
hardware. As of 2012 Apple's App Store contained more than 700,000
iOS applications, which have collectively been downloaded more than
30 billion times . The user interface of iOS is based on the
concept of direct manipulation, using multi-touch gestures.
Interface control elements consist of sliders, switches, and
buttons. The response to user input is immediate and provides a
fluid interface. Interaction with the OS includes gestures such as
swipe, tap, pinch, and reverse pinch, all of which have specific
definitions within the context of the iOS operating system and its
multi-touch interface. Internal accelerometers are used by some
applications to respond to shaking the device (one common result is
the undo command) or rotating it in three dimensions (one common
result is switching from portrait to landscape mode). Prepared By:
D. Y. Vankawala
48. Continue iOS is derived from OS X, with which it shares the
Darwin foundation, and is therefore a Unix operating system. iOS is
Apple's mobile version of the OS X operating system used on Apple
computers. In iOS, there are four abstraction layers: the Core OS
layer, the Core Services layer, the Media layer, and the Cocoa
Touch layer. The current version of the operating system (iOS
5.1.1) dedicates 1-1.5 GB of the device's flash memory for the
system partition, using roughly 800 MB of that partition (varying
by model) for iOS itself. Prepared By: D. Y. Vankawala
49. IOS feature Mac OS X has a preemptive multitasking
environment. Preempting is the act of taking the control of
operating system from one task and giving it to another task. It
supports real-time behavior. In Mac OS X, each application has
access to its own 4 GB address space. Not any application can
directly modify the memory of the kernel. It has a strong mechanism
for memory protection. Prepared By: D. Y. Vankawala
50. 2. Android(Google) Android is a Linux-based operating
system designed primarily for touchscreen mobile devices such as
smartphones and tablet computers, developed by Google in
conjunction with the Open Handset Alliance. Initially developed by
Android Inc, whom Google financially backed and later purchased in
2005, Android was unveiled in 2007 along with the founding of the
Open Handset Alliance, a consortium of 86 hardware, software, and
telecommunication companies devoted to advancing open standards for
mobile devices. Google releases the Android code as open-source,
under the Apache License. The Android Open Source Project (AOSP),
lead by Google, is tasked with the maintenance and further
development of Android. Additionally, Android has a large community
of developers writing applications ("apps") that extend the
functionality of devices. Developers write primarily in a
customized version of Java. and apps can be downloaded from online
stores such as Google Play (formerly Android Market), the app store
run by Google, or third-party sites. In June 2012, there were more
than 600,000 apps available for Android, and the estimated number
of applications downloaded from Google Play was 20 billion. The
first Android-powered phone was sold in October 2008, and by the
end of 2010 Android had become the world's leading smartphone
platform. It had a worldwide smartphone market share of 59% at the
beginning of 2012 . Prepared By: D. Y. Vankawala
51. Android Feature Android is a powerful Operating System
supporting a large number of applications in Smart Phones. These
applications make life more comfortable and advanced for the users.
Hardwares that support Android are mainly based on ARM architecture
platform. Android comes with an Android market which is an online
software store. It was developed by Google. It allows Android users
to select, and download applications developed by third party
developers and use them. There are around 2.0 lack+ games,
application and widgets available on the market for users. Prepared
By: D. Y. Vankawala
52. Continue Android applications are written in java
programming language. Android is available as open source for
developers to develop applications which can be further used for
selling in android market. There are around 200000 applications
developed for android with over 3 billion+ downloads. Android
relies on Linux version 2.6 for core system services such as
security, memory management, process management, network stack, and
driver model. For software development, Android provides Android
SDK (Software development kit). Prepared By: D. Y. Vankawala
53. 3. Symbian(Nokia) Symbian is a mobile operating system
designed for smartphones originally developed by Symbian Ltd. but
currently maintained by Accenture.[18] The Symbian platform is the
successor to Symbian OS and Nokia Series 60. The latest version,
Symbian ver.3, was officially released in Q4 2010 and first used in
the Nokia N8 [19]. The first Symbian phone the touchscreen Ericsson
R380 Smartphone was released in 2000 [20] and was the first device
to be marketed as a 'smartphone' [21]. It combined a PDA with a
mobile phone [22]. Later in 2000, the Nokia 9210 communicator was
released, also with Symbian. The later 9500 was Nokia's first
camera phone and first Wi-Fi phone. The 9300 was smaller, and the
E90 Communicator included GPS. In 2007, Nokia launched the Nokia
N95 which integrated various multimedia features: GPS, a 5
megapixel camera with autofocus and LED flash, 3G and Wi-Fi
connectivity and TV-out. In the next few years these features would
become standard on high-end smartphones. The Nokia 6110 Navigator
was a Symbian based dedicated GPS phone introduced in June 2007.
Prepared By: D. Y. Vankawala
54. Symbian Feature Symbian OS is 32 bit. It is a multitasking
operating system and very less dependence on peripherals. Kernel
runs in the privileged mode and exports its service to user
applications via user libraries. Real-time: it has a real-time,
multithreaded kernel. Data Caging : it allows applications to have
their own private data partition. This feature allows for
applications to guarantee a secure data store. It can be used for
e-commerce applications, location aware applications and etc.
Multimedia: it supports audio, video recording, playback and
streaming, and Image conversion. Platform Security : Symbian
provides a security mechanism against malware. It allows sensitive
operations can be accessed by applications which have been
certified by a signing authority. In addition, it supports full
encryption and certificate management, secure protocols ( HTTPS,
TLS and SSL) and WIM framework. Internationalization support: it
supports Unicode standard. Fully object-oriented and component-
based Optimized memory management. Prepared By: D. Y.
Vankawala
55. 4. Windows phone OS Windows Mobile OS is a proprietary and
not open source OS originally created to be a mobile version of
Windows with a user interface compliant to the current Windows
version. It is based on the Windows CE v5.2 kernel, which most
hardware specific components are offered as open source. Windows CE
is a minimalistic real-time multi-tasking OS that can run in less
than a megabyte of memory. Windows Mobile was updated to version
6.5 in October 2009 and the analysis is based on this update. With
this update a new user interface inspired by trends from
smartphones user interfaces. The update also included access to the
new application store from Microsoft called Windows Marketplace.
The amount of applications available is limited and the
functionality is not creative and fancy like iPhone and Android.
The Microsoft application store is not the only one for the Windows
Mobile. Due to the many years on the market existing web sites
contains a lot of applications available to the device. Most of
them lack the creative layout and innovative steps known from the
iPhone. Prepared By: D. Y. Vankawala
56. 5. Blackberry OS BlackBerry is a line of phone devices
developed and designed by Research In Motion (RIM). The first
BlackBerry smartphone was released in 1999. The latest BlackBerry 7
devices were announced in the Summer of 2011. BlackBerry devices
are smartphones, which are designed to function as personal digital
assistants, portable media players, internet browsers, gaming
devices, cameras and much more. They are primarily known for their
ability to send and receive push email and instant messages while
maintaining a high level of security through on-device message
encryption. BlackBerry devices support a large variety of instant
messaging features, with the most popular being the proprietary
BlackBerry Messenger service. Prepared By: D. Y. Vankawala
57. Continue The operating system is implemented supporting
true multi-tasking without noticeable performance lack and due to
the implementation of the OS; the applications load fast and
perform really well on slow devices. The general layout and
browsing through menus feels classic but it works smoothly.
Multi-touch is supported in the newer versions of the OS.
Blackberry OS does not support any Flash versions and the use of
the internet seems to be intended for surfing, e-mail and
traditional client server calendar synchronisation. Prepared By: D.
Y. Vankawala
58. Comparison of IOS, Android and windows OS Prepared By: D.
Y. Vankawala
59. Characteristics of real time system Large and complex vary
from a few hundred lines of assembler or C to 20 million lines of
estimated code for the Space Station Freedom. Concurrent control of
separate system components devices operate in parallel in the real-
world; better to model this parallelism by concurrent entities in
the program Facilities to interact with special purpose hardware
need to be able to program devices in a reliable and abstract way.
Mixture of Hardware/Software: some modules implemented in hardware,
even whole systems, SoC Prepared By: D. Y. Vankawala
60. Continue Extreme reliability and safety embedded systems
typically control the environment in which they operate; failure to
control can result in loss of life, damage to environment or
economic loss. Guaranteed response times we need to be able to
predict with confidence the worst case response times for systems;
efficiency is important but predictability is essential. Stability
--- Under overload conditions, real-time systems need to continue
to meet the deadlines of the most critical tasks, though the
deadlines of non-critical tasks may not be met. This is in contrast
to the requirement of fairness for traditional systems even under
overload conditions. Time constraints --- Every real-time task is
associated with some time constraints. One form of time constraints
that is very common is deadlines associated with tasks. A task
deadline specifies the time before which the task must complete and
produce the results. It is the responsibility of the real-time
operating system (RTOS) to ensure that all tasks meet their
respective time constraints Prepared By: D. Y. Vankawala