Unit – I
Operating system is a program which interact between the hardware and application program or we say that o/s is a program which manage complete hardware. It is the most important part of the every computer system. Normally a computer system can be divided into four components :-
(1) Hardware
(2) Operating System
(3) Application Pro.
(4) Users
The Hardware Consisted CPU, memory and Input/Output devices provides the computing resources. Application Program is a way ly which these resources are used to solve the problem of users. O/S Manages the use of H/W among different application program for different users.
We also compare the O/S with government it doesn’t perform the useful function by itself. It Provide and Environment within which other program can do useful work. O/S have two view points :-
(1) User View
(2) System View
User View :-
(1) O/S is designed for case of Use :- These Systems is designed for single user. It is used because of resources maximization which is performed by user. In these system me consider the performance not consider about the resource utilization. So we say that in these System performance is the important factor.
(2) O/S is designed to maximize the resource utilization: - In these system user share resources and may exchange information. In these system all available CPU time, memory and I/O are used efficiently.
(3) O/S is designed to compute h/w individual usability & resource utilization.
System View :-
(1) O/S as a resource Allocate :- A System has many resources hardware and software which may be required to solve a problem like CPU time, memory space file storage space, I/O device and so on. O/S is work as a manager of these resources O/S decided that how to allocate these resources to specific programs and users. So that it can operate the computer system efficiently.
(2) O/S as a Controller of a Program :- It manage the execution of user program to present errors and improper use of computer.
the main goal of the computer system is to execute user programs and to solve the user problems easily. For this goal computer hardware is contracted.
Operating System is one program running at all times on the computer with all computer programs.
System Goals :-
(1) User Convenience :- O/S is mainly designed to compute the problems easily.
(2) Efficiency :- The second important goal of o/s is to perform the efficient operation. This is considered when large, shared and multi-user system is used. For the convenience the user friendly or the GUI (Graphical User Interface) were added.
Types of Systems
(1) Batch Systems :- In the early computers the common input devices were card readers and tape drives. The output devices were printer, tape drive and card punches. In these system user didn’t interact directly with the computer systems.
User Prepare a job in the form of program data & some control information and submitted it to the computer Operator. These jobs are in the form of punch cards & Letters on the result of the program in displayed. In the early computer the major task of the operating system is to transfer the control automatically from one job to the next.
Operator make the batch of similar type of job to speed up the processing. The main problem of these system is most of the time the CPU is idle.
(2) Multi programmed Systems :- The main advantage of the multiprogramming system is to increase the CPU Utilization and every time CPU execute a job.
All the jobs which require the CPU execution are kept in the job pool. The O/S picks the specific job and execute it in the memory. When the job executes completely CPU Switch to the Another job.
Multiprogramming Concept in the just like the lawyer which does not work for only one client at a time. Multiprogramming is the first instance where the o/s must make decision for the users. All the jobs that are enter the system are kept in the job pool. If several jobs are real to the brought in memory then the system must choose among them. This decision is called job scheduling. If several jobs are ready to run at the same time the system must choose among them. This decision is called CPU scheduling.
(3) Time Sharing System :-Both the above system provide the resource utilization but doesn’t provide the user interaction with computer. So the another logical extension is consider which in called time sharing. In this concept CPU execute multiple job by switching among them.
Time shared o/s allows many users to share the computer simultaneously. Each job execute in the CPU for little time. CPU rapidly switches to one user to another. So we say that time shared operating system uses CPU Scheduling. A program loaded into memory and execute it is known as process.
Time sharing o/s is more complex than multiprogramming o/s. In both, several jobs are kept simultaneously in memory, so the system must have memory management and protection.
Time sharing also provide disk management and concurrent execution.
(4) Desktop System :- The main goal of these o/s is changed with time. These system maximize the user convenience and responsiveness. These are neither multi-user nor multi tasking.
These systems are able to adapt the technology develop for larger operating system. H/W cost of these computer are low and CPU utilization is not the prime concern.
(5) Multi Processor System :-These systems have more than one processor, for communication they share the computer bus clock, memory and peripheral devices. These systems have three advantages :-
(1) It increase throughput :- In a specific time how much processes are execute is called throughput.
We hope that when the processors are increases then process execution time is less. But the speed up ratio with N Processors is not N.
(2) Increased Reliability :-In the Multi Processor systems all the work is distributed properly to all the processors. If any failure is occur in the network these processor doesn’t halt the system only slow the speed.
Multiprocessor Systems are further divided into two parts :-
(1) Symmetric Multi Processing
(2) Asymmetric Multi Processing
(1) Symmetric Multi Processing :- In this each processor runs and identical copy of the operating system and these copies communicate with one another when needed
(2) Asymmetric Multi processing :- In this each processor perform a specific work. Master processor control the system and the other processor work as per instruction of master. This scheme is also called master save relationship
(6) Distributed Systems :-Network is path where two or more systems are communicate. Networks are based on the distances between their nodes. They are divide into 4 parts :-
(1) LAN
(2) WAN
(3) MAN
(4) SAN (Small Area Network)
These Network are very by their performance and reliability.
Client-Server System :- These are also called centralized system. Centralized system act as as server systems to satisfy request generate by client systems.
Server system is divided into two parts :-
(1) Compute Server Systems :-
(2) File Server Systems
Peer to peer systems:- When any computer system in a network is directly connected to each other for communication is called peer to peer system.
Clustered Systems :- Clustered system is grouped together multiple CPU to accomplish computational work are divided provides high availability. Cluster system are divided into too parts :-
(1) Asymmetric clustering
(2) Symmetring clustering
In Asymmetric clustering the machine is running application in a active mode. If that server fails the stand by host becomes the active server.
In symmertic mode too or more host are running applications and they are monitoring each other. this mode is more efficient and use all available hardware.
(7) Real Time Systems :- In these systems computer must analyre the data and and possibly adgust control to modify. The sensor input. Systems that control scientific experiments, medical imaging system are know as real time systems.
Real time systems are the time defined constraints. Processing must be done in the defined constraints or the system will fail.
Real time systems are divided into two parts :-
(1) Hard Real Time System
(2) Soft Real time System
Hard Real Time system guarantees that critical task be completed on time. In these system all the delays must be bounded.
Soft Real Time systems perform the task on the priority basis. Real time task gets priority over other task and retains that priority until it completes.
(8) Hand held Systems :-
(1) These systems include the PDA’s (Personal digital assistants, like palm pilots or cellular phone etc. with connectivity to network.
(2) These system have small amount of memory, include slow processors and small display screens.
(3) To include the fast processor in hand held device we would require a large battery that have to be replaced frequently.
(4) Hand held devices may also use wireless technology like blue tooth etc.
System Components
We can Create a System as large and complex as an os only by partitioning. it into smaller pieces. These are known as system components :-
(1) Process Management :- When Program is in execution then it is called process for example :- compiler is a process.
Every process needs some resources like CPU time, Memory, files, I/O devices etc. These Resources are given to the process when it is created.
For example we consider a process whose function is to display the status of a file on the screen of a terminate the process will be given as an input the name of the file and execute the process. In its execution it performs or execute different instruction and system calls.
A Program is a passive entity like file stored on disk, where a process is an active entity. Program counter specify the next instruction to execute. Process Execution must he sequential.
A Process in unit of work in a system. These system consist the collection of process O/S is reponsible for the following activities :-
(1) Creating and deleting both user and system process
(2) Suspending and deleting both user and system process
(3) Provide mechanism of process synchronization
(4) Process communication
(5) Dead lock handling.
Main Memory Management
The main part of the operating System is main memory. Main Memory is large array of words. It is a large storage from where CPU & I/O devices share the data and access it. CPU read the instruction one by one from the main memory and made operation each word in a main memory has its own address. Main memory is a large storage device that the CPU is able to address and access directly.
For example :- For the CPU to process data from disk, those data must be transferred to main memory by I/O calls.
Selection of a memory management scheme for a specific system depends on many factor. Mostly it depends on hardware design of a system.
O/s is responsible for different memory mgmt.
Activities :-
(1) Keep the track of the memory parts when are currently used and by who.
(2) Decide which process is to be loaded in memory.
(3) When the main memory space is available
(4) Allocate & De Allocate the memory space.
File Management
Computer store the information in the different types of physical media. Like magnetic tape, disk etc. Each media has to own physical organization.
A file is a collection of related information depend by its creator. File represent the programs and data. Data file may be alphabetic or numeric. File storage media and define the concept of file.
O/s is responsible for different file management activities :-
(1) Create & Delete File
(2) Create & Delete directory
(3) Primitive for file and directly manipulation
(4) map file onto secondary storage.
(5) Back up file on stable storage.
I/O System Management
the main of the o/s is to hide the H/W devices to the user. The I/O system consist of :-
(1) Memory Management component which include buffing caching and spooling.
(2) Device Driver Interface
(3) Driver for H/S devices.
Secondary Storage Management
The main purpose of the computer system is to execute programs. At first the program is loaded into primary memory during execution. The main disadvantage of main memory is that it hold data are loast when power is lost. Soc Computer System must provide secondary storage to back up main memory. for the online storage medium we use disks. for the program data storage. The main aim of the computer system is to make the proper management of the disk.
O/S is responsible for different disk management activities :-
(1) Free space Management
(2) Storage Allocation
(3) Disk Scheduling
Main-Memory Management
Main Memory is a large array of words, ranging in size from hundreds of thousands to billions. Each word or byte shared by the CPU and I/O devices. The central processor reads instructions from main memory during the instruction-fetch cycle, generally the only large storage device that the CPU is able to address and access directly. For example, for the CPU to process data from disk, those data must first the transferred to main memory by CPU-generated I/O calls. Selection of a memory-management scheme for a specific system depends on many factors-especially on the hardware design of the system.
File Management
Computers can store information on several different types of physical media. Magnetic tape, magnetic disk, and optical disk physical organization. A file is a collection of related information defined by its creator. Commonly, files represent programs and data. File Consists of a sequence of bits, bytes, lines, or records whose meanings are defined by their creators of bits, lines or records whose meanings are defined by their creators. The Operating System file by managing mass storage media, such the devices that control them. Files are normally organized into directories to ease their use. When multiple users have access to files, we any want to control by whom and in what ways.
Secondary-Storage Management
The main purpose of a computer system is to execute programs. These programs in main memory, or primary storage, main memory is too small to accommodate all data and programs, the data that it holds are lost when power is lost, the computer system must provide secondary storage to back up main memory. Computer systems use disks as the principle on-line storage medium, for both programs and data. the proper management of disk storage is of central importance to a computer system.
Networking
A distributed system is a collection of processors that do not share memory, peripheral devices, or a clock. Processor has its own local memory and clock, and the processors communicate another through various communication lines. The Processors in a distributed system vary in size and function.
The Processors in the system are connected through a communication network, which can be configured in a number of different ways. The network may be fully or partially connected.
Protection System
Computer System has multiple users and allows the concurrent execution of multiple processes, the various processes must be protected from one another’s activities. For that purpose, mechanisms ensure that the files, memory segments, CPU, and other resources can be operated on by only those processes that have gained proper authorization from the operating system. Device Control registers are not accessible to users, the integrity of the various peripheral devices is protected. Protection is any mechanism controlling the access of programs, processes, or users to the resources defined by a computer system main for specification of the controls to be imposed and means for enforcement. Protection can improve reliability by detecting latent errors at the interfaces between component subsystems. Early detection of interface errors can often prevent contamination. A protection-oriented system provides a mean to distinguish between authorized and unauthorized usage.
Command-Interpreter System
The most important program for an operating system is the command interpreter, which is the interface between the user and the operating system. Ms-Dos and UNIX, treat the command interpreter as a special program that is running when a job is initiated, or when a user first logs on. Many Commands are given in a batch system be control statements. When a new job is started in a batch system, or when user logs on to a time-shared system, a program that reads and interprets control statements is executed automatically. This program is sometimes called the control-card interpreter or the command-line interpreter, often known as the shell. User-friendly command interpreter make the system more reliable.
Operating System Services:-
An operating system provides an environment for the program execution. It provide the different services to programs and users. The operating system services are provided for the convenience for the user and make the programming task easier. The common operating system services are as follows: -
1). Program Execution: - The operating system is responsible for the program execution. It loads the program into main memory and run it. It must be able to terminate the program normally or abnormally.
2). Input/Output Operations: - Any program required the input and output. This input output includes the file or an input/output device. So the operating system defines the input/output for the specific program.
3). File System Manipulation: - Any program is stored in the form of file. So the O/S is responsible for the creating, deleting, reading and writing of file.
4). Communications: - In many cases one process needs to exchange information with another process. This communication is processed in two ways: -
1. When two processes are executing in same computer.
2. When two processes are executing on different computer that are tied together by the network.
The communication is normally performed by the concept of message passing or the shared memory in which the packet information is moved between the processes.
5). Error Detection: - Operating system is also aware of errors. Errors may be occurred in the CPU and memory hardware in I/O devices. For any type of error the operating system take the accurate action to make the correct and consistent computing.
System Calls
System calls provide the interface between a process and the operating system. System calls to be made directly from a higher level language program. System calls for modern Microsoft Windows platforms are part of the Win32 application programmer interface (API), which is available for use by all the compilers written for Microsoft Windows. Consider writing a simple program to read data from one file and to copy them to another file. the first input that the program will need is the names of the two files: the input file and the output file. Once the two file are obtained, the program must open the input file and create the output file. these operations requires another system call and may encounter possible error conditions. open the input file, it may file that no file of the name exists or that the file is protected against access. The Program should print a message on the console and then terminate abnormally input file exists, then create a new output file. We may find on output file with the same name. Both files are set up, we enter a loop that reads from the input file and writes to the output file read and write must return status information regarding various possible error conditions. on input end of the file has been reached, hardware failure occurred in the read after the entire file is copied, the program may close both files, write a message to the console finally terminate normally. System calls occur in different ways, depending on the computer in use. System calls cab be grouped roughly into five major categories: process control, file management, device management, information maintenance and communications.
No comments:
Post a Comment