200 likes | 616 Views
Operating System Fundamentals. C ontents. What is an Operating System ? Operating System Objectives Services Provided by the Operating System Functions of an Operating System on a Network Types of Operating Systems Simple Batch Systems Multi-programmed Batched Systems Time-Sharing Systems
E N D
Contents • What is an Operating System? • Operating System Objectives • Services Provided by the Operating System • Functions of an Operating System on a Network • Types of Operating Systems • Simple Batch Systems • Multi-programmed Batched Systems • Time-Sharing Systems • Personal-Computer Systems • Parallel Systems • Distributed Systems • Real-Time Systems
What is an Operating System? A software that controls the hardware. Processors, storage, input/output devices, communication devices and data. A software that manages the hardware. A software that acts as a resources allocator. back
How Can We Define Operating System? Operating System (OS) is a program that controls the execution of application programs. It is also defined as being the mean through which controlling of allocation and usage of hardware resources and coordinating of all software activities within a computer is done.
Operating System Objectives • Convenience: • Makes the computer more convenient to use. • Ease of Communication: • Between Computer and user through a friendly user interface. • Among system components. • Abstraction: • Hardware-independent programming model. • Efficiency: • Allows computer system resources to be used in an efficient manner.
Operating System Objectives (cont’d) • Monitoring and Alerting: • Monitors and alerts failures and problems. • Ability to Evolve: • Permit effective development, testing, and introduction of new system functions without interfering with the services. • Protection: • A layer of security is to be added to ensure that a certain level of security is maintained to protect user’s data. • Increasing performance: • Maximizing the throughput and Minimizing time needed to execute command. back
Services Provided by the Operating System • Program development: Such as editors and debuggers. • Program execution: • Load program and data, initialize environment. • Access to I/O devices: • Attempt to read from and write to the ports and units. • Controlled access to data: Access protection. • System access: User authentication.
Services Provided by the Operating System (cont’d) • Error detection and response: • In case of error occurring, an error message should be displayed. • Internal and external hardware errors: • Memory error. • Device failure. • Software errors: • Arithmetic overflow. • Access forbidden memory locations.
Services Provided by the Operating System (cont’d) • Accounting: • Collect statistics. • Monitor performance. • Is used to anticipate future enhancements? • Is usedfor billing users? back
Functions of an Operating System on a Network • Sharing H/W among users. • Allowing users to share data. • Preventing users from interfering with one another. • Scheduling resources among users. • Organizing data for secure and rapid access. • Handling network communications. back
Types of Operating Systems • Simple Batch Systems • Multi-programmed Batched Systems • Time-Sharing Systems • Personal-Computer Systems • Parallel Systems • Distributed Systems • Real-Time Systems • Handheld systems back
Simple Batch System • Runs only one job at a time. • Smoothed transition between jobs to get maximum utilization. • Programs/data submitted in groups or batches. back
Multi-programmed Batch System • Uses job scheduling to increase resources utilization. • Stores more than one program in memory. • Based on the fact that any one job rarely utilizes all computer resources. • When one job is waiting for an I/O, other can use CPU and/or any other I/O. back
Time Sharing System • Uses time sharing to switch between multiple jobs. • Interactive. Provides a low response time to users. • Developed to large numbers of simultaneously interactive users. • A program shares in time only if it exists in memory. back
Personal System (Desktop) • Every user has his own memory, processors, and I/O devices. • Became possible after investing micro- processors. • Computing may be distributed to the sites rather than central place. • Data may be shared among users through networks. back
Distributed System • Computers that communicate using a network: WAN (Wide area network) or LAN (Local area network), i.e. independent computers that works as a single system. • Client-Server: A client is a computer that needs service. A server is a S/W or a H/W that do a single service (Printing, graphics, DB, e-mail). • Peer-To-Peer: Decentralized computers provide services to peers. • Incremental growth. back
Parallel System • A computer contains two or more CPUs that share a common bus. • A job Should be split to discrete (independent) small jobs. • Exponential speed up in computation needs exponential increase in the number of processors. back
Real-time System • Often used as a control device in a dedicated application such as: a. Controlling scientific experiments, b. Medical imaging systems, c. Industrial control systems. • Well-defined fixed-time constraints. • Real-time system may be either hard or soft system back