COMPUTER THEORY (SIMPLIFIED) HOPE IT WILL HELP ITC's PAPER
Q. What is computer?
Ans. A computer is a device that accept information (in the form
of digitized data) and manipulates it for some results based on a program ,
software , or sequence of instruction on how the data is to be processed.
Q. what does computer do?
Ans. Modern computers are electronic computers hardware .They do
mathematical arithmetic very quickly but computers do not really “think”.They
only follow the instruction in their software programs. The software uses then
hardware when the user gives it hardware when that user gives it instruction ,
and given useful output.
Q. Information technology cycle.
.
Q. Discussions on Input, process, output
and storage activities of computer.
·
Input - the
information entered into a computer system, examples include: typed text, mouse
clicks, etc.
·
Processing - the
process of transforming input information into and output.
·
Output – the
visual, auditory, or tactile perceptions provided by the computer after
processing the provided information.Examples include: text, images, sound, or
video displayed on a monitor or through speaker as well as text or Braille from
printers or embossers.
·
Input Device – any
device that enters information into a computer from a external source. Examples
include: keyboards, touch screens, mouse, trackballs, microphones, scanners,
etc.
·
Processing Device – the
electronics that process or transform information provided as an input to
a computer to an output. Examples include: the Central Processing Unit (CPU),
operating systems (e.g. Windows, Apple software), microprocessors (e.g. Intel,
Pentium), memory cards (RAM), graphic and other production application or
programs (Adobe, Microsoft Word, etc).
·
Output Device - a device
used by a computer to communicate information in a usable form. Examples
include: monitors, speakers, and printers, etc.
Q. what is data and information?
Ans . DATA: data
can be defined as a representation of facts, concepts, or
instructions in a formalized manner, which should be suitable for
communication, interpretation, or processing by human or electronic machine.
Data is
represented with the help of characters such as alphabets (A-Z, a-z), digits
(0-9) or special characters (+,-,/,*,<,>,= etc.)
Information:
information is
organized or classified data, which has some meaningful values for the
receiver. Information is the processed data on which decisions and actions are
based.
For the decision to be
meaningful, the processed data must qualify for the following characteristics −
·
Timely −
Information should be available when required.
·
Accuracy −
Information should be accurate.
·
Completeness −
Information should be complete.
Q. Classification of
computer (mainframe, microcomputer , super computer , mini computer).
Ans. Microcomputer:
A microcomputer is a small,
relatively inexpensive computer with a microprocessor as its central processing
unit. It includes a microprocessor, memory, and minimal input/output circuitry
mounted on a single printed circuit board.
Mini
computer:
Mini
computers are very popular among medium sized companies. Mini computers offer
facilities for faster processing of voluminous information. Mini computers, of
course, are bigger than microcomputers but smaller than most of their elders
called mainframes.
Mainframes:
Mainframes
are bigger computers, capable of handling data processing needs of, say, head
office of a bank, or a big multinational company or may be a public utility
office. Mainframe computer systems have larger storage and the speed of
processing is also very high.
Super
computers:
A supercomputer is no ordinary computer. It is a high performance computing machine designed to have
extremely fast processing speeds. Supercomputers have
various applications, such as performing complex scientific calculations,
modeling simulations, and rendering large amounts of 3D graphics. Supercomputers are typically
several times the size of a typical desktop computer and require far more power. A
supercomputer may also consist of a series of computers, which may fill an
entire room. Examples of single machine supercomputers include the early Cray-1 and Cray
X-MP systems developed by Cray Research as well as the more
recent Blue Gene and Roadrunner systems
developed by IBM.
Q. Types of computer (digital, analog and hybrid computer).
Ans. Analog computer:
DEFINITION:
· “An analog (spelled analogue in British English) computer is a form of computer that uses
the continuously-changeable aspects of physical fact such as
electrical, mechanical, or hydraulic quantities to model the problem being
solved.”
· Analog means continuity of
associated quantity just like an analog clock measures time by means of the
distance traveled by the hand of the clock around a dial.
HISTORY:
Mechanical analog computers were very important in gun fire
control in World War II and the Korean War; they were made in significant
numbers. In particular, development of transistors made electronic analog
computers practical, and before digital computers had developed sufficiently,
they were commonly used in science and industry.
EXAMPLES:
· Thermometer
· Analog clock
· Speedometer
· Tire pressure gauge
ADVANTAGES:
· Analog computer has come to refer to
o devices and media that represent
o Store images
o Sound, motion pictures, etc.
DISADVANTAGES:
· Analog computers can have a very wide range of
complexity.
· Slide rules and monographs are the simplest,
while naval gun fire control computers and large hybrid digital/analogue
computers were among the most complicated.
· Very complicated for containing output for the
users some time.
Digital computers:
DEFINITION:
· “A computer that performs
calculations and logical operations with quantities represented as digits,
usually in the binary number system of “0” and “1”.
· “Computer capable of
solving problems by processing information expressed in discrete form. By manipulating
combinations of binary digits (“0”, “1”), it can perform mathematical
calculations, organize and analyze data, control industrial and other
processes, and simulate dynamic systems such as global weather patterns. ”
HISTORY:
In 1937
at Bell Labs, George Stibitz invented the first calculator based on binary
circuits to perform complex mathematical formulas.
Steinitz’s
invention transformed computer science from analog to digital. With the advent
of digital technology, scientists could customize a computer's operating
functions by developing programming languages.
EXAMPLES:
· IBM PC
· Apple Macintosh
· Calculators
· Digital watches etc
HYBRID
COMPUTERS:
DEFINITION:
· “A computer that processes
both analog and digital data”.
· “Hybrid computer is a
digital computer that accepts analog signals, converts them to digital and
processes them in digital form”
A hybrid computer may use or produce analog data or digital
data. It accepts a continuously varying input, which is then converted into a
set of discrete values for digital processing.
Examples:
· Hybrid computer is the
computer used in hospitals to measure the heartbeat of the patient.
· Devices used in petrol
pump.
· Hybrid Machines are
generally used in scientific applications or in controlling industrial
processes.
Q. Computer arithmetic’s.
Ans. Computer arithmetic is a branch of computer engineering
that deals with methods of representing integers and real values (e.g., fixed-
and floating-point numbers) in digital systems and efficient algorithms for
manipulating such numbers by means of hardware circuits or software routines.
Q. Computer Software, System S/W, Application S/W.
Ans.
Computer software:
Software is a generic term for organized collections of computer data
and instructions, often broken into two major categories: system software that
provides the basic non-task-specific functions of the computer, and application
software which is used by users to accomplish specific tasks.
System
software:
System
software is a type of computer program that is
designed to run a computer's hardware and application programs. If we think of
the computer system as a layered model, the system
software is the interface between the hardware and user applications.
... The OS manages all the other programs in a computer.
Application software:
Application
software is a term which is used forsoftware created
for a specific purpose. It is generally a program or collection of programs
used by end users. It can be called an application or simply
an app. ... Asoftware which is developed to help the user to
perform specific tasks is called application software.
Q .Computer
architecture?
In computer engineering, computer architecture is a
set of rules and methods that describe the functionality, organization, and
implementation of computer systems.
Some definitions of architecture define it as describing the capabilities and
programming model of a computer but not a particular implementation.[1] In
other definitions computer architecture involves instruction set
architecture design, microarchitecture design, logic design, and implementation.[2]
The discipline of computer architecture has three main
subcategories:[13]
1. Instruction
Set Architecture, or ISA. The ISA defines
the machine
code that a processor reads
and acts upon as well as the word size, memory
address modes, processor registers,
and data
type.
2. Microarchitecture, or computer organization describes how a
particular processor will
implement the ISA.[14] The size of a computer's CPU
cache for instance, is an issue that
generally has nothing to do with the ISA.
3. System
Design includes all of the
other hardware components within a computing system. These include:
1.
Data processing other
than the CPU, such as direct memory access (DMA)
2.
Other issues such
as virtualization, multiprocessing,
and software features.
There are other types of computer
architecture. The following types are used in bigger companies like Intel, and
count for 1% of all of computer architecture
·
Macroarchitecture: architectural layers more abstract than
microarchitecture
·
Assembly Instruction Set Architecture (ISA): A smart
assembler may convert an abstract assembly language common to a group of
machines into slightly different machine language for
different implementations
·
Programmer Visible Macroarchitecture: higher level
language tools such as compilers may define a consistent
interface or contract to programmers using them, abstracting differences
between underlying ISA, UISA, and microarchitectures.
E.g. the C, C++,
or Java standards define different
Programmer Visible Macroarchitecture.
·
UISA (Microcode Instruction Set Architecture)—a group of
machines with different hardware level microarchitectures may share a common
microcode architecture, and hence a UISA.[citation needed]
·
Pin Architecture: The hardware functions that a microprocessor should
provide to a hardware platform, e.g., the x86 pins
A20M, FERR/IGNNE or FLUSH. Also, messages that the processor should emit so
that external caches can
be invalidated (emptied). Pin architecture functions are more flexible than ISA
functions because external hardware can adapt to new encodings, or change from
a pin to a message. The term "architecture" fits, because the
functions must be provided for compatible systems, even if the detailed method
changes.
Q. system units (CPU, ROM,
RAM)….
CPU
The CPU (Central Processing Unit) is, in fact, the logical
center of a computer. It reads and processes instructions, which do simple
things like adding two numbers together, testing for a result, making a jump to
a different part of memory, etc.
ROM:
ROM stands for Read Only
Memory. The memory from which we can only read but cannot write on it. This
type of memory is non-volatile. The information is stored permanently in such
memories during manufacture. A ROM stores such instructions that are required
to start a computer. This operation is referred to as bootstrap.
ROM chips are not only used in the computer but also in other electronic items
like washing machine and microwave oven.
Let
us now discuss the various types of ROMs and their characteristics.
MROM (Masked
ROM)
The
very first ROMs were hard-wired devices that contained a pre-programmed set of
data or instructions. These kind of ROMs are known as masked ROMs, which are
inexpensive.
PROM
(Programmable Read Only Memory)
PROM
is read-only memory that can be modified only once by a user. The user buys a
blank PROM and enters the desired contents using a PROM program. Inside the
PROM chip, there are small fuses which are burnt open during programming. It
can be programmed only once and is not erasable.
EPROM (Erasable
and Programmable Read Only Memory)
EPROM
can be erased by exposing it to ultra-violet light for a duration of up to 40
minutes. Usually, an EPROM eraser achieves this function. During programming,
an electrical charge is trapped in an insulated gate region. The charge is
retained for more than 10 years because the charge has no leakage path. For
erasing this charge, ultra-violet light is passed through a quartz crystal
window (lid). This exposure to ultra-violet light dissipates the charge. During
normal use, the quartz lid is sealed with a sticker.
EEPROM
(Electrically Erasable and Programmable Read Only Memory)
EEPROM
is programmed and erased electrically. It can be erased and reprogrammed about
ten thousand times. Both erasing and programming take about 4 to 10 ms
(millisecond). In EEPROM, any location can be selectively erased and
programmed. EEPROMs can be erased one byte at a time, rather than erasing the
entire chip. Hence, the process of reprogramming is flexible but slow.
Advantages of
ROM
The advantages of ROM are as follows −
- Non-volatile in nature
- Cannot be accidentally changed
- Cheaper than RAMs
- Easy to test
- More reliable than RAMs
- Static and do not require refreshing
- Contents are always known and can be
verified
RAM (Random Access Memory)
RAM (Random Access Memory) is the
hardware in a computing device where the operating system (OS), application programs and data in current use are kept
so they can be quickly reached by the device's processor. RAM is the main memory in a computer, and it is much
faster to read from and write to than other kinds of storage, such as a hard
disk drive (HDD), solid-state drive (SSD) or optical drive.
Random Access Memory is
volatile. That means data is retained in RAM as long as the computer is on, but
it is lost when the computer is turned off. When the computer is rebooted, the
OS and other files are reloaded into RAM, usually from an HDD or SSD.
How
does RAM work?
The term random
access as applied to RAM comes from the fact
that any storage location, also known as any memory address, can be accessed
directly. Originally, the term Random
Access Memory was used to distinguish regular core
memory from offline memory.
Offline memory typically
referred to magnetic
tape from which a specific piece of data
could only be accessed by locating the address sequentially, starting at the
beginning of the tape. RAM is organized and controlled in a way that enables
data to be stored and retrieved directly to and from specific locations.
RAM microchips are
gathered together into memory modules, which plug into slots in a computer's motherboard. A bus, or a set of electrical paths, is used to connect the motherboard
slots to the processor.
Types of Random Access Memory
RAM comes in two primary
forms:
Dynamic
Random Access Memory (DRAM) makes up the typical computing device's
RAM and, as was previously noted, it needs that power to be on to retain stored
data.
Each DRAM cell has a
charge or lack of charge held in an electrical capacitor. This data must be
constantly refreshed with an electronic charge every few milliseconds to
compensate for leaks from the capacitator. A transistor serves as a gate,
determining whether a capacitor's value can be read or written.
Static
Random Access Memory (SRAM) also needs constant power to hold on to
data, but it doesn't need to be continually refreshed the way DRAM does.
In SRAM, instead of a
capacitor holding the charge, the transistor acts as a switch, with one
position serving as 1 and the other position as 0. Static RAM requires several
transistors to retain one bit of data compared to dynamic RAM which needs only
one transistor per bit. As a result, SRAM chips are much larger and more
expensive than an equivalent amount of DRAM.
However, SRAM is
significantly faster and uses less power than DRAM. The price and speed
differences mean static RAM is mainly used in small amounts as cache
memory inside a computer's processor.
Q.What
is information technology?
Ans: The
technology involving the development, maintenance, and use of computer systems,
software, and networks for the processing and distribution of data.
Components
of information technology
·
Computer hardware
This
is the physical technology that works with information. Hardware can be as
small as a smartphone that
fits in a pocket or as large as a supercomputer that
fills a building. Hardware also includes the peripheral devices that
work with computers, such as keyboards, external disk drives, and routers. With
the rise of the Internet of things, in which anything from home appliances to
cars to clothes will be able to receive and transmit data, sensors that
interact with computers are permeating the human environment.
·
Computer software
The
hardware needs to know what to do, and that is the role of software.
Software can be divided into two types: system software and application
software. The primary piece of system software is the operating system, such
as Windows or
iOS, which manages the hardware’s operation. Application software is designed
for specific tasks, such as handling a spreadsheet, creating a document, or
designing a Web page.
·
Telecommunications
This
component connects the hardware together to form a network. Connections can be
through wires, such as Ethernet cables or fibre
optics, or wireless, such as through Wi-Fi. A
network can be designed to tie together computers in a specific area, such as
an office or a school, through a local area network (LAN). If computers are
more dispersed, the network is called a wide area network (WAN). The Internet itself
can be considered a network of networks.
·
Databases and data
warehouses
This
component is where the “material” that the other components work with resides.
A database is
a place where data is collected and from which it can be retrieved by querying
it using one or more specific criteria. A data warehouse contains all of the
data in whatever form that an organization needs. Databases and data warehouses
have assumed even greater importance in information systems with the emergence
of “big data,” a term for the truly massive amounts of data that can be
collected and analyzed.
·
Human
resources and procedures
The final, and possibly most
important, component of information systems is the human element: the people that
are needed to run the system and the procedures they follow so that the
knowledge in the huge databases and data warehouses can
be turned into learning that can
interpret what has happened in the past and guide future action.
Q. Introduction of programming
language.
Ans. High level language:
A high-level language (HLL)
is a programming language such as C, FORTRAN, or Pascal that
enables a programmer to write programsthat are more or less independent of a
particular type of computer. Such languages are considered high-level because they are closer
to human languages and further from machine languages.
In contrast, assembly languages are considered low-level because they are very close to machine
languages.
Advantages of High-Level Languages
The main advantage of high-level
languages over low-level
languages is that they are easier to read,
write, and maintain. Ultimately, programs written in a high-level language must
be translated into machine language by a compiler or interpreter.
The first high-level programming
languages were designed in the 1950s. Now there are dozens of different
languages, including Ada, Algol, BASIC, COBOL, C, C++, FORTRAN, LISP, Pascal, and Prolog.
Low-level language
A low-level
language is a programming language that provides little or no abstraction of
programming concepts and is very close to writing actual machine instructions. Two good examples of low-level languages are assembly and machine code.
Uses and other information
Low-level languages are useful because written in them
can be crafted to run very fast and with a very minimal memory footprint. However, they are considered harder to utilize because
they require a deeper knowledge of machine language.
Is C or C++ a low-level
language?
The C and C++ programming languages are considered a
"lower-level" or "middle-level" languages. They provide a
minimal amount of abstraction at the smallest possible cost to performance and
efficiency. These abstractions, such as classes, lambda functions, and macros, allow programmers to use complex functionality without
writing overly
complex code that would be required with machine code. For this reason, C and
C++ are considered lower-level languages where abstractions is necessary to
keep code highly readable and maintainable, but where maximum performance is
paramount.
Q.Introduction to Software engineering.
Ans. Software
is a program or set of programs containing instructions which provide desired
functionality . And Engineering is the processes of designing and building
something that serves a particular purpose and find a cost effective solution
to problems.
Software Engineering is a
systematic approach to the design, development, operation, and maintenance of a
software system.
Dual Role of Software:
1. As a product –
·
It delivers the computing potential
across network of Hardware.
·
It enables the Hardware to deliver the
expected functionality.
·
It acts as information transformer
because it produces, manages, acquires, modifies, displays, or transmits
information.
2. As a vehicle for delivering
a product –
·
It provides system functionality (e.g.,
payroll system)
·
It controls other software (e.g., an
operating system)
·
It helps build other software (e.g.,
software tools)
Objectives of Software
Engineering:
1.
Maintainability –
It should be feasible for the software to evolve to meet changing requirements.
2.
Correctness –
A software product is correct, if the different requirements as specified in
the SRS document have been correctly implemented.
- Reusability –
A software product has good reusability, if the different modules of the
product can easily be reused to develop new products.
- Testability –
Here software facilitates both the establishment of test criteria and the
evaluation of the software with respect to those criteria.
- Reliability –
It is an attribute of software quality. The extent to which a program can
be expected to perform its desired function, over an arbitrary time
period.
- Portability –
In this case, software can be transferred from one computer system or
environment to another.
- Adaptability –
In this case, software allows differing system constraints and user needs
to be satisfied by making changes to the software.
Program vs Software Product:
1.
Program is a set of instruction related
each other where as Software Product is a collection of program designed for
specific task.
2.
Programs are usually small in size where
as Software Products are usually large in size.
3.
Programs are developed by individuals
that means single user where as Software Product are developed by large no of
users.
4.
In program, there is no documentation or
lack in proper documentation.
In Software Product, Proper documentation and well documented and user manual
prepared.
5.
Development of program is Unplanned, not
Systematic etc but Development of Software Product is well Systematic,
organised, planned approach.
6.
Programs provide Limited functionality
and less features where as Software Products provides more functionality as
they are big in size (lines of codes) more options and features.
Q. What is operation system?
Ans. Operation system:
An Operating System (OS) is
an interface between a computer user and computer hardware. An operating system
is a software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling
peripheral devices such as disk drives and printers.
Some popular Operating
Systems include Linux Operating System, Windows Operating System, VMS, OS/400,
AIX, z/OS, etc.
Following are some of
important functions of an operating System.
- Memory
Management
- Processor
Management
- Device
Management
- File Management
- Security
- Control over
system performance
- Job accounting
- Error detecting
aids
- Coordination
between other software and users
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 accessed directly by the CPU. For a program to be executed, it must in the
main memory. An Operating System does the following activities for memory
management −
·
Keeps
tracks of primary memory, i.e., what part of it are in use by whom, what part
are not in use.
·
In
multiprogramming, the OS decides which process will get memory when and how
much.
·
Allocates
the memory when a process requests it to do so.
·
De-allocates
the memory when a process no longer needs it or has been terminated.
Processor Management
In multiprogramming environment, the OS
decides which process gets the processor when and for how much time. This
function is called process scheduling. An Operating System does the
following activities for processor management −
·
Keeps tracks of processor and
status of process. The program responsible for this task is known as traffic
controller.
·
Allocates the processor (CPU) to
a process.
·
De-allocates processor when a
process is no longer required.
Device Management
An Operating System manages device
communication via their respective drivers. It does the following activities
for device management −
·
Keeps tracks of all devices.
Program responsible for this task is known as the I/O controller.
·
Decides which process gets the
device when and for how much time.
·
Allocates the device in the
efficient way.
·
De-allocates devices.
File Management
A file system is normally organized into
directories for easy navigation and usage. These directories may contain files
and other directions.
An Operating System does the following
activities for file management −
·
Keeps track of information,
location, uses, status etc. The collective facilities are often known as file
system.
·
Decides who gets the resources.
·
Allocates the resources.
·
De-allocates the resources.
Other Important Activities
Following are some of the important
activities that an Operating System performs −
·
Security −
By means of password and similar other techniques, it prevents 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
softwares and users − Coordination and
assignment of compilers, interpreters, assemblers and other software to the
various users of the computer systems.
Types of
Computer Operating systems
Computer
Operating systems can be broadly classified into two types:
1.
Normal Operating System
2.
Real Time Operating System
1. Normal
Operating System
The
normal operating system is further classified into two types:
·
Character User Interface Operating
System
·
Graphical User Interface Operating
System
Character User Interface Operating System (CUI)
Character user interface Operating system
The CUI
operating system is a text-based operating system, which is used for interacting
with the software or files by typing commands to perform specific tasks. The
command line operating system uses only keyboard to enter commands. The command
line operating systems include DOS and UNIX. The advanced command line
operating system is faster then the advanced GUI operating system.
Graphical User Interface Operating System (GUI)
Graphical User Interface Operating System
The graphical
mode interface operating system is a mouse-based operating system (Windows
Operating System, LINUX), wherein a user performs the tasks or operations
without typing the commands from the keyboard. The files or icons can be opened
or closed by clicking them with a mouse button.
In addition to this, the mouse and keyboard
are used to control the GUI operating systems for several purposes. Most of
the embedded-based
projectsare developed on this operating system. The advanced GUI
operating system is slower than the command line operating system.
Architecture of Operating systems
X
The operating
systems control the hardware resources of a computer. The kernel and shell are
the parts of the operating system that perform essential operations.
When a user gives commands
for performing any operation, the request goes to the shell part, which is also
known as interpreter. The shell part then translates the human program into a
machine code, and then transfers the request to the kernel part.
Architecture of operating system
When the kernel
receives the request from the shell, it processes the request and displays the
result on the screen. The kernel is also known as the heart of the operating
system as every operation is performed by it.
Shell
The shell is a
part of the software which is placed between the user and the kernel, and it
provides services of the kernel. The shell thus acts as an interpreter to
convert the commands from the user to a machine code. Shells present in
different types of operating systems are of two types: command line shells and
graphical shells.
The command line shells
provide a command line interface while graphical line shells provide a
graphical user interface. Though both shells perform operations, the graphical
user interface shells perform slower than the command line interface shells.
Types
of shells
·
Korn shell
·
Bourne shell
·
C shell
·
POSIX shell
Kernel
The kernel is a
part of a software. It is like a bridge between the shell and hardware. It is
responsible for running programs and providing secure access to the machine’s
hardware. The kernel is used for scheduling, i.e., it maintains a time table
for all processes.
Types
of Kernels
·
Monolithic kernel
·
Microkernels
·
Exokernels
·
Hybrid kernels
Single-User Operating System
A
single-user operating system is a type of system that has been developed and
designed to use on a computer.
It can be used on a similar device, and
it only has one user at a time. It’s the most common system used for home
computers. It’s also used in offices and other work environments. There are two
types of this operating system – single-task and multitask. It can connect to
other systems in a network, but it is only ever used by one person.
Multi-user
operating system:
Multi-user software
is software that allows access by multiple users of a
computer. Time-sharing systemsare multi-user systems.
Most batch processingsystems for mainframe computers may also be
considered "multi-user", to avoid leaving the CPU idle
while it waits for I/O operations to complete.
Q. What is Embedded Operating system.
Ans: An
embedded operating system (OS) is a specialized operating
system designed to perform a specific task for
a device that is not a computer. An embedded operating system’s main job
is to run the code that allows the device to do its job. The embedded OS also
makes the device’s hardware accessible to the software that is running on top
of the OS.
An embedded system is a computer that supports a machine. Examples
include computers in cars, traffic lights, digital televisions, ATMs, airplane
controls, point of sale (POS)
terminals, digital cameras, GPS navigation systems, elevators, digital media receivers and smart meters, among many other possibilities.
Examples of embedded OS
Many
modern electronic devices are based on Arduino or Raspberry PI. Raspberry PI devices often run an ARM-based Linux kernel, but there are actually a number of different operating
systems that can be run on Raspberry PI devices. Arduino devices have a much
more primitive embedded operating system that acts as little more than a boot loader and a command interpreter.
How an embedded OS works
In
contrast to an operating system for a general-purpose computer, an embedded operating system can be quite
limited in terms of function – depending on the device in question, the system
may only run a single application. However, that single application is crucial
to the device’s operation, so an embedded OS must be reliable and able to run
with constraints on memory, size and processing power. An embedded operating system
allows the device to do its job. In the case of Raspberry PI for example,
an SD card acts as the device’s hard drive and contains the
code that runs on the device. Because the SD card is removable, its contents
can be modified on demand. Because the embedded OS makes the device’s hardware
accessible to the application that is running on top of the OS, hardware
components such as USB ports and HDMI ports
can be leveraged by the applications running on the device.
Embedded vs. Non-Embedded
An
embedded operating system is integrated into a device, and depending on the device,
may reside on a chip.
Embedded operating systems tend to be limited in scope with regard to what they
can do. In contrast, a non-embedded operating system tends to run from a hard
disk or an SSD.
Non-embedded operating systems such as Windows 10 or Mac OS tend to be user configurable and
upgradable, and they are usually designed for general purpose use.