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
Introduction to Operating Systems Chapter 1 CS4315 A. Berrached:CMS:UHD 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. – Use computer resources in an efficient manner. – Coordinate among the various users and programs that are competing for computing resources. CS4315 A. Berrached:CMS:UHD 2 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. CS4315 A. Berrached:CMS:UHD 3 CS4315 A. Berrached:CMS:UHD 4 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 CS4315 A. Berrached:CMS:UHD 5 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 CS4315 A. Berrached:CMS:UHD 6 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. CS4315 A. Berrached:CMS:UHD 7 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. CS4315 A. Berrached:CMS:UHD 9 Types of Operating Systems • • • • • • Batch processing systems Timesharing systems Personal computer systems Parallel systems Distributed systems Process Control & Real-time systems CS4315 A. Berrached:CMS:UHD 10 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. CS4315 A. Berrached:CMS:UHD 11 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. CS4315 A. Berrached:CMS:UHD 12 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. CS4315 A. Berrached:CMS:UHD 13 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 CS4315 A. Berrached:CMS:UHD 14 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 CS4315 A. Berrached:CMS:UHD 16 – Reliability, Communication