0% found this document useful (0 votes)
73 views20 pages

Computer System: Computer System Provide A Capability For Gathering Data, Performing Computations

The document discusses computer systems and their components. It states that a computer system consists of hardware, software, and data. The hardware includes the central processing unit, memory, and input/output devices. The software includes operating systems and application programs. The operating system controls and coordinates the use of hardware resources and provides an environment for other programs to operate. It manages computer hardware resources and provides common services for computer programs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views20 pages

Computer System: Computer System Provide A Capability For Gathering Data, Performing Computations

The document discusses computer systems and their components. It states that a computer system consists of hardware, software, and data. The hardware includes the central processing unit, memory, and input/output devices. The software includes operating systems and application programs. The operating system controls and coordinates the use of hardware resources and provides an environment for other programs to operate. It manages computer hardware resources and provides common services for computer programs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

COMPUTER SYSTEM

Computer system provide a capability for gathering data, performing computations,


storing information, communicating with other computer system and generating output. A
computer system can be divided roughly into four components: the hardware, the
operating system, the application programs, and the users (Figure 1.1).

Figure 1-1. A computer system consists of hardware, system programs, and application
programs.

The hardware-the central processing unit (CPU), the memory, and the input/output
devices-provides the basic computing resources. The application programs-such as word
processors, spreadsheets, compilers, and web browsers-define the ways in which these
resources are used to solve the computing problems of the users. The operating system
controls and coordinates the use of the hardware among the various application programs
for the various users.
The components of a computer system are its hardware, software, and data. The
operating system provides the means for the proper use of these resources in the operation
of the computer system. It simply provides an environment within which other programs
can do useful work.
OPERATING SYSTEM
The 1960’s definition of an operating system is “the software that controls the hardware”.

An  operating system (OS) is a collection of software that


manages computer hardware resources and provides common services for computer
programs. Application programs usually require an operating system to function. The
operating system is (usually) that portion of the software that runs in kernel
mode or supervisor mode.

An operating system is a program designed to run other programs on a


computer. A computer’s operating system is its most important program. It is
considered the backbone of a computer, managing both software and hardware
resources.. They also manage files on computer hard drives and control peripherals,
like printers and scanners.

Some examples of operating systems are UNIX, Mach, MS-DOS, MS-


Windows, Windows/NT, Chicago, OS/2, Mac OS, VMS, MVS, and VM.

1 WHAT IS AN OPERATING SYSTEM?

Most computer users have had some experience with an operating system, but it is difficult
to pin down precisely what an operating system is. Part of the problem is that operating
systems perform two basically unrelated functions, extending the machine and managing
resources.

1.1 The Operating System as an Extended Machine

The program that hides the truth about the hardware from the programmer and presents a
nice, simple view of named files that can be read and written is, of course, the operating
system. Just as the operating system shields the programmer from the disk hardware and
presents a simple file-oriented interface, it also conceals a lot of unpleasant business
concerning interrupts, timers, memory management, and other low-level features. In each
case, the abstraction offered by the operating system is simpler and easier to use than that
offered by the underlying hardware.

In this view, the function of the operating system is to present the user
with the equivalent of an extended machine or virtual machine that is easier to program
than the underlying hardware. 
1.2 The Operating System as a Resource Manager

The concept of the operating system as primarily providing its users with a convenient
interface is a top-down view. An alternative, bottom-up, view holds that the operating
system is there to manage all the pieces of a complex system.

In the alternative view, the job of the operating system is to provide for an orderly and
controlled allocation of the processors, memories, and I/O devices among the various
programs competing for them.

Resource management includes multiplexing (sharing) resources in two ways:


in time and in space. When a resource is time multiplexed, different programs or users take
turns using it. First one of them gets to use the resource, then another, and so on..example
of time multiplexing is sharing the printer. When multiple print jobs are queued up for
printing on a single printer, a decision has to be made about which one is to be printed
next.

The other kind of multiplexing is space multiplexing, instead of the customers


taking turns, each one gets part of the resource. For example, Example of space
multiplexed is the (hard) disk. In many systems a single disk can hold files from many users
at the same time. Allocating disk space and keeping track of who is using which disk blocks
is a typical operating system resource management task.
HISTORY OF OPERATING SYSTEMS
1. The First Generation (1945-55) Vacuum Tubes and Plugboards

In these early days, a single group of people designed, built, programmed, operated, and
maintained each machine. All programming was done in absolute machine language, often
by wiring up plugboards to control the machine’s basic functions. Programming languages
were unknown (even assembly language was unknown). Operating systems were unheard
of. The usual made of operation was for the programmer to sign up for a block of time on
the signup sheet on the wall, then come down to the machine room, insert his or her
plugboard into the computer, and spend the next few hours hoping that none of the 20,000
or so vacuum tubes would burn out during the run. Virtually all the problems were
straightforward numerical calculations, such as grinding out tables of sines, cosines, and
logarithms.

By the early 1950s, the routine had improved somewhat with the introduction of
punched cards. It was now possible to write programs on cards and read them in instead of
using plugboards; otherwise, the procedure was the same.

In the first generation of computer human performs the all hardware


resources management to provide output. So human act as an operating system.

Characteristics of First Generation Computers

I. These first generation computers were based on vacuum tube technology.


II. A single computer consisted of thousands of vacuum tubes for building CPU.That’s
why the computer of this generation consumed a lots of electricity and generated
massive amount of heat.
III. Since thousands of vacuum tubes were used, they generated a large amount of heat.
Therefore, air conditioning was essential.
IV. Operating frequency (processing speed) was in a very few kilo hertz.
V. These first generation computers were very large, and required a lot of space for
installation.( Non portable)

VI. A user had to rely on machine language to perform operations. For additional
function manual assembly of components were required.
VII. They lack in versatility and speed.
VIII. Machine language was used for programming.
IX. They were difficult to program and use
X. Acoustic delay lines were used as main memory because of high cost of vacuum
tubes.
XI. Magnetic drum or punch cards were used as secondary storage.
XII. They were used by government for different purposes such as census, defense.
XIII. they were not available for commercial purpose as their cost was very high.
XIV. Input was based on punched cards and paper tape and output was displayed on
printouts.

XV. There was no programmed operating system as operations were to be performed by


human themselves.
UNIVAC, EDVAC, EDSAC and ENIAC  computers are examples of first
generation computing devices.

2. The Second Generation (1955-65) Transistors and Batch Systems

The introduction of the transistor in the mid-1950s changed the picture radically. there
was a clear separation between designers, builders, operators, programmers, and
maintenance personnel. To run a job (i.e., a program or set of programs), a programmer
would first write the program on paper (in FORTRAN or assembler), then punch it on
cards. He would then bring the card deck down to the input room and hand it to one of the
operators and he waits until the output was ready. When the computer finished whatever
job it was currently running, an operator would go over to the printer and later it was
handed to programmer. Much computer time was wasted while operators were walking
around the machine room. The solution generally adopted to reduce the wasted time was
the batch system. The idea behind it was to collect a jobs in the input room and then read
them onto a magnetic tape using a small (relatively) inexpensive computer, such as the IBM
1401, which was very good at reading cards, copying tapes, and printing output, but not at
all good at numerical calculations. Other, much more expensive machines, such as the IBM
7094, were used for the real computing.

The magnetic tape was mounted on a tape drive. The operator then loaded a special
program , which read the first job from tape and ran it. The output was written onto a
second tape, instead of being printed. After each job finished, the operating system
automatically read the next job from the tape and began running it. When the whole batch
was done, the operator removed the input and output tapes, replaced the input tape with
the next batch, and brought the output tape.

Characteristics of Second Generation Computers

I. Second generation computer machines were based on transistor technology so


Second generation computers were smaller as compared to the first generation
computers.
II. Processing speed was in few kilohertz (up to 58 kilohertz).
III. Magnetic core ( ferrite) memory was used as internal storage.
IV. Magnetic tapes/drum/disk was used as secondary storage.
V. They were manufactured for commercial use also. It was used for atomic industry.
VI. Operating system was batch processing.
VII. Second generation computers were more portable and generated less amount of
heat.
VIII. Assembly language and high level language such as COBOL,FORTRAN were used.
Hence, programming became more time-efficient
IX. Second generation computers still require air conditioning.
X. This generation of computer stored their instruction in memory for the first time.
XI. Second generation still relied on punched cards for input and printouts for output
.However ,they had faster I/O than first generation.

IBM 7000, NCR 304, IBM 650, IBM 1401, ATLAS and Mark III are the examples of second
generation computers.

3. The Third Generation (1965-1980) ICs and Multiprogramming

The main development of this generation is ICs and Multiprogramming.


On the 7094, when the current job paused to wait for a tape or other I/O operation to
complete, the CPU simply sat idle until the I/O finished. To solve this problem
multiprogramming was introduced where operating system partition semiconductor
memory into several pieces and loaded different job in its partition.
Fig: multiprogramming

While one job was waiting for I/O to complete, another job could be run ,this gives CPU
busy all the times. Another major feature present in third-generation operating systems
was whenever a running job finished, the operating system could load a new job from the
disk into the now-empty partition and run it. This technique is called spooling (from
Simultaneous Peripheral Operation On Line) and was also used for output. With spooling,
the 1401s were no longer needed, and much carrying of tapes disappeared.

Characteristics of Third Generation Computers

I. Third Generation Computers were based on integrated circuit (IC) technology.


II. Operating speed was in a few megahertz (around 12 MHz).
III. Semiconductor memory was used as primary memory.
IV. Magnetic tapes/disks were used as secondary storage.
V. Third Generation Computers devices consumed less power and generated less heat.
In some cases, air conditioning was still required.
VI. The size of  Third Generation Computers was smaller as compared to previous
computers
VII. Extensive use of high-level language like C became possible in Third Generation
Computers.
VIII. Manual assembling of individual components was not required for Third Generation
Computers, so it reduced the large requirement of labor & cost. However, for the
manufacture of IC chips, highly sophisticated technologies were required
IX. Commercial production became easier and cheaper.
X. Multitasking operating system like UNIX,MULTICS were introduced in this
generation.
XI. Keyboard and video display were introduced as input and out device respectively.

PDP-8, PDP-11, ICL 2900, IBM 360 and IBM 370 are the examples of third
generation computers.

4. The Fourth Generation (1980-Present) Personal Computers

 The microprocessor chip made it possible for a single individual to have his or her own
personal computer. An interesting development that began taking place during the mid-
1980s is the growth of networks of personal computers running network operating
systems and distributed operating systems .In a network operating system, the users are
aware of the existence of multiple computers and can log in to remote machines and copy
files from one machine to another. Each machine runs its own local operating system and
has its own local user (or users). A distributed operating system, in contrast, is one that
appears to its users as a traditional uniprocessor system, even though it is actually
composed of multiple processors. The users should not be aware of where their programs
are being run or where their files are located; that should all be handled automatically and
efficiently by the operating system. User friendly system and real time system was
introduced too .

Characteristics of Fourth Generation Computers

I. Fourth generation computers are microprocessor – based systems.


II. Processing speed is very high, measured in Gigahertz.
III. Magnetic disks and optical disk (CD/DVD) are intensively used. Portable storage
device like pen drive, memory card have been introduced.
IV. Fourth generation computers are portable and quite reliable.
V. The production cost of Fourth generation computers is very low. So that ordinary
people can purchase .
VI. Fourth generation language (4GL) as well as high level language are in massive used.
VII. Graphical User Interface (GUI) operating system such as MS-Windows, MAC OS are
used in this generation.
VIII. Faster I/O devices are introduced; pointing devices such as mouse, joysticks etc are
used.
IX. Multimedia, Networking, Distributed computing are introduced in this generation.
X. Interconnections of computers leads to better communication and resource sharing.
XI. Fourth generation computers are very powerful than previous generations and can
easily do more calculation or can run more programs at a time and for more hours.

Core i7 pc, Apple/Macintosh, Pentium pc are the examples of fourth


generation computers.
Time-Sharing Systems
Time sharing (or multitasking) is a logical extension of multiprogramming. The CPU
executes multiple jobs by switching among them, but the switches occur so frequently that
the users can interact with each program while it is running.

A time-shared operating system allows many users to share the computer simultaneously.
Since each action or command in a time-shared system tends to be short, only a little CPU
time is needed for each user.

A time-shared operating system uses CPU scheduling and multiprogramming to provide


each user with a small portion of a time-shared computer. Each user has at least one
separate program in memory.

Time-sharing operating systems are even more complex than multiprogrammed operating
systems. In both, several jobs must be kept simultaneously in memory, so the system must
have memory management and protection

Time-sharing systems must also provide a file system . The file system resides on a
collection of disks; hence, disk management must be provided .

Time-sharing systems provide a mechanism for concurrent execution, which requires


sophisticated CPU-scheduling schemes.

In time sharing operating system divides the time of CPU and provide the fraction of time
to each process in queue.

The idea of time sharing was demonstrated as early as 1960, but since time-shared systems
are difficult and expensive to build, they did not become common until the early 1970s.

Multiprogramming and time sharing are the central themes of modern operating systems.

Today’s most system are time sharing .for example: XP, window NT, Linux etc.
Real-Time Operating Systems
Another form of a special-purpose operating system is the real-time system. A real-time
system is used when rigid time requirements have been 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.
Systems that control scientific experiments, medical imaging systems, industrial
control systems, and certain display systems are real-time systems. Some automobile-
engine fuel-injection systems, home-appliance controllers, and weapon systems are also
real-time systems.
A real-time system has well-defined, fixed time constraints. Processing must be
done within the defined constraints, or the system will fail. A real-time system functions
correctly only if it returns the correct result within its time constraints.
There are two type of real time system. They are:
1. Hard real time system
2. Soft real time system

1. Hard real time system:


A hard real-time system guarantees that critical tasks be completed on time. This
goal requires that all delays in the system be bounded, from the retrieval of stored data to
the time that it takes the operating system to finish any request made of it. Such time
constraints dictate the facilities that are available in hard real-time systems. In hard real
time system the data are stored in ROM or short term memory. Some important points are:
- Strict timing requirements
- optimized with respect to predictability and timing limits
- does not share critical resources such as CPU
- missing a single dead line cause system failure.
- Examples:
- Life supporting medical equipment
- Industrial control system etc.

2. Soft real time system:


A less restrictive type of real-time system is a soft real-time system, where
a critical real-time task gets priority over other tasks, and retains that priority until it
completes. As in hard real-time systems, the operating-system kernel delays need to be
bounded.
They are risky to use for industrial control and robotics. They are useful, however in
several areas, including multimedia, virtual reality, and advanced scientific projects. These
systems need advanced operating-system features that cannot be supported by hard real-
time systems. Some important points are:
- Relative tolerable timing deadlines.
- Tolerance is define as a part of policy
- Occasional deadline missing may not cause system failure
- Examples:
 Audio processing
 Real-time video processing etc.
Multiprocessor Systems
Multiprocessor systems (also known as parallel systems or tightly coupled systems)
have more than one processor in close communication, sharing the computer bus, the
clock, and sometimes memory and peripheral devices. Multiprocessor systems have three
main advantages.
1. Increased throughput.
An increase in the number of processes completes the work in less time. It is
important to note that doubling the number of processors does not halve the
time to complete a job. It is due to the overhead in communication between
processors and contention for shared resources etc.
2. Reduced Cost:
Multiprocessor systems can save more money than multiple single-
processor systems, because they can share peripherals, mass
storage, and power supplies.

3. Increased reliability.
The failure of one processor does not affect the other processors though it
will slow down the machine. 

Symmetric multiprocessing (SMP):


The most common multiple-processor systems now use symmetric
multiprocessing (SMP), in which each processor runs an identical copy of the operating
system, and these copies communicate with one another as needed.

Asymmetric multiprocessing:
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.
Mainframe Operating Systems

 A mainframe operating system simply is an operating system (OS) on a mainframe


computer, a powerful device used mainly by governments and businesses to process large
amounts of information and support a great number of users.
In the 1950s, before desktop computers and long before laptops, all computing was
done on mainframe computers. These computers could take up a whole room and do less
work than a modern laptop computer. As a matter of fact, early computers were designed
to only do a single job or run a single program. For this reason, they didn’t need
a mainframe operating system.
As computer programs got more complicated and computer hardware less expensive, it
became more effective to build computers that could run more than one type of program.
To enable this, computer engineers had to develop a way that the computer could adapt
itself to a new and different program. From this, the mainframe operating system was
born.

One of the functions of a mainframe operating system in its early days was


reading punch cards. On those computers, not only was there no mouse, there was no
keyboard. All input into the computer came from cards with holes punched in them. The
position of the holes determined the data that was being input. The OS read each of these
cards and translated them into the binary data that the computer understood.
. The operating system takes the number from the input device and hands it off to
the program, which then uses it as needed.
It was in these early days of operating system functionality that aspects that
remained in use into the 21st century were first pioneered. Concepts such as batch
processing, multitasking, buffering and spooling were first introduced
in mainframe operating systems of the 1950s.
Mainframes use Operating Systems like MVS/XA, MVS/ESA, OS/390, VM/ESA and
the latest being z/OS which has functionalities like System Management, Resources
Management, Memory Management, and File Management. The main characteristics of
Mainframe OS are Virtual storage, Multi-programming, Spooling, Batch processing.

 
An example mainframe operating system is OS/390, a descendant of OS/360
Personal Computer (PC) Operating Systems

The personal computer operating system job is to provide a good interface to a single user.
They are widely used for word processing, spreadsheets, and Internet access. Common
examples are Windows 98, Windows 2000, the Macintosh operating system, and Linux.

What is the difference between mainframe Operating system and PC Operating


system?

The only major difference is that a mainframe operating system will probably need to
service many users at the same time, whereas a PC operating system normally only has to
worry about one user at a time. 

There are some differences between personal computer OS and mainframe OS, one of them
a mainframe OS can be used by many users at the same time so it must need to service for
many users. However a personal computer operating system designed for one user
normally. Second of them a mainframe OS is more powerful and expensive than PC OS.
Mainframe OS designed to huge process from many users and it means, it manages lots of
I/O for many users, but in PC OS there is just one user to log in it means, it does not
manages lots of I/O for one user. Mainframe OS offers three kinds of service batch,
transaction processing and timesharing. Personal computer OS used for some basic
processing like word processing, spreadsheets and Internet access that PC OS is supports
multiprogramming. 
SYSTEM CALLS
System calls provide the interface between a process and the operating system.
These calls are generally available as assembly-language instructions, and
they are usually listed in the various manuals used by the assembly-language
Programmers.
Certain systems allow system calls to be made directly from a higher-level
Language program, in which case the calls normally resemble predefined
Function or subroutine calls. They may generate a call to a special run-time
Routine that makes the system call, or the system call may be generated directly
in-line.
Several languages-such as C, C++, and Perl-have been defined to replace
Assembly language for systems programming. These languages allow system
Calls to be made directly. System calls can be grouped roughly into five major categories:
1. Process control,
2. file management,
3. device management,
4. information maintenance, and
5. Communications.

1. Process control
 end, abort
 load, execute
 create process, terminate process
 get process attributes, set process attributes
 wait for time
 wait event, signal event
 allocate and free memory

2. File management
 create file, delete file
 open, close
 read, write, reposition
 get file attributes, set file attributes

3. Device management
 request device, release device
 read, write, reposition
 get device attributes, set device attributes
 logically attach or detach devices
4. Information maintenance
 get time or date, set time or date
 get system data, set system data
 get process, file, or device attributes
 set process, file, or device attributes

5. Communications
 create, delete communication connection
 send, receive messages
 transfer status information
 attach or detach remote devices

A system call is an explicit request to the kernel made via a software interrupt
Control Flow Diagram of a System Call

Fig: system calls flow.

- The arrows denote the execution flow between the functions.


- The terms "SYSCALL" and "SYSEXIT" are placeholders for the actual
assembly language instructions that switch the CPU, respectively,
from User Mode to Kernel Mode and from Kernel Mode to User Mode

1. When a User Mode process invokes a system call, the CPU switches to
Kernel Mode and starts the execution of a kernel function

2. Because the kernel implements many different system calls, the User Mode
process must pass a parameter called the system call number to identify the
required system call.

3. All system calls return an integer value

In the kernel

- positive or 0 values denote a successful termination of the system call


- negative values denote an error condition
3. The system call handler, which has a structure similar to that of the other
exception handlers, performs the following operations:
- Saves the contents of most registers in the Kernel Mode stack.
- Handles the system call by invoking a corresponding C function called
the system call service routine.
-
4. Exits from the handler:
The Shell
The operating system is the code that carries out the system calls. Editors, compilers,
assemblers, linkers, and command interpreters definitely are not part of the operating
system, even though they are important and useful. Although it is not part of the operating
system, it makes heavy use of many operating system features and thus serves as a good
example of how the system calls can be used. It is also the primary interface between a user
sitting at his terminal and the operating system, unless the user is using a graphical user
interface.

When any user logs in, a shell is started up. The shell has the terminal as standard input
and standard output. Many shells exist, including sh, csh, ksh, and bash.  It starts out by
typing the prompt, a character such as a dollar sign, which tells the user that the shell is
waiting to accept a command. If the user now types date

For example, the shell creates a child process and runs the date program as the child.
While the child process is running, the shell waits for it to terminate. When the child
finishes, the shell types the prompt again and tries to read the next input line.

Many pc uses GUI now days in fact GUI is just a program running on top of the
operating system

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy