240 likes | 565 Views
Chapter 1. Dr. Amjad Ali & Yella Mehrooz. Introduction. What is an Operating System?. A program that acts as an intermediary between a computer user and the computer hardware High level interface between user and machine Operating system goals: Execute users programs
E N D
Chapter 1 Dr. Amjad Ali & YellaMehrooz Introduction
What is an Operating System? A program that acts as an intermediary between a computer user and the computer hardware High level interface between user and machine Operating system goals: Execute users programs Make the computer system (i.e., hardware) convenient and efficient to use
Computer System Structure Computer system can be divided into four components: Hardware Provides the basic computing resources for the system CPU, memory, I/O devices Operating system Controls the hardware and coordinates its use among the various applications programs for the various users Application programs Define the ways in which the system resources are used to solve users computing problems Word processors, compilers, web browsers, database systems, video games Users People, machines, other computers
Operating System Views • To understand more operating system’s role, we explore the operating system from two viewpoints • User view • System view • User View • Ease of Use • Don’t care about resource utilization • System view • From the computer's point of view, the operating system is the program that is most intimate with the hardware. We can view an operating system as • Resource allocator • Control program
Operating System (OS) Definition OS is a resource allocator Manages all resources Decides between conflicting requests for efficient and fair resource utilization OS is a control program Controls the execution of the programs to prevent errors and improper use of the computer hardware “The one program running at all times on the computer” is the kernel.Everything else is either a system program or an application program.
Computer Startup • Bootstrap program is loaded at power-up or reboot • Typically stored in ROM or EEPROM, generally known as firmware • Initializes all aspects of system • Loads operating system kernel and starts execution
Computer System Organization • Computer-system operation • One or more CPUs and device controllers connected through common bus providing access to the shared memory • Concurrent execution of CPUs and devices competing for memory access
Computer-System Operation • I/O devices and the CPU can execute concurrently • Each device controller is in-charge of a particular device type • Each device controller has a local buffer • CPU moves data from/to main memory to/from local buffers • I/O is from the device to local buffer of controller • Device controller informs CPU that it has finished its operation by causing an interrupt
Interrupt Handling • The operating system preserves the state of the CPU by storing registers and the program counter • Determines which type of interrupt has occurred: • Separate segments of code determine what action should be taken for each type of interrupt
Common Functions of Interrupts • Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines • Interrupt architecture must save the address of the interrupted instruction • A trap is a software-generated interrupt caused either by an error or a user request • An operating system is interrupt driven
Evolution of Operating Systems • Early Systems (1950) • Simple Batch Systems (1960) • Multi-programmed Batch Systems (1970) • Time-Sharing and Real-Time Systems (1970) • Personal/Desktop Systems (1980) • Multiprocessor Systems (1980) • Networked/Distributed Systems (1980) • Handheld (1990)
Types of Operating Systems • Within the broad family of operating systems, following are few well known OS’s • Real time Operating System (RTOS) • Single User, single task OS • Single User, Multitasking OS • Multiuser OS • Distributed OS • Embedded OS • Mobile OS • Batch OS.
RTOS • RTOS are used to control machinery, scientific instruments and industrial systems • The main objective of real-time operating systems is their quick and predictable response to events. • It is a multitasking operating system. • An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use (e. g., HDTV receiver and display)
Single User, Single Task • This type of operating systems are designed to manage the computer so that one user can effectively do one thing at a time. • The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system (e.g., PDA and MS-DOS)
Single User, Multitask • This type of operating systems are mostly used in desktop or/and laptop computers today. • Microsoft's Windows and Apple's Mac OS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time.
Multi-user OS • A multi-user operating system allows many different users to use computer's resources simultaneously. • Various users should be balanced, and that each of the programs they are using/executing has sufficient and separate resources. • For example Unix, VMS and mainframe operating systems, are examples of multi-user operating systems.
Distributed OS • An operating system that manages a group of independent computers and makes them appear to be a single computer is known as a distributed operating system. • The development of networked computers that could be linked and made to communicate with each other, gave rise to distributed computing. • Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.
Embedded system • They are designed to operate on small machines like PDAs with less autonomy. • They are able to operate with a limited number of resources. • They are very compact and extremely efficient by design. • Windows CE, FreeBSD and Minix3 are some examples of embedded operating systems.
Mobile OS • A mobile OS controls a mobile device and its design to supports wireless communication and mobile applications. • It has built-in support for mobile multimedia formats. Tablet PCs and smart phones run on mobile operating systems.
Batch OS • The users of batch operating system do not interact with the computer directly. • Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. .