0% found this document useful (0 votes)
48 views84 pages

BCS303 Module1

An operating system (OS) is a crucial program that acts as an intermediary between users and computer hardware, managing resources and facilitating user interactions. It performs essential tasks such as recognizing input, managing files, and controlling peripheral devices, with various types of OS including batch, time-sharing, and real-time systems. The document outlines the structure, functions, and components of computer systems, emphasizing the role of the OS in resource allocation and user experience.

Uploaded by

anujamurthy.kv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views84 pages

BCS303 Module1

An operating system (OS) is a crucial program that acts as an intermediary between users and computer hardware, managing resources and facilitating user interactions. It performs essential tasks such as recognizing input, managing files, and controlling peripheral devices, with various types of OS including batch, time-sharing, and real-time systems. The document outlines the structure, functions, and components of computer systems, emphasizing the role of the OS in resource allocation and user experience.

Uploaded by

anujamurthy.kv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

w w w. a c h a r y a . a c .

i n

OPERATING SYSTEMS(BCS303)
Module 1
What is operating systems

Operating system − a program that acts as an intermediary between a user of a

computer and the computer hardware.

Operating system goals:

• Execute user programs and make solving user problems easier.

• Make the computer system convenient to use.


Click
[Link] Edit
of ISE
• Use the computer hardware in an efficient manner
What is operating systems

The most important program that runs on your computer.

It manages all other programs on the machine.

It performs basic tasks,such as

1. Recognizing input from the keyboard or mouse

2. Sending output to the monitor.


Click
[Link] Edit
of ISE
3. Keeping track of files and directories on the disk and

4. Controlling peripheral devices such as disk drives

and printers

Examples of operating systems that are widely

used are windows, linux, ubuntu, Mac os X and ios , Android


What is operating systems

An operating system is a program that manages the computer hardware. It also provides a

basis for application programs and acts as an intermediary between the computer user and

the computer hardware.

An Operating System, or OS, is low-level software that enables a user and higher-level

application software to interact with a computer’s hardware and the data and other
Click
[Link] Edit
of ISE
programs stored on the computer.
Click
[Link] Edit
of ISE
Secondary Storage Device

Click to Edit
Types of OS
• Batch OS
• Time-sharing OS
• Distributed OS
• Network OS
• Real time OS
• Multi programming
/Tasking/processing OS
Goals of OS
• Convenient
Click
[Link] Edit
of ISE • Efficiency
• Both
Functions of OS
• It is an interface between user and
hardware
• Allocation of resources
• Management of memory, security
etc
What Operating Systems Do?
A computer system can be divided roughly into four components: the hardware, the
operating system, the application programs, and the users (as shown in figure)

Abstract view of the components of a computer system.

Click
[Link] Edit
of ISE
Computer System Components

Computer system can be divided into four components


1. Hardware − provides basic computing resources (CPU, memory, I/O devices).

2. Operating system − controls and coordinates the use of the hardware among the

various application programs for the various users.

3. Applications programs − define the ways in which the system resources are used to

Click
[Link] Edit
of ISE solve the computing problems of the users (compilers, database systems, video games,

business programs).

4. Users (people, machines, other computers)


• The hardware-the central processing unit (CPU), the memory, and the
input/output (I/O) devices-provides the basic computing resources for the system.

• The application programs-such as word processors, spreadsheets, compilers,


and web browsers-define how these resources are used to solve users'
computing problems.

Click
[Link] Edit
of ISE
The operating system controls and coordinates the use of the hardware among
the various application programs for the various users.

The role of the operating system can be seen in two viewpoints:-

• User view

• System view
User View

• The user's view of the computer varies according to the interface being used. Most
computer users sit in front of a PC, consisting of a monitor, keyboard, mouse, and
system unit.

• Such a system is designed for one user to monopolize its resources.

The goal is to maximize the work (or play) that the user is performing.
Click
[Link] Edit
of ISE

• Ease of use

• Resource Utilization.
User View

In other cases, a user sits at a terminal connected to a mainframe or


minicomputer. Other users are accessing the same computer through
other terminals.

These users share resources and may exchange information. The operating
Click
[Link] Edit
of ISE
system in such cases is designed to maximize resource utilization to
assure that all available CPU time, memory, and I/O are used efficiently
and that no individual user takes more than her fair share.
User View

In still other cases, users sit at workstations connected to networks of


other workstations and servers.

These users have dedicated resources at their disposal, but they also share
resources such as networking and servers-file. Therefore, their operating
Click
[Link] Edit
of ISE
system is designed to compromise between individual usability and
resource utilization.
System View
• In this context, we can view an operating system as a resource
allocator.

• A computer system has many resources that may be required to


solve a problem: CPU time, memory space, file-storage space,
Click
[Link] Edit
of ISE I/O devices, and so on.

• The operating system acts as the manager of these resources.


System View

A slightly different view of an operating system emphasizes the need

to control the various I/O devices and user programs.

An operating system is a control program. A control program

manages the execution of user programs to prevent errors and


Click
[Link] Edit
of ISE

improper use of the computer. It is especially concerned with the

operation and control of I/O devices.


Defining Operating Systems

Operating systems exist because they offer a reasonable way to solve the problem of

creating a usable computing system.

The fundamental goal of computer systems is to execute user programs and to make

solving user problems easier. Toward this goal, computer hardware is constructed. Since

bare hardware alone is not particularly easy to use, so application programs are
Click
[Link] Edit
of ISE

developed.

These programs require certain common operations, such as those controlling the I/O

devices. The common functions of controlling and allocating resources are then brought

together into one piece of software: the operating system.


Computer-System Organization
Before exploring the details of how computer systems operate, we need a general knowledge
of the structure of a computer system.

Computer-System Operation
A modern general-purpose computer system consists of one or more CPUs and a number of
device controllers connected through a common bus that provides access to shared memory
(as shown in figure).
Click
[Link] Edit
of ISE

Each device controller is in charge of a specific type of device (for example, disk drives, audio
devices, and video displays).
It initializes all aspects of the system, from CPU registers to device controllers

to memory contents
A modern computer system.

Click
[Link] Edit
of ISE
• The CPU and the device controllers can execute concurrently, competing for
memory cycles.

• To ensure orderly access to the shared memory, a memory controller is


provided whose function is to synchronize access to the memory.

For a computer to start running-for instance, when it is powered up or


rebooted-it needs to have an initial program to run. This initial program, or
Click
[Link] Edit
of ISE
bootstrap program.

Typically, it is stored in read-only memory (ROM) or electrically erasable


programmable read-only memory (EEPROM), known by the general term
firmware, within the computer hardware
Booting

Click to Edit
• It must know how to load the OS and start executing that system.
• It must locate and load into memory the OS kernel.
Interrupt
• The occurrence of an event is usually signalled by an interrupt from the
hardware or software
• Hardware may trigger an interrupt at any time by sending a signal to CPU,
usually by the way of system bus.
System call or Monitor call
Software may trigger an interrupt by executing a special operation called system
call.
When the CPU is interrupted, it stops what it is doing and immediately
Click
[Link] Edit
of ISE
transfers execution to a fixed location
The fixed location usually contains the starting address where the service
routine of the interrupt is located
The interrupt service routine executes
On completion the CPU resumes the interrupted computation
Click to Edit
Interrupt in OS

Click to Edit
Storage Structure

• Computer programs must be in main memory (also called random-access


memory or RAM) to be executed.

• Main memory is the only large storage area (millions to billions of bytes)
that the processor can access directly.

• It commonly is implemented in a semiconductor technology called


Click
[Link] Edit
of ISE
dynamic random-access memory (DRAM), which forms an array of
memory words. Each word has its own address.
Storage Structure

• Interaction is achieved through a sequence of load or store instructions


to specific memory addresses.

• The load instruction moves a word from main memory to an internal


register within the CPU, whereas the store instruction moves the content
of a register to main memory.
Click
[Link] Edit
of ISE
• Aside from explicit loads and stores, the CPU automatically loads
instructions from main memory for execution.
Storage Structure

• In a larger sense, however, the storage structure that we have described


consisting of registers, main memory, and magnetic disks-is only one of
many possible storage systems.

• Others include cache memory, CD-ROM, magnetic tapes, and so on.

• Each storage system provides the basic functions of storing a datum and
Click
[Link] Edit
of ISE of holding that datum until it is retrieved at a later time.

• The main differences among the various storage systems lie in speed,
cost, size, and volatility.
• The wide variety of storage systems in a computer system can be
organized in a hierarchy (as shown in figure 6) according to speed and
cost.

• The higher levels are expensive, but they are fast. As we move down the
hierarchy, the cost per bit generally decreases, whereas the access time
generally increases.
Click
[Link] Edit
of ISE
• This trade-off is reasonable; if a given storage system were both faster
and less expensive than another-other properties being the same-then
there would be no reason to use the slower, more expensive memory
Storage-device hierarchy

Click
[Link] Edit
of ISE

Figure 6 Storage-device hierarchy


I/O Structure

• Storage is only one of many types of I/O devices within a

computer.

• A large portion of operating system code is dedicated to

managing I/O, both because of its importance to the reliability

Click
[Link] Edit
of ISE and performance of a system and because of the varying nature

of the devices. Therefore, we now provide an overview of I/O.


I/O Structure

• A general-purpose computer system consists of CPUs and


multiple device controllers that are connected through a
common bus.

• Each device controller is in charge of a specific type of device.

Click
[Link] Edit
of ISE
• Typically operating system have device driver for each device
controller.
I/O Structure

• A device controller maintains some local buffer storage and a set of


special-purpose registers.

• The device controller is responsible for moving the data between


the peripheral devices that it controls and its local buffer storage.
Click
[Link] Edit
of ISE • This driver understands the device controller and presents a
uniform interface to the device to the rest of the operating system.
Working of I/O Operation

Click
[Link] Edit
of ISE
Working of I/O Operation
• To start an I/O operation, the device driver loads the appropriate
registers within the device controller.

• The device controller, in turn, examines the contents of these registers


to determine what action to take (such as "read a character from the
Click
[Link] Edit
of ISE keyboard").

• The controller starts the transfer of data from the device to its local
buffer.
Working of I/O Operation
• Once the transfer of data is complete, the device controller informs
the device driver via an interrupt that it has finished its operation.

• The device driver then returns control to the operating system,


possibly returning the data or a pointer to the data if the operation
was a read. For other operations, the device driver returns status

Click
[Link] Edit
of ISE
information.

• This form of interrupt driven I/O is fine for moving small amount of
data but can produce high overhead when used for bulk data
movement.
• To solve this problem DMA(Direct memory access) is used.

• After setting up buffers, pointers and counter for I/O device,


the device controllers transfers an entire block of data directly
to or from its own buffer storage to memory, with no
intervention by CPU.

• Only one interrupt is generated per block, to tell the device


Click
[Link] Edit
of ISE drive that the operation is completed.

• While the device controller is performing these operations, the


CPU is available to accomplish other work.
Computer-System Architecture

A computer system may be organized in a number of different


ways, which we can categorize roughly according to the
number of general-purpose processors used. It can be
classified as shown below:

Click
• Single processors system
[Link] Edit
of ISE

• Multi-processor system

• Clustered systems
Single processor system
• Most systems use a single processor.

• The variety of single-processor systems may be surprising,


however, since these systems range from PDAs through
mainframes.

• On a single-processor system, there is one main CPU capable of


Click
[Link] Edit
of ISE
executing a general-purpose instruction set, including instructions
from user processes. Almost all systems have other special-
purpose processors as well.

• These special purpose processors performs device specific tasks.


Multiprocessor Systems
Multiprocessor Systems
Although single-processor systems are most common, multiprocessor
systems (also known as parallel systems or tightly coupled systems) are
growing in importance. Such systems have two or more processors in
close communication, sharing the computer bus and sometimes the
clock, memory, and peripheral devices.
Click
[Link] Edit
of ISE
Multiprocessor systems have three main advantages:
• Increased throughput
• Economy of scale
• Increased reliability
• The multiple-processor systems in use today are of two types. Some
systems use asymmetric multiprocessing, in which each processor is
assigned a specific task.
• A master processor controls the system; the other processors either
look to the master for instruction or have predefined tasks.
• This scheme defines a master-slave relationship. The master
processor schedules and allocates work to the slave processors.
Click
[Link] Edit
of ISE
• The ability to continue providing service proportional to the level of
surviving hardware is called graceful degradation
• Some systems go beyond graceful degradation and are called fault
tolerant, because they can suffer a failure of any single component
and still continue operation
• The most common systems use symmetric multiprocessing (SMP), in which
each processor performs all tasks within the operating system.

• SMP means that all processors are peers; no master-slave relationship


exists between processors. Figure illustrates a typical SMP architecture.

Symmetric multiprocessing architecture.


Click
[Link] Edit
of ISE
Clustered Systems

• Another type of multiple CPU system is the clustered system.

• Like multiprocessor systems, clustered systems gather together


multiple CPUs to accomplish computational work.

• Clustered systems differ from multiprocessor systems, however, in


Click
[Link] Edit
of ISE that they are composed of two or more individual systems coupled
together called as cluster.

• Provides high availability.


Clustered Systems
• Clustering can be structured asymmetrically or symmetrically.
In asymmetric clustering, one machine is in hot-standby
mode while the other is running the applications.

• The hot-standby host machine does nothing but monitor the


active server. If that server fails, the hot-standby host becomes
Click
[Link] Edit
of ISE the active server

• In symmetric mode

Two or more hosts run the applications

Monitors each other


Operating-System Structure
• An operating system provides the environment within which programs
are executed.

• Internally, operating systems vary greatly in their makeup.

• Commonalities are Multiprogramming and Time sharing(Multi tasking)


Multiprogramming
Click
[Link] Edit
of ISE • Multiprogramming is Capability of running multiple programs by the
CPU.

• A single user cannot, in general, keep either the CPU or the I/O devices
busy at all times.
• Multiprogramming increases CPU utilization by organizing jobs (code and
data) so that the CPU always has one to execute.

• The operating system keeps several jobs in memory simultaneously (as


shown in figure).

• This set of jobs can be a subset of the jobs kept in the job pool-which
contains all jobs that enter the system-since the number of jobs that can
Click
[Link] Edit
of ISE

be kept simultaneously in memory is usually smaller than the number of


jobs that can be kept in the job pool.

• The operating system picks and begins to execute one of the jobs in
memory
• Multiprogrammed systems provide an environment in which the various system
resources (for example, CPU, memory, and peripheral devices) are utilized
effectively, but they do not provide for user interaction with the computer
system.

Time sharing(Multitasking)
• Time sharing (or multitasking) is a logical extension of multiprogramming. In
time-sharing systems, the CPU executes multiple jobs by switching among them,
Click
[Link] Edit
of ISE
but the switches occur so frequently that the users can interact with each
program while it is running.
• Time sharing requires an interactive computer system, which provides
direct communication between the user and system.

• A time shared OS allows many users to share the computer


simultaneously.

• In Time shared systems

It uses CPU scheduling and multiprogramming to provide each user with
Click
[Link] Edit
of ISE
a small portion of time shared computer.

Each user has at least one separate program in memory

A program located into memory and executing is called process.


Operating-System Operations
• A modern operating systems are interrupt driven. If there are no
processes to execute, no I/O devices to service, and no users to whom to
respond, an operating system will sit quietly, waiting for something to
happen. Events are almost always signaled by the occurrence of an
interrupt or a trap.

Click
[Link] Edit
of ISE
• A trap is a software-generated interrupt caused either by an error or by a
specific request from a user program that an operating-system service be
performed.
• The interrupt-driven nature of an operating system defines that
system's general structure. For each type of interrupt, separate
segments of code in the operating system determine what action
should be taken. An interrupt service routine is provided that is
responsible for dealing with the interrupt.

• Since the operating system and the users share the hardware and
Click
[Link] Edit
of ISE
software resources of the computer system, we need to make sure
that an error in a user program could cause problems only for the
one program that was running. With sharing, many processes could
be adversely affected by a bug in one program.
Dual-Mode Operation
• In order to ensure the proper execution of the operating system, we must
be able to distinguish between the execution of operating-system code
and user defined code. The approach taken by most computer systems is
to provide hardware support that allows us to differentiate among various
modes of execution.

• At the very least, we need two separate modes of operation: user mode
Click
[Link] Edit
of ISE
and kernel mode (also called supervisor mode, system mode, or
privileged mode).
• A bit, called the mode bit is added to the hardware of the computer
to indicate the current mode: kernel (0) or user (1). With the mode
bit, we are able to distinguish between a task that is executed on
behalf of the operating system and one that is executed on behalf of
the user.

• When the computer system is executing on behalf of a user


Click
[Link] Edit
of ISE
application, the system is in user mode. However, when a user
application requests a service from the operating system (via a
system call), it must transition from user to kernel mode to
fulfill the request. This is shown in Figure 1.8
At system boot time, the hardware starts in kernel mode. The operating
system is then loaded and starts user applications in user mode. Whenever
a trap or interrupt occurs, the hardware switches from user mode to kernel
mode (that is, changes the state of the mode bit to 0). The dual mode of
operation provides us with the means for protecting the operating system
from errant users-and errant users from one another

Click
[Link] Edit
of ISE The protection is achieved by special machine instructions called privileged
instructions.

These instructions are allowed to be executed in kernel mode.

If an attempt is made in user mode the hardware treats it as a trap or an


interrupt to the OS and execution mode changes from user to kernel mode.
Click
[Link] Edit
of ISE
• Initial control is within the operating system, where instructions are executed in
kernel mode.

• When control is given to a user application, the mode is set to user mode.
Eventually, control is switched back to the operating system via an interrupt, a
trap, or a system call.

• When a system call is executed, it is treated by the hardware as a software


interrupt. Control passes through the interrupt vector to a service routine in
Click
[Link] Edit
of ISE
the operating system, and the mode bit is set to kernel mode. The system call
service routine is a part of the operating system.

• The kernel examines the interrupting instruction to determine what system call
has occurred; a parameter indicates what type of service the user program is
requesting.
Timer
• OS does not allow the user program to get stuck in an infinite loop or to
fail to call system services.

• A timer can be used to interrupt the computer after specified time


period.

• The time period can be fixed or variable.


Click
[Link] Edit
of ISE
• If the timer interrupts the control transfers automatically to OS.

• It is treated as either fatal error or may give the program more time.

• The instructions to modify the timer are treated as privileged instructions.


• In this way timer can be used to prevent the user program from running
too long.

• A simple technique is to initialize a counter with the amount of time that


program is allowed to run.

• Every second the timer is interrupted and the counter is decremented by


1.
Click
[Link] Edit
of ISE
• As long as counter is positive the control is returned to user program.

• When the counter becomes negative, the OS terminates the program for
exceeding the assigned time limit.
Process Management
• A program does nothing unless its instructions are executed by a CPU. A
program in execution is called a process.

• A time-shared user program such as a compiler is a process.

• A word-processing program being run by an individual user on a PC is a


process.
Click
[Link] Edit
of ISE

• A system task, such as sending output to a printer, can also be a process


(or at least part of one).

• For now, you can consider a process to be a job or a time-shared program,


but later you will learn that the concept is more general.
• A process needs certain resources-including CPU time, memory, files, and I/O
devices-to accomplish its task. These resources are either given to the process
when it is created or allocated to it while it is running.

The operating system is responsible for the following activities in connection with
process management:

• Creating and deleting both user and system processes.

Click
[Link] Edit
of ISE
• Suspending and resuming processes.

• Providing mechanisms for process synchronization

• Providing mechanisms for process communication.

• Providing mechanisms for deadlock handling.


Memory Management
Main memory is central to the operation of a modern computer system. Main
memory is a large array of words or bytes, ranging in size from hundreds of
thousands to billions.

Each word or byte has its own address. Main memory is a repository of quickly
accessible data shared by the CPU and I/O devices.

The central processor reads instructions from main memory during the
Click
[Link] Edit
of ISE
instruction-fetch cycle and both reads and writes data from main memory during
the data-fetch cycle.

For a program to be executed, it must be mapped to absolute addresses and


loaded into memory
The operating system is responsible for the following activities in
connection with memory management:

• Keeping track of which parts of memory are currently being used and by
whom.

• Deciding which processes (or parts thereof) and data to move into and
out of memory.
Click
[Link] Edit
of ISE
• Allocating and deallocating memory space as needed.
Click
[Link] Edit
of ISE
Storage Management
To make the computer system convenient for users, the operating system
provides a uniform, logical view of information storage.
The operating system abstracts from the physical properties of its storage
devices to define a logical storage unit, the file. The operating system
maps files onto physical media and accesses these files via the storage
devices.
Click
[Link] Edit
of ISE File-System Management
File management is one of the most visible components of an operating
system. Computers can store information on several different types of
physical media. Magnetic disk, optical disk, and magnetic tape are the
most common.
File management is one of the basic and important feature of OS.

OS is used to manage files of computer system.

All the files different extensions are managed by OS.

File is a collection of related information defined by its creator.

Commonly, files represent programs and data

The operating system is responsible for the following activities in connection with
file management:
Click
[Link] Edit
of ISE
• Creating and deleting files.

• Creating and deleting directories to organize files.

• Supporting primitives for manipulating files and directories.

• Mapping files onto secondary storage.

• Backing up files on stable (nonvolatile) storage media.


Mass-Storage Management
As we have already seen, because main memory is too small to
accommodate all data and programs, and because the data that it holds
are lost when power is lost, the computer system must provide secondary
storage to back up main memory. Most modern computer systems use
disks to store both programs and data.
Click
[Link] Edit
of ISE

Most programs-including compilers, assemblers, word processors, editors,


and formatters-are stored on a disk until loaded into memory and then use
the disk as both the source and destination of their processing.
Hence, the proper management of disk storage is of central importance to
a computer system. The operating system is responsible for the following
activities in connection with disk management:

• Free-space management.

• Storage allocation.
Click
[Link] Edit
of ISE
• Disk scheduling.
Disk scheduling.

• As we know, a process needs two type of time, CPU time and IO


time. For I/O, it requests the Operating system to access the disk.

• However, the operating system must be fare enough to satisfy each


request and at the same time, operating system must maintain the
efficiency and speed of process execution.
Click
[Link] Edit
of ISE
• The technique that operating system uses to determine the
request which is to be satisfied next is called disk scheduling.
Caching
Caching is an important principle of computer systems. Information is
normally kept in some storage system (such as main memory). As it is
used, it is copied into a faster storage system the cache-on a
temporary basis. When we need a particular piece of information,

Click
[Link] Edit
of ISE we first check whether it is in the cache. If it is, we use the
information directly from the cache; if it is not, we use the
information from the source, putting a copy in the cache under the
assumption that we will need it again soon.
Because caches have limited size, cache management is an important
design problem.

Main memory can be viewed as a fast cache for secondary storage, since
data in secondary storage must be copied into main memory for use, and
data must be in main memory before being moved to secondary storage for
safekeeping

Click
[Link] Edit
of ISE This operation is followed by copying A to the cache and to an internal
register. Thus, the copy of A appears in several places: on the magnetic
disk, in main memory, in the cache, and in an internal register as shown in
the figure.
Once the increment takes place in the internal register, the value of A
differs in the various storage systems. The value of A becomes the same
only after the new value of A is written from the internal register back to
the magnetic disk.

Migration of integer A from disk to register.

Click
[Link] Edit
of ISE
I/O Systems
One of the purposes of an operating system is to hide the peculiarities of
specific hardware devices from the user.

The I/O subsystem consists of several components:

A memory-management component that includes buffering, caching, and


Click
[Link] Edit
of ISE spooling.

A general device-driver interface.

Drivers for specific hardware devices.


Protection and Security
If a computer system has multiple users and allows the concurrent
execution of multiple processes, then access to data must be regulated. For
that purpose, mechanisms ensure that files, memory segments, CPU, and
other resources can be operated on by only those processes that have
gained proper authorization from the operating system.

Click
[Link] Edit
of ISE
Protection and security requires the system to be able to distinguish
among all its users.

OS maintains a list of user names and ID’s.


Distributed Systems

A distributed system is a collection of physically separate, possibly


heterogeneous computer systems that are networked to provide the users
with access to the various resources that the system maintains.

Access to a shared resource increases computation speed, functionality,


data availability, and reliability.
Click
[Link] Edit
of ISE
Some operating systems generalize network access as a form of file access,
with the details of networking contained in the network interface's device
driver.
The continuing advent of new technologies brings about new forms of
networks. For example, a metropolitan-area network (MAN) could link
buildings within a city.

BlueTooth and 802.11 devices use wireless technology to communicate over


a distance of several feet, in essence creating a small-area network such as
might be found in a home.

Click
[Link] Edit
of ISE
Special-Purpose Systems
The discussion thus far has focused on general-purpose computer systems
that we are all familiar with. There are, however, different classes of
computer systems whose functions are more limited and whose objective
is to deal with limited computation domains.

Real-Time Embedded Systems


Click
[Link] Edit
of ISE

Embedded computers are the most prevalent form of computers in


existence. These devices are found everywhere, from car engines and
manufacturing robots to VCRs and microwave ovens. They tend to have
very specific tasks.
1. The systems they run on are usually primitive, and so the operating
systems provide limited features.

2. Usually, they have little or no user interface, preferring to spend their


time monitoring and managing hardware devices, such as automobile
engines and robotic arms.

The use of embedded systems continues to expand. The power of these


Click
[Link] Edit
of ISE devices, both as standalone units and as members of networks and the
Web, is sure to increase as well.

Even now, entire houses can be computerized, so that a central computer-


either a general-purpose computer or an embedded system-can control
heating and lighting, alarm systems, and even coffee makers.
Web access can enable a home owner to tell the house to heat up before
she arrives home. Someday, the refrigerator may call the grocery store
when it notices the milk is gone.

Embedded systems almost always run real-time operating systems.

A real-time system is used when rigid time requirements have been


Click
[Link] Edit
of ISE
placed on the operation of a processor or the flow of data; thus, it is often
used as a control device in a dedicated application.

Sensors bring data to the computer. The computer must analyze the data
and possibly adjust controls to modify the sensor inputs.
Multimedia Systems

Most operating systems are designed to handle conventional data such as


text files, programs, word-processing documents, and spreadsheets.

However, a recent trend in technology is the incorporation of multimedia


data into computer systems.

Multimedia data consists of audio and video files as well as conventional


Click
[Link] Edit
of ISE
files.

These data differ from conventional data in that multimedia data-such as


frames of video-must be delivered (streamed) according to certain time
restrictions (for example, 30 frames per second).
Handheld Systems
Handheld systems include personal digital assistants (PDAs), such as Palm
and Pocket-PCs, and cellular telephones, many of which use special-
purpose embedded operating systems.

Developers of handheld systems and applications face many challenges,


most of which are due to the limited size of such devices.

Click
[Link] Edit
of ISE For example, a PDA is typically about 5 inches in height and 3 inches in
width, and it weighs less than one-half pound. Because of their size, most
handheld devices have a small amount of memory, slow processors, and
small display screens.

Limitations are balanced by their convenience and portability.


Computing Environments

So far, we have provided an overview of computer-system organization


and major operating-system components.

We conclude with a brief overview of how these are used in a variety of


computing environments.

Traditional Computing
Click
[Link] Edit
of ISE As computing matures, the lines separating many of the traditional
computing environments are blurring. Consider the "typical office
environment.“

Just a' few years ago, this environment consisted of PCs connected to a
network, with servers providing file and print services.
Remote access was awkward, and portability was achieved by use of laptop
computers.

Terminals attached to mainframes were prevalent at many companies as


well, with even fewer remote access and portability options.

Client-Server Computing

As PCs have become faster, more powerful, and cheaper, designers have
Click
[Link] Edit
of ISE
shifted away from centralized system architecture. Terminals connected to
centralized systems are now being replaced by PCs.
Correspondingly, user interface functionality once handled directly by the
centralized systems is increasingly being handled by the PCs. As a result,
many of today’s systems act as server systems to satisfy requests
generated by client systems. This form of specialized distributed system,
called client-server system, has the general structure depicted in figure.

Click
[Link] Edit
of ISE
Server systems can be broadly categorized as compute servers and file
servers:

The compute-server system provides an interface to which a client can


send a request to perform an action (for example, read data); in response,
the server executes the action and sends back results to the client.

A server running a database that responds to client requests for data is an


Click
[Link] Edit
of ISE
example of such a system.
The file-server system provides a file-system interface where clients can
create, update, read, and delete files.

An example of such a system is a web server that delivers files to clients


running web browsers

Peer-to-Peer Computing

Click
[Link] Edit
of ISE • Another structure for a distributed system is the peer-to-peer (P2P)
system model. In this model, clients and servers are not distinguished
from one another; instead, all nodes within the system are considered
peers, and each may act as either a client or a server, depending on
whether it is requesting or providing a service.
• Peer-to-peer systems offer an advantage over traditional client-server systems.
In a client-server system, the server is a bottleneck; but in a peer-to-peer
system, services can be provided by several nodes distributed throughout the
network.

• Peer-to-peer networks gained wide spread popularity in the late 1990s with
several file-sharing services, such as Napster and Gnutella, that enable peers to
exchange files with one another.

Web-based computing
Click
[Link] Edit
of ISE
The Web has become ubiquitous, leading to more access by a wider variety of
devices than was dreamt of a few years ago. PCs are still the most prevalent access
devices, with workstations, handheld PDAs, and even cell phones also providing
access.
Web computing has increased the emphasis on networking.

Devices that were not previously networked now include wired or


wireless access. Devices that were networked now have faster network
connectivity, provided by either improved networking technology,
optimized network implementation code, or both.

The implementation of web-based computing has given rise to new


Click
[Link] Edit
of ISE categories of devices, such as load balancers, which distribute network
connections among a pool of similar servers.

You might also like