References A. Silberschatz, P. B. Galvin, and G. Gagne, “Operating Systems Concepts (with Java)”, 8th Edition, John Wiley & Sons, A. Frank - P. Weisberg
References A. S. Tanenbaum, “Modern Operating Systems”, 3rd Edition, Prentice-Hall Intl., oduct/0,, ,00%2b en-USS_01DBC.html oduct/0,, ,00%2b en-USS_01DBC.html A. Frank - P. Weisberg
Chapter 1 Introduction
Layers of a Computer System Applications ◦ Web browsers, video editing, AV conferencing User Interface ◦ Enabling humans to use the system Operating System “Kernel” ◦ Resource management ◦ Always present in RAM) Hardware ◦ E.g., CPU, memory, I/O (input/output) devices 4
Where does the OS fit in? A. Frank - P. Weisberg
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved
Operating system A program that acts as an intermediary between a user of a computer and the computer hardware “An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work” 7
Operating System goals? The operating system has two basic Functions( goals): 1. (user goals): Execute user programs and make solving user problems easier 2.(system goals) : Maximize hardware resource utilization ( resource manager)
Operating System Components) These components reflect the services made available by the O.S. Process Management Memory Management I/O Device Management File sysmanagement Network User Interface
Classifications of operating system 1 - Single job (user program) in memory: Human operator queues up jobs to be processed Issues CPU idle during I/O operations CPU time is wasted; CPU utilization is low
Multiple jobs (programs) in memory CPU can execute another job when one job is blocked (e.g., doing I/O) CPU is not idle if jobs available (Why?) -More RAM memory is required -Introduces CPU scheduling introduce memory management, and longer-term job scheduling Allocation of devices ( Multiprogrammed Systems )
3- Multitasking & Time Sharing 3- Multitasking & Time Sharing The CPU is switch among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory). ◦ Fast CPU switching between programs Enables multiple users (time sharing) ◦ multiple user programs can run concurrently ◦ Each user can interact with a program via keyboard/monitor ◦ Response time becomes important 12
4-Special – Purpose System a- Real-time systems systems that are subject to a "real-time constraint controls an environment by receiving data, processing them, and returning the results sufficiently quickly to affect the environment at that time milliseconds, and sometimes microseconds b - Handheld systems ◦ Smaller memories ◦ Memory management ◦ Low power availability 13
5- Multiprocessor Systems “Tightly coupled” Multiple CPU (processing element) systems shared memory Increased throughput ◦ Amount of work done per unit time Economy of scale ◦ Shared disks, other peripherals Increased reliability or fault tolerance 14
6 - Distributed Systems “Loosely coupled” no shared memory Performance improvements in some cases ◦ E.g., Network of Sun workstations solving a large sorting problem Distribute part of the sorting problem to each workstationThen combine (merge) solutions Resource sharing Increased reliability 15