Académique Documents
Professionnel Documents
Culture Documents
For large systems, the operating system has even greater responsibilities and powers. It makes sure those different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Handheld computer operating system is designed to provide an environment in which a user can easily interface with the
computer to execute programs. Thus, some operating systems are designed to be convenient, others to be efficient, and others combination of the two. Modern general-purpose computers, including personal computers and mainframes, have an operating system to run other programs, such as application software. Examples of operating systems for personal computers include Microsoft Windows, Mac OS, UNIX, and Linux.
The hardware, central processing unit (CPU), memory, and the input/output (I/O) devices provide the basic computing resources. The application program such as word processors, spreadsheets, compilers, and web browsers-defines the ways in which these resources are used to solve the computing problems of the user. The operating system controls and co-ordinates the use of the hardware among the various application programs for the various users.
In First Generation
Computers with Vacuum tubes and plug boards were evolved. In these days a single group of people designed, built, programmed, operated and maintained each machine. Programming was done in Machine Language. The first computers did not have operating systems. In the early 1950s, a computer could execute only one program at a time. Each user had sole use of the computer and would arrive at a scheduled time with program and data on punched paper cards and tape. The program would be loaded into the machine, and the machine would be set to work until the program completed or crashed.
Integrated Chips
and Multiprogramming In this generation, Integrated circuits were used, providing a major price/performance advantage over second generation machines, which were built up from individual transistors. Concept of Multiprogramming was introduced. When the current job was to wait for a tape or other Input / Output operation to complete the Central Processing Unit simply sat idle until the Input / Output finished. As the Central Processing Unit time is very precious this wasted time is not significant.
1.2.4
Fourth
Generation
(1980-present):-
Personal
Computers With the development of LSI (Large Scale Integration) circuits, chips containing thousands of transistors in a square centimeter of silicon, the age of personal computers dawned. Personal Computers are not that different from mini computers. The most powerful Personal Computers used by business, universities and government installations are usually called Work Stations (Large Personal Computers). Usually they are connected together by hardware.
operating system is the program that controls all the other parts of a computer system both the hardware and the software. There are many important reasons for studying operating systems. User interacts with the computer through operating system in order to accomplish his task since it is his primary interface with a computer. It helps user to understand the inner function of a computer very closely. Many concepts and techniques found in operating system have general applicability in other applications.
Resource Manager
operation. Operating system takes care of details so, the programmers can think in terms of simple read and writes. System Access: Operating System controls access to the system as a whole and to specific system resources. Error detection and response: Variety of errors can occur which a computer system is running, i.e., internal and external hardware errors, such as memory error, device failure error, various software errors, inability of Operating System to grant request of an application errors and so on. Accounting: A good Operating System collects usage statistics for various resources and monitors performance parameters such as response time, which can be used for billing purposes on a multiuser system.
It is somewhat more general term than job. Process is a program that is in execution. Three major lines of computer
1.8.1 Process:
system development created problems in timing and synchronization that contributed to the development of the concept of the process. The design of system software to co-ordinate the various activities turned out to be difficult. With many jobs in progress at any one time, each of which involved numerous steps to be performed in sequence, it became impossible to analyze all the possible combination of sequences of events. So many errors were detected which were difficult to diagnose because they needed to be distinguished from application software errors and hardware errors. To tackle these problems, it is required to monitor and control the various programs executing on the Processor in a systematic way. The concept of process provides the foundation process consists of the following three components. An executable program The associated data needed by the program Execution context of program
1.8.1.1 Execution
context includes the information that the Operating System needs to manage the process and that the processor needs to properly execute the process. If two processes A and B exist in a portion of the main memory, each process is Recorded in process list, which is maintained by Operating System. Process index register contain the index in to the process list of the process currently controlling the processor, Program counter points to the next instruction in that process to be executed. Base and limit register defines the region in memory occupied by the process. Thus process is realized as a data structure. A process can either be executing or Awaiting execution. The entire state of process is contained in its context.
Users need a computing environment that supports the flexible use of data, efficient and orderly
control of storage allocation. An Operating System, to satisfy these Requirements has five principal storage management responsibilities as follows: Process Isolation: Operating System must prevent independent process from interfacing with data and memory of each other. Automatic Allocation and Management : Programs should be dynamically allocated memory across the memory is required. Operating System can achieve efficiency by assigning memory to jobs only as needed. Support of Modular Programming : Programmers should be able to define program modules and to create, destroy and alter the size of modules dynamically. Protection and Access Control: Sharing of memory at any level of memory Hierarchy. Operating System must allow portions of memory to be accessible in various ways by various users. Long term storage: Many users and application require means for storing information for extended periods. Operating Systems meet these requirements with the concept of Virtual Memory and file system facilities. Virtual Memory is a facility that allows program to address memory from a logical point of view without regard to the amount of main memory Physically available.
Controlled information dissemination : In some systems, security classes are defined to enforce a particular dissemination policy. Users and applications are given security clearances of a certain level, whereas data and other resources (e.g., I/O devices) are given security classifications. Access Control : Is concerned with regulating user access to the total system, sub systems, and data, and regulating process access to various resources and objects within the system. Information flow control: Regulates the flow of data within the system and its delivery to users.
the use of an I/O device, the operating system may wish to schedule that process for execution as soon as possible to free up the device for later demands from other processes. Efficiency : Within the constraints of fairness and efficiency, the operating system should attempt to maximize throughput, minimize response time, and in the case of time sharing, accommodate as many users as possible
2.1.1 Serial processing:The process of development and preparation of a program in such environment is slow and cumbersome due to serial processing and numerous manual processing. In a typical sequence first the editor is called to create a source code of user program written in programming language, translator is called to covert a source code into binary code and then finally loader is called to load executable program into main memory for execution. If syntax errors are detected, the whole process must be restarted from the beginning.
overcome this idle time, a small program called a resident monitor was created which is always resident in the memory. It automatically sequenced one job to another job. Resident monitor acts according to the directives given by a programmer through control cards which contain information like marking of jobs beginning and endings, commands for loading and executing programs etc. These commands belong to job control language.
2.1.3 Multiprogramming
A single user cannot always keep CPU or I/O device busy at all. Multiprogramming offers a more efficient approach to increase system performance. System supporting multiprogramming approach allows more than utilization. More number of programs competing for system resources better will be resource utilization. Multiprogramming has been employed to increase the resource utilization of a computer system and to support multiple simultaneous interactive users (terminals).
2.2 Types of operating system: Operating system can be classified into following types based on number of users using the same system simultaneously.
This is the type of operating system most people use on their desktop and laptop computers today. Windows 98 and the Mac O.S. are both examples of an operating system that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message.
are available may be just as catastrophic as having it not move at all because the system is busy.
2.2.5 Batch
This strategy involves reading a series of jobs (called a batch) into the machine and then executing the programs for each job in the batch. This approach does not allow users to interact with programs while they operate.
2.2.6 Timesharing
This strategy supports multiple interactive users. Rather than preparing a job for execution ahead of time, users establish an interactive session with the computer and then provide commands, programs and data, as they are needed during the session.
3.1 Introduction
An operating system executes a variety of programs, Batch system jobs, Time-shared systems, user programs or tasks. Textbook uses the terms job and process almost interchangeably. Process a program in execution; process execution must progress in sequential fashion. A process includes: program counter, stack, and data section etc.
counter and the processors registers. Two processes may be associated with same program. The operating system is responsible for managing all the processes that are running on a computer and allocated each process a certain amount of time to use the processor. To keep track of the state of all the processes, the operating system maintains a table known as the process table. Inside this table, every process is listed along with the resources the processes are using and the current state of the process. Processes can be in one of three states: running, ready, or waiting. The running state means that the process has all the resources it need for execution and it has been given permission by the operating system to use the processor. Only one process can be in the running state at any given time. The remaining processes are either in a waiting state (i.e., waiting for some external event to occur such as user input or a disk access) or a ready state (i.e., waiting for permission to use the processor). In a real operating system, the waiting and ready states are implemented as queues, which hold the processes in these states.
CPU scheduling is the basis of multi-programmed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. The main function of process scheduling is to schedule the process in such a way that none of the resource is wasted.
Memory management strategies like paging and segmentation help implement the concept of multiprogramming. But they have a few disadvantages. One problem with the above strategies is that they require the entire process to be in main memory before execution can begin. Another disadvantage is the limitation on the size of the process. Processes whose memory requirement is larger than the maximum size of the memory available will never be execute. Virtual memory is a technique that allows execution of processes that may not be entirely in memory. Also virtual memory allows mapping of a large virtual address space onto a smaller physical memory. It also raises the degree of multiprogramming and increases CPU utilization. Because of the above features, users are freed from worrying about memory requirements and availability.
All the examples show that a program can be executed even though it is partially in memory. This scheme also has the following benefits: Physical memory is no longer a constraint for programs and therefore users can write large programs and execute them Physical memory required for a program is less. Hence degree of multiprogramming can be increased because of which utilization and throughput increase. I/O time needed for load / swap is less.
5.0 CONCLUSION
An operating system (OS) is software that runs on computers and manages the computer hardware and provides common services for efficient execution. It acts as an interface between hardware and software applications. Operating system is designed to provide an environment in which a user can easily interface with computer to execute programs. Operating system consists of graphical user interface (GUI). The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Thus, some operating systems are designed to be convenient, others to be efficient, and others combination of the two.