140 likes | 163 Views
This chapter defines operating systems as the intermediary between computer users and hardware, emphasizing resource management and user coordination. It explores computing resources, resource sharing techniques, and types of operating systems including batch processing, timesharing, real-time, and distributed systems.
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