140 likes | 160 Views
Introduction to Operating Systems. Chapter 1. What is an Operating System?. A program or collection of programs that act as intermediary between the user of a computer and the computer hardware. Operating system goals: Make the computer convenient to use.
E N D
Introduction to Operating Systems Chapter 1 A. Berrached:CMS:UHD
What is an Operating System? • A program or collection of programs that act as intermediary between the user of a computer and the computer hardware. • Operating system goals: • Make the computer convenient to use. • Use computer resources in an efficient manner. • Coordinate among the various users and programs that are competing for computing resources. A. Berrached:CMS:UHD
Computer system Components 1. Hardware – provides basic computing resources (CPU, memory, I/O devices). 2. Operating system 3. System & Applications 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). 4. Users – people, machines, other computers, or programs written by the end-user. A. Berrached:CMS:UHD
Operating System Definition • OS provides an interface between the computer hardware and users, applications and system software. • OS manages computer resources. • OS controls and coordinates the use of the computing resources among the various users/programs: • resource sharing among computer users/programs • protect users from each others A. Berrached:CMS:UHD
What are Computing Resources? • A process: an executing program • A resource: Anything that is needed for a process to run • Memory space • Disk Space • The CPU • I/O devices • at a more abstract level-- Data A. Berrached:CMS:UHD
Resource Sharing • Space vs time multiplexed sharing • space multiplexed: resource is divided into distinct units. Units are allocated simultaneously to different processes. • Time multiplexed: Several processes take turn using a resource. • E.g. In a uniprocessor system, the processor is switched among several processes. In each turn, each process perform part of its computing task. This gives the users the illusion of simultaneous execution ==> that’s how concurrency is achieved. A. Berrached:CMS:UHD
Multiprogramming • Technique for allowing more that one program to run simultaneously • Typically, a process consists of a sequence of CPU computations and I/O operations. • A process may be blocked waiting for I/O operation • While one process is blocked, another should be able to run • Reduced time to run all processes. A. Berrached:CMS:UHD
Types of Operating Systems • Batch processing systems • Timesharing systems • Personal computer systems • Parallel systems • Distributed systems • Process Control & Real-time systems A. Berrached:CMS:UHD
Batch processing systems • The first multiprogramming systems of the 1960’s • Computers did not have interactive capabilities. • A batch job is collection of OS commands that are executed without any interaction with the user. • A job is prepared offline (a deck of punched cards) • Batch of jobs given to OS at one time. • OS optimizes resource utilization & throughput. • This was the first step in allowing multiple users to share a machine. • No real-time interaction between users and computer. A. Berrached:CMS:UHD
Timesharing systems • Uses multiprogramming • Supports interactive computing model: when the OS finishes execution of one command, it seeks the next command from the user keyboard. • The CPU is multiplexed among several “jobs” that are kept in memory and on disk. • User-centered: a user may run one or more processes ==> Multitasking • Tend to optimize response time. • Different scheduling & memory allocation strategies than batch. Security and protection. A. Berrached:CMS:UHD
Real-time Systems • Often used as a control device in dedicated applications such as controlling scientific experiments, medical imaging systems, industrial control systems, etc. • Computer is dedicated to a single purpose. • Must respond to external stimuli in fixed time, by specific deadline. • Hard real-time systems • No secondary storage. Data is stored in ROM • Used in such applications as industrial control systems • Soft real-time systems • Use in such applications as multimedia & virtual reality. • Area of growing interest. A. Berrached:CMS:UHD
Personal Computers • Computer system dedicated to a single user. CPU shared among one user’s processes • Power of computing for personal tasks • Graphics • Multimedia • Optimize user convenience and responsiveness. • Networking also becomes important • sharing, security & protection • Can adopt technology developed for larger operating systems A. Berrached:CMS:UHD
Distributed Systems • Distribute the computation among several physical processors. • Multiprocessor system: Tightly coupled systems – processors share memory and a clock; communication usually takes place through the shared memory. • Loosely coupled systems – each processor has its own local memory; processors communicate with one another through various communication lines • Advantages of distributed systems: • Resource sharing, Computation speed up • Reliability, Communication A. Berrached:CMS:UHD