Introduction to Operating Systems Introduction to Operating Systems

Document Sample
Introduction to Operating Systems Introduction to Operating Systems Powered By Docstoc
					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

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
4. Users – people, machines, other
   computers, or programs written by the
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
• OS manages computer resources.
• OS controls and coordinates the use of the
  computing resources among the various
   – resource sharing among computer
   – 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
• 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
   – 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
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         A. Berrached:CMS:UHD     16

Shared By: