Notes for Embedded system
Notes for Embedded system
An embedded system is a combination of computer hardware and software designed for a specific function.
Embedded systems might also function within a larger system. These systems can be programmable or have a
fixed functionality. Embedded systems are used today to control numerous devices. For example, they're used in
industrial machines, consumer electronics, agricultural and processing industry devices, automobiles, medical
devices, cameras, digital watches, household appliances, airplanes, vending machines, toys and mobile devices.
According to Global Markets Insight, the embedded systems market was valued at $110.3 billion in 2023 and is
predicted to grow to more than $190 billion by 2032. Chip manufacturers for embedded systems include many
well-known technology companies, such as Apple, IBM, Intel and Texas Instruments. The expected growth is
partially due to the continued investment in artificial intelligence (AI), mobile computing and the need for chips
designed for high-level processing.
Automobiles. Modern cars commonly consist of many computers, or embedded systems, designed to
perform different tasks within the vehicle. Some of these systems perform basic utility functions and others
provide entertainment or user-facing functions. As modern cars become more computerized, the number of
embedded systems increases. Some embedded systems in consumer vehicles include cruise control, backup
sensors, suspension control, navigation systems, alarm systems and airbag systems.
Mobile phones. These consist of many embedded systems, including GUI software and hardware, operating
systems (OSes), cameras, microphones, and Universal Serial Bus I/O modules.
Industrial machines. These contain embedded systems, such as sensors, and can be embedded systems
themselves. Industrial machines often have embedded automation systems that perform specific monitoring
and control functions.
Medical equipment. These contain embedded systems such as sensors and control mechanisms. Medical
equipment, such as industrial machines, must also be user-friendly so that human health isn't jeopardized by
preventable machine mistakes. This means these systems often include a more complex OS and GUI
designed for an appropriate UI.
A computer that can be designed to carry out a variety of activities is known as a general-purpose system.
General-purpose computers are made to meet a wide range of purposes by allowing users or devices to
interact with them in a variety of ways.
A general-purpose system may execute a wide variety of tasks thanks to its capacity to run various
software applications. A system’s function can be changed by adding, updating, or removing software
with relative ease.
A general-purpose system often has a large selection of inputs and outputs that can be attached to it. It is
different from embedded systems programming in many ways.
Computer systems that perform a limited set of tasks are known as embedded systems. Manufacturers
will focus on the specific tasks that an embedded system must complete when creating it. They will tweak
the system until it completes each of these duties with exceptional efficiency. You may get more clarity
through an embedded systems course.
Firmware, a kind of software used for this purpose, is used to create embedded systems to have very close
control over the hardware. Because it offers direct control over particular hardware components,
assembly language is used to create firmware.
History of embedded systems
Embedded systems date back to the 1960s. Charles Stark Draper developed an integrated circuit in 1961 to
reduce the size and weight of the Apollo Guidance Computer, the digital system installed on the Apollo
Command Module and Lunar Module. The first computer to use integrated circuits, it helped astronauts collect
real-time flight data.
In 1965, Autonetics, now a part of Boeing, developed the D-17B, the computer used in the Minuteman I missile
guidance system. It's widely recognized as the first mass-produced embedded system. When the Minuteman II
went into production in 1966, the D-17B was replaced with the NS-17 missile guidance system, known for its
concentrated use of integrated circuits. In 1968, the first embedded system for a vehicle was released; the
Volkswagen 1600 used a microprocessor to control its electronic fuel injection system.
By the late 1960s and early 1970s, the price of integrated circuits dropped and usage surged. The first
microcontroller was developed by Texas Instruments in 1971. The TMS1000 series, which became
commercially available in 1974, contained a 4-bit processor, read-only memory and random-access memory,
or RAM, and it initially cost around $2 each in bulk orders.
Also, in 1971, Intel released what's widely recognized as the first commercially available processor, the 4004.
The 4-bit microprocessor was designed for use in calculators and small electronics, though it required external
memory and support chips. The 8-bit Intel 8008, released in 1972, had 16 KB of memory; the Intel 8080
followed in 1974 with 64 KB of memory. The 8080's successor, the x86 series, was released in 1978 and is still
largely in use today.
In 1987, the first embedded OS, the real-time VxWorks, was released by Wind River, followed by Microsoft's
Windows Embedded CE in 1996. By the late 1990s, the first embedded Linux products began to appear. Today,
Linux is used in almost all embedded devices.
Throughout the 1990s and 2000s, processing power increased due to the transition from 8- and 16-bit
microcontrollers to 32- and 64-bit processors.
The 2010s saw an increased focus on security features in embedded devices, possibly driven by the rise of IoT
and connected devices.
Detailed Classification of Embedded Systems
The classification of embedded systems is based on different criteria, including functionality
and performance, generation, complexity, and triggering.
Based on Complexity
These systems can range from simple to highly sophisticated designs, depending on their
memory, processing power, and applications. The three main categories of embedded
systems based on complexity include:
Based on Generation
Another type of embedded system is by the technological era or generation in which they
were developed. These include:
First Generation
Dating back to the 1960s, these systems used individual components like transistors and
resistors. They were built with 8-bit microprocessors and 4-bit microcontrollers, and their
hardware and firmware were quite simple. Digital phone keypads and stepper motor control
units are examples of first-generation embedded systems.
Second Generation
Developed in the 1970s, these systems employed integrated circuits (ICs) to enhance
performance and shrink the size. They replaced 8-bit processors and 4-bit controllers with
16-bit microprocessors and 8-bit microcontrollers, resulting in powerful and intricate systems
than the first generation. Data acquisition systems and SCADA systems are examples of
second-generation embedded systems.
Third Generation
These were developed in the 1980s and used microprocessors as the main processing unit.
During this period, domain-specific processors/controllers, such as Digital Signal Processors
(DSP) and Application-Specific Integrated Circuits (ASICs), emerged. Embedded real-time
operating systems also evolved in this generation, which featured powerful 32-bit
microprocessors and 16-bit microcontrollers. Robotics, industrial process control, and
embedded networking are examples of third-generation embedded systems.
Fourth Generation
These were developed in the 1990s and used advanced microprocessors and software to
improve performance and reduce power consumption. Modern advancements in
microprocessors and microcontrollers, along with new concepts such as System-on-Chip
(SoC), reconfigurable processors, multicore processors, and coprocessors, have significantly
improved the performance of embedded systems. These systems often use high-
performance real-time operating systems for their operation. Smart devices and digital
cameras are examples of fourth-generation embedded systems.
It requires multiple register sets to store the It requires a single register set to store the
instruction. instruction.
RISC has simple decoding of instruction. CISC has complex decoding of instruction.
Uses of the pipeline are simple in RISC. Uses of the pipeline are difficult in CISC.
It uses a limited number of instruction that It uses a large number of instruction that requires
requires less time to execute the instructions. more time to execute the instructions.
The execution time of RISC is very short. The execution time of CISC is longer.
RISC architecture can be used with high-end CISC architecture can be used with low-end
applications like telecommunication, image applications like home automation, security
processing, video processing, etc. system, etc.
The program written for RISC architecture needs Program written for CISC architecture tends to
to take more space in memory. take less space in memory.
Example of RISC: ARM, PA-RISC, Power Examples of CISC: VAX, Motorola 68000 family,
Architecture, Alpha, AVR, ARC and the SPARC. System/360, AMD and the Intel x86 CPUs.
The contemporary computer is built on John von Neumann’s concept of stored programmes.
Programs and data are kept in a distinct storage unit called memories in this stored-program
approach, and they handle the same. A computer developed with this design would be considerably
easier to reprogram, thanks to this unique notion.
It’s also known as an IAS computer, and it’s made up of three fundamental components:
The CPU or Central Processing Unit
The Main Memory Unit (most important part of the system)
The I/O Device or the Input/Output Device
1 INTRODUCTION
The first two chapters attempted on explain what an embedded system is about and what
the working parts are. This chapter attempts to go deeper and explain the core of
embedded system along with other related topics.
Embedded systems are domain and application specific and are built around a central
core. The core of the embedded system falls into any of the following categories:
Microprocessors
Microcontrollers
2.1.1MICROPROCESSORS
· Developers of microprocessors.
Harvard architecture
•Since data memory and program memory are stored physically in different locations, no
chances exist for accidental corruption of program memory.
Von-Neumann architecture
•It shares single common bus for instruction and data fetching.
•It is cheaper.
•Accidental corruption of program memory may occur if data memory and program
memory are stored physically in the same chip,
RISC and CISC are the two common Instruction Set Architectures (ISA) available for
processor design.
RISC
• Reduced Instruction Set Computing
•Orthogonal instruction set(allows each instruction to operate on any register and use any
addressing mode.
•Operations are performed on registers only, only memory operations are load and store.
•Programmer needs to write more code to execute a task since instructions are simpler
ones.
CISC
•Non-orthogonal set(all instructions are not allowed to operate on any register and use
any addressing mode.
• Instructions are like macros in C language. A programmer can achieve the desired
functionality with a single instruction which in turn provides the effect of using more
simpler single instruction in RISC.
Endiannes
o Endianness specifies the order which the data is stored in the memory by processor
operations in a multi byte system.
Little-endian means lower order data byte is stored in memory at the lowest address and
the higher order data byte at the highest address. For e.g, 4 byte long integer Byte3,
Byte2, Byte1, Byte0 will be store in the memory as follows:
Big-endian means the higher order data byte is stored in memory at the lowest and the
lower order data byte at the highest address. For e.g. a 4 byte integer Byte3, Byte2,
Byte1, Byte0 will be stored in the memory as follows:
2.1.2 MICROCONTROLLERS.
A microcontroller is a highly integrated chip that contains a CPU, scratch pad RAM,
special and general purpose register arrays,on chip ROM/FLASH memory for program
storage , timer and interrupt control units and dedicated I/O ports.
Some embedded system application require only 8 bit controllers whereas some requiring
superior performance and computational needs demand 16/32 bit controllers.
DSP are powerful special purpose 8/16/32 bit microprocessor designed to meet the
computational demands and power constraints of today’s embedded audio, video and
communication applications.
processors.
I/O unit: It acts as an interface between the outside world and DSP. It is responsible
for capturing signals to be processed and delivering the processed signals.
Because of using single chip for integrates several functions there by reduces the
system development cost.
Most of the ASICs are proprietary (which having some trade name) products, it is
referred as Application Specific Standard Products(ASSP).
As a single chip ASIC consumes a very small area in the total system. Thereby helps
in the design of smaller system with high capabilities or functionalities.
The developers of such chips may not be interested in revealing the internal detail of
it .
A logic gate has a fixed function but a PLD does not have a defined function at the time
of manufacture.
PLDs offer customers a wide range of logic capacity, features, speed, voltage
characteristics.
A variety of tools are available for the designers of PLDs which are inexpensive and
help to develop, simulate and test the designs.
It offers highest amount of performance as well as highest logic density, the most
features.
Advantages of PLDs :-
PLDs offer customer much more flexibility during the design cycle.
PLDs do not require long lead times for prototypes or production parts because
PLDs are already on a distributors shelf and ready for shipment.
PLDs can be reprogrammed even after a piece of equipment is shipped to a
customer
The COTS components itself may be develop around a general purpose or domain
specific processor or an ASICs or a PLDs.
The major advantage of using COTS is that they are readily available in the market,
are chip and a developer can cut down his/her development time to a great extent
The major drawback of using COTS components in embedded design is that the
manufacturer of the COTS component may withdraw the product or discontinue the
production of the COTS at any time if rapid change in technology occurs.
Advantages of COTS:
Ready to use
Easy to integrate
Disadvantages of COTS:
3. SENSORS & ACTUATORS
Sensor
Actuator
ANODE
For functioning the anode is connected to +ve end of power supply and cathode is
connected to –ve end of power supply.
The Anode of LED is connected to the port pin and cathode to Ground : In
this approach the port pin sources the current to the LED when it is at logic high(ie. 1).
The Cathode of LED is connected to the port pin and Anode to Vcc : In this
approach the port pin sources the current to the LED when it is at logic high (ie. 1). Here
the port pin sinks the current and the LED is turned ON when the port pin is at Logic low
(ie. 0)
4. COMMUNICATION INTERFACES
For any embedded system, the communication interfaces can broadly classified into:
These are used for internal communication of the embedded system i.e: communication
between different components present on the system.
1-Wire Interface
Parallel Interface
• It is synchronous
Devices acting as slave wait for commands from the master and respond to those
commands.
These are used for external communication of the embedded system i.e: communication
of different components present on the system with external or peripheral
components/devices.
Infrared (IrDA)
Bluetooth
Wi-Fi
Zig Bee
1960s
RS 232 interface is a point to point communication interface and the devices involved are
called as Data Terminating Equipment (DTE) And Data
Embedded devices contain UART for serial transmission and generate signal levels as per
TTL/CMOS logic.
A level translator IC (like Max 232) is used for converting the signal lines from
receivers
What is Embedded Firmware?
Embedded firmware is a specific type of computer software programmed on a hardware
device that provides low-level control for a device’s specific hardware. Firmware is
implemented in non-volatile memory such as read-only memory (ROM) or electrically
erasable programmable read-only memory (EEPROM) that cannot be easily modified or
erased – hence the name “firm” – and is generally not intended to change once shipped.
However, in more recent times, firmware is now commonly stored in Flash
memory devices which is much easier to erase and reprogram and has greater storage
capacity than its ROM/EEPROM predecessors.
The primary responsibility of the firmware is to boot a device and to supply the
instructions for the device to function and communicate with various hardware parts.
Essentially, the firmware is the code that runs on a piece of hardware and controls a
processor and peripherals embedded within a larger device.
3.5. RTC
3.1. Embedded Firmware Embedded Firmware refers to the control algorithm (Program instructions) and or the
configuration settings that an embedded system developer dumps into the code(program) memory of the embedded
system There are various methods available for developing the embedded firmware. 1) Write the program in high level
languages like Embedded C/C++ using an IDE. 2) Write the program in assembly language using the instructions
supported by your application’s target processor/controller. The instruction set for each family of processor/controller
is different and the program written in either of the methods given above should be converted into a processor
understandable machine code before loading it into the program memory. The process of converting the program
written in either a high level language or processor/controller specific assembly code to machine readable binary code is
called ‘HEX file creation’ The methods used for hex file creation is different depending on the programming techniques
used. If the program is written in Embedded C/C++ using an IDE, the cross compiler included in the IDE converts it into
corresponding processor/controller understandable ‘HEX file’. If the program is written in Assembly language, you can
use the utilities supplied by the processor/controller vendors to convert source code into HEX file. SYSTEM
COMPONENTS The system components refer to the components/ICs which are necessary for the proper functioning of
the embedded system. Some of these circuits may be essential for the proper functioning of the processor/controller
and firmware execution. Watchdog timer, Reset IC, Brown-out Protection IC, etc are examples of circuits/ICs which are
essential for the proper functioning of processor/controllers
3.2. Reset circuit The reset circuit is essential to ensure that the device is not operating at a voltage level where the
device is not guaranteed to operate, during system power ON. The reset signal brings the internal registers and the
different hardware systems of the processor/controller to known state and starts the firmware execution from reset
vector. The reset signal can be either Active High or active Low. The reset signal to the processor can be applied at
power ON through an external passive reset circuit comprising a capacitor and resistor or through a standard reset IC
like MAX810 from Maxim Dallas. The processor behaviour may not be predictable if the power supply voltage falls
below the recommended operating voltage. It may lead to situations like data corruption. A brown-out protection
circuit holds the processor/controller in reset state, when the operating voltage falls below the threshold, until it rises
above the threshold.
3.4. Oscillator Unit A microprocessor/Microcontroller is a digital device made up of digital combinational and
sequential circuits. The instruction execution of a microprocessor/controller occurs in sync with a clock signal.
Oscillator unit is responsible for generating the precise clock for the processor. Certain processors/controllers
integrate a built-in oscillator unit and simply require an external ceramic resonator/quartz crystal for producing
necessary clock signals. The speed of the operation of a processor is primarily dependant on the clock frequency. The
total system power consumption is directly propotional to the clock frequency
.3.5. RTC RTC is a system component responsible for keeping track of time. It holds information like current time( In
hours, minutes, and seconds) in 12 hour/24 hours format, date, month, year, day of the week, etc. and supply timing
reference to the system. RTC is intended to function even in the absence of the power.
Complex Simple
Advantages
The advantages of real-time operating systems are as follows:
Maximum Consumption: Maximum utilization of devices and systems. Thus more
output from all the resources.
Task Shifting: Time assigned for shifting tasks in these systems is very less. For
example, in older systems, it takes about 10 microseconds. Shifting one task to
another and in the latest systems, it takes 3 microseconds.
Focus On Application: Focus on running applications and less importance to
applications that are in the queue.
Real-Time Operating System In Embedded System: Since the size of programs is
small, RTOS can also be embedded systems like in transport and others.
Error Free: These types of systems are error-free.
Memory Allocation: Memory allocation is best managed in these types of systems.
Disadvantages
The disadvantages of real-time operating systems are as follows:
Limited Tasks: Very few tasks run simultaneously, and their concentration is very
less on few applications to avoid errors.
Use Heavy System Resources: Sometimes the system resources are not so good
and they are expensive as well.
Complex Algorithms : The algorithms are very complex and difficult for the designer
to write on.
Device Driver And Interrupt Signals: It needs specific device drivers and interrupts
signals to respond earliest to interrupts.
Thread Priority: It is not good to set thread priority as these systems are very less
prone to switching tasks.
Minimum Switching: RTOS performs minimal task switching.
In the Batch operating system, access is given to more than one person; they submit their respective jobs
to the system for execution.
The system puts all of the jobs in a queue on the basis of first come, first serve and then executes the jobs
one by one. The users collect their respective output when all the jobs get executed.
The purpose of this operating system was mainly to transfer control from one job to another as soon as
the job was completed. It contained a small set of programs called the resident monitor that always
resided in one part of the main memory. The remaining part is used for servicing jobs.
Advantages of Batch OS
o It has increased efficiency, like a resident monitor that eliminates CPU idle time between jobs to enable
it to smoothen the switching of tasks.
o The automatic handling of the processing of jobs means that users should not take control to intervene
in whatever is going on while running or executing tasks.
o The resources, such as the CPU and the memory, are utilized and not left idle.
o It goes well with the payroll as well because it keeps processing jobs in batches without any time
wastage and hard work.
o It can also perform even very huge complex jobs without any intermission because it simply streams
without any intermission, even when the task is excessively intensive.
o Group jobs as 'batches' remove most of the manual setup that had to be done in between individual
tasks, thereby saving time.
o It logs and deals with errors at the time when the batch is over. This allows the system to run even
without intermissions.
Disadvantages of Batch OS
1. Starvation
For Example:
There are five jobs J1, J2, J3, J4, and J5, present in the batch. If the execution time of J1 is very high,
then the other four jobs will never be executed, or they will have to wait for a very long time. Hence the
other processes get starved.
2. Not Interactive
Batch Processing is not suitable for jobs that are dependent on the user's input. If a job requires the input
of two numbers from the console, then it will never get it in the batch processing scenario since the user is
not present at the time of execution.
3. Delayed Output
Since the jobs are submitted in batches, the output is not produced in time. Such a condition can be rather
inconvenient for time-critical jobs.
4. Difficult to Debug
An error is found only after the entire batch has been processed, which makes it even harder to locate and
fix an issue in real-time.
The users or the system administrator should know well about the behavior of the system as well as
dependencies among tasks.
If a batch contains a large job, then problems may occur because the processing of all the subsequent
jobs is delayed. This, therefore, slows down the overall system performance.
In a multiprogramming environment, when a process does its I/O, The CPU can start the execution of
other processes. Therefore, multiprogramming improves the efficiency of the system.
Advantages of Multiprogramming OS
o Throughout the system, it increased as the CPU always had one program to execute.
o Response time can also be reduced.
o Multiprogramming maximizes the utilization of resources like memory, I/O devices, and processing
power since more than one program can be kept alive at any time.
o Since several jobs are being processed in parallel, significantly more tasks could be completed within a
certain amount of time, thus enhancing the overall throughput of the system.
o During times when a program is waiting for I/O operations, the processor does not go idle since it jumps
on to another task to continue processing.
o The system can support both short and long tasks to be executed in parallel, which makes for a more
dynamic and productive processing environment.
Disadvantages of Multiprogramming OS
o Multiprogramming systems provide an environment in which various systems resources are used
efficiently, but they do not provide any user interaction with the computer system.
o Multiple programs increase system complexity, as the operating system needs to manage multiple
processes, memory management, and scheduling.
o It requires more memory compared to less sophisticated operating systems because multiple programs
run in memory simultaneously.
o The operating system has to switch between the running processes continuously, and this leads to
scheduling overhead and reduces performance.
o As several concurrent operations access shared resources simultaneously, the system is likely to
experience deadlocks: two or more processes waiting for each other for further actions.
o Resource contention due to competition for scarce resources could degrade performance.
o In multiprocessing, several processors execute procedures in collaboration. You can even split a
procedure into parts that run in parallel.
o Since several processors work concurrently, more tasks are completed faster.
o Multiprocessing enhances the speed at which the system executes since tasks scatter the processors,
minimizing the waiting period for procedures.
o If one processor is faulty, the others will continue running, hence enhancing system reliability.
Such an operating system is suited for highly computationally intensive environments needing high
processing power, for example, scientific simulations, real-time data processing, and server environments
Working
i. Symmetric Multiprocessing:
o In SMP, every processor has the same copy of the operating system; they share memory and I/O
devices. Each processor can do any task; it would ensure that the workload is balanced among all of
them.
o Each processor can continue any work; if one fails or stops functioning, others can continue without
affecting the system's performance.
ii. Asymmetric Multiprocessing:
o In AMP, one processor controls the system. It manages what tasks are to be given to the other
processors.
o The master processor provides service to the operating system, whereas other processors are slaves
and may perform specific work for the system.
o This configuration of the system keeps it very simple but sometimes causes bottlenecks if the master
processor gets too loaded.
o Increased Reliability: Because multiple processors are present, if one fails, others may take over it, thus
stabilizing the system.
o Increased Throughput: More jobs can be processed at the same time by these multiple processors than
by a single processor, thereby increasing the speed of execution.
o Efficient Resource Utilization: It acts more productively upon the utilization of resources like CPU,
memory, and I/O devices.
o Parallelism: Many processes can run parallel, which increases the speed of execution to a large extent.
o Scalability: As the workload increases, more processors can be added to enhance performance.
o Complexity: There is a rise in the complexity of the system while dealing with a number of processors
and proper distribution of tasks.
o Increased Cost: Hardware equipment added in multiprocessing systems increases their cost
o ommunication Overhead: Generally, communication among processors results in overhead and
provides a slight reduction in efficiency.
o Software Compatibility Problems: Generally, most software is not designed to operate properly with
multiprocessing systems.
There are multitasking systems in almost all personal computers where, for example, a user might run a
web browser, a music player, and a document editor all at once.
In a co-operating system, the tasks voluntarily relinquish control of the CPU so other tasks can execute. A
process runs until it completes or explicitly relinquishes control. An operating system has a relatively small
amount of control over when a process will context switch. The operating system must rely on the
processes to co-operate with each other. Such a system may lead to problems if a process does not yield
control and causes others to be blocked.
n this system, the operating system has full control over how it allocates the CPU. In this system, it can
interrupt the process in the middle of its execution and switch to another based on previously defined
criteria for scheduling such as priority, time slices, or deadlines. This means that within such a system,
better multitasking and responsiveness are ensured, and there is no event of allowing any single process
to monopolize the CPU.
o This system can handle multiple users or tasks at once; therefore, it is best utilized in multi-user
environments.
o The memory is allocated dynamically and efficiently to various tasks so that there is optimal usage of
system resources.
o More applications can be run at the same time, which increases productivity because tasks are
executed concurrently.
o It provides for rapid shifts between tasks, therefore, shortening the response time for the user.
o Because the system keeps running by switching between tasks, CPU time and other system resources
are consumed more effectively.
Disadvantages of Multitasking Operating System:
o The multitasking environment makes a number of processors busier at the same time; that is, the CPU
generates more heat.
o The managing of different tasks all together requires a more sophisticated algorithm, which becomes
complex to administer.
o Running too many applications at the same time can stress the system to a point where performance
degrades.
o In this scenario, multiple tasks will be competing for the same resources, thereby delaying them.
o Multitasking systems usually require more powerful hardware, especially in terms of memory and
processing power, to run without a hitch.
A NOS, which is an abbreviation for network operating system, is an operating system that exists to allow
computers to communicate and share resources over a network, almost like the backbone of networking,
ensuring that different devices (like computers, printers, and even servers) can always connect and
interact seamlessly.
It's very illustrative to imagine a situation in which the students share the same whiteboard-a shared
resource like a printer or file and can't all go at once. The network operating system is then like the
teacher, keeping everything organized so that every student gets their turn without chaos. Other things
could be controlling data sharing, security, and communication among devices.
NOS allows devices not only to communicate but also to share software applications, files, and hardware
so everyone in the network can have what they need without a complicated setup. Examples of network
operating systems are Microsoft Windows Server, Linux, and Novell NetWare.
The enterprise saves money since resources like printers or storage drives do not have to be duplicated
for every user as they are shared, making the system in its whole aspect easier and cheaper to operate. It
is the tool that keeps the network running smoothly, making it possible for connected devices to work
together in collaboration and productivity.
o Since network applications are split between the clients and the servers, this minimizes the total
number of communications on the network, thus increasing performance.
o Configuring as well as maintaining an NOS is less expensive than other elaborate systems since
shared resources reduce duplication needed.
o A NOS grants centralized control over data, security, and resource management. That means that
administrations may easily manage a large network.
o Scaling of the systems can be made easily in terms of organization growth. Easly, new clients or
servers can be added without reconfiguring the system.
o It shares resources like printers, files, and applications, which reduces hardware and software
redundancy.
o If one node or server fails, it affects the whole system, and network functions will be interrupted. Hence,
reliability is important.
o Security needs to be robust so that unauthorized access is restricted. Complex security measures
demand constant monitoring and updating.
o The skilled network administrators involved will handle system performance, security configurations,
and troubleshooting.
o When the network size is too large, and traffic is heavy, it degrades with time if it's not monitored and
maintained, which is constantly demanding attention.
o This is because an attacker, once able to gain access to one server, comes close to achieving his goal
for multiple resources contained in the entire network.
Real-time systems are widely used in areas where timing is the issue, for example, the manufacturing of
medical equipment, automotive controls, or even industrial automation. For instance, in an anti-lock
braking system (ABS) in a car, the response must come in milliseconds in order to assure safety.
The application of a Real-Time system exists in the case of military applications. If you want to drop a
missile, then the missile is supposed to be dropped with a certain precision.
Task Communication
In a multitasking system, multiple tasks/processes run concurrently (in pseudo parallelism)and each process
may or may not interact between. Based on the degree of interaction,the processes /tasks running on an OS are
classified as
•Co-operating Processes:
In the co-operating interaction model one process requires theinputs from other processes to complete
its execution.
•Competing Processes:
The competing processes do not share anything amongthemselves but they share the system resources. The
competing processes compete forthe system resources such as file, display device etcThe co-operating processes
exchanges information and communicate through
No data is shared between the processes. Butthey communicate for execution synchronization
The IPC mechanism used by a process to call a procedure of another process runningeither on the same CPU or
on a different CPU which is interconnected in a network
RPC is mainly used for distributed applications like client-server applications. TheProcess which needs to be
invoked remotely is known as server and the Process whichinitiates an RPC request is known as client.