Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
What is an Operating System? Operating System is a Resource Manager. – Handles multiple computer resources: CPU, Internal/External memory, Processes, Tasks, Applications, Users, etc… – Manages and allocates resources to multiple users or multiple jobs running at the same time (e.g., processor time, memory space, I/O devices) – Arranges to use the computer hardware in an efficient manner (maximize throughput, minimize response time) and in a fair manner. It is a Control Program. – Manages all the components of a complex computer system in an integrated manner. – Controls the execution of user programs and I/O devices to prevent errors and improper use of the computer resources. – Looks over and protects the computer. It is an extended/virtual machine An interface between the user and hardware that hides the details of the hardware (e.g., I/O). Constructs higher-level (virtual) resources out of lower-level (physical) resources (e.g., files). Definition: Is a collection of software enhancements, executed on the bare hardware, culminating in a high-level virtual machine that serves as an advanced programming environment [email protected] 1 Why Operating System? Computer hardware is developed to execute user programs and make solving user problems easier. An operating system makes a computer more convenient to use. It acts as an interface between user and computer hardware. Therefore, the end-users are not particularly concerned with the computer’s architecture, and they view the computer system in terms of an application. To programmers, it provides some basic utilities to assist him in creating programs, the management of files, and the control of I/O devices. Operating System Objectives Convenience Makes the computer more convenient to use Efficiency Allows computer system resources to be used in an efficient manner Ability to evolve Permit effective development, testing, and introduction of new system functions without interfering with service Services Provided by Operating Systems Facilities for program creation Editors, compilers, linkers, debuggers, etc. [email protected] 2 Program execution Loading in memory, I/O and file initialization. Access to I/O and files Deals with the specifics of I/O and file formats. System access Resolves conflicts for resource contention. Protection in access to resources and data. Error detection and response internal and external hardware errors memory error device failure software errors arithmetic overflow access forbidden memory locations operating system cannot grant request of application Accounting collect statistics monitor performance used to anticipate future enhancements used for billing users Computer System Components A computer system can be divided in to four components. The Hardware: Provides basic computing resources (CPU, memory, I/O devices). [email protected] 3 The Operating System: Controls and coordinates the use of the hardware among the various application programs for the various users. The Application Programs: Define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). The Users: computers). Users (people, machines, other These components can be viewed as layers, where each layer uses the services provided by the layer beneath it. A Static View of System Components [email protected] 4 Dynamic View of System Components End User Programmer Application Programs Utilities Operating-System OperatingSystem Designer Computer Hardware Another view of computer system components [email protected] 5 History of Operating Systems Let’s see how operating systems evolve over time. This will help us to identify some common features of operating systems and how and why these systems have been developed as they are. Evolution of Operating Systems Early Systems (1950) Simple Batch Systems (1960) Multiprogrammed Batch Systems (1970) Time-Sharing and Real-Time Systems (1970) Personal/Desktop Systems (1980) Multiprocessor Systems (1980) Networked/Distributed Systems (1980) Handheld Systems (1990) [email protected] 6