21 Oct 2016

Lecture 1

Overview of today’s lecture
Introduction to what an operating system is?
Issues involved in the design of an operating system
Different types of operating systems

Lets start
What is an operating system?

Top-down view
Provides an extended or virtual machine abstraction to user programs
Easier to program than the underlying hardware.
All services are invoked and accomplished through system calls.


Bottom-up view
Acts as a resource manager of a complex system
Resources consist of processors, memories, timers, disks, mice, keyboard, network
interfaces, printers etc.
OS manages allocation of these resources to user programs in an orderly and controlled
manner


Resource multiplexing
OS multiplexes resources in two ways:
In time, In space
Time multiplexing involves different programs taking turns in using the resource.
Example: CPU scheduling, printer sharing.
Space multiplexing involves different program getting part of the resource possibly at the
same time. Example: memory is divided into several running programs.

The major OS issues
Structure: how is the OS organized?
Sharing: how are resources shared across users?
Naming: how are resources named (by users or programs)?
Security: how is the integrity of the OS and its resources ensured?
Protection: how is one user/program protected from another?
Performance: how do we make it all go fast?
Reliability: what happens if something goes wrong (either with hardware or with
program)?
Extensibility: can we add new features?
Communication: how do programs exchange information, including across a network?

More OS issues
Concurrency: how are parallel activates (computation and I/O created and controlled?
Scale: what happens as demands or resources increase?
Persistence: how do you make data last longer than program executions?
Distribution: how do multiple computers interact with each other?
Accounting: how do we keep track of resources usage, and perhaps charge for it?

Type of Operating Systems

Main frame operating systems:

  • Huge amounts of I/O activity.
  • Transaction and time sharing services.
  • Batch processing is routine non-interactive jobs. e.g. claims processing, sales
  • reporting etc. Transaction processing systems handle large number of small
  • requests e.g. check processing in banks, air line reservations etc.
  • Time-sharing systems allow multiple remote users to run jobs at the same time e.g.
  • querying a database. OS Optimized for these tasks. Example is OS/390

Server operating systems

  • Run on very large PCs, workstations or even main-frames. They serve multiple users over a network simultaneously 
  • And allow them to share hardware and software. Examples are web servers, database transaction servers etc. Examples of
  • OS in this class are Win2K, XP and flavors of UNIX.

Multiprocessor operating systems

  • OS is basically a variation to server operating systems with special provisions for connectivity and communication management between different CPUs.

PC operating systems

  • OS provides a nice interface to a single user.
  • Typically used for word processing, spread sheets, Internet access etc.

Real-time operating systems

  • Characterized by time as the key parameter. Real-time response to internal and external events is more important than any other design goal. Classified into two sub-categories: Hard and Soft real-time.
  • Example applications include Industrial process control, robotics and assembly lines, air traffic control, network routers and telecommunication switches, multi-media systems etc.

Embedded operating systems

  • Embedded in small devices e.g. palm-top computers e.g. PDA, TV sets, micro-wave ovens, mobile phones. They have characteristics of real-time systems (mainly soft real-time) but also have restraints on power consumption, memory usage etc.
  • Examples include PalmOS and Windows CE. Height of this type is smart-card systems.

Distributed Systems

  • Distribute the computation among several physical processors.

Loosely coupled system

  • Each processor has its own local memory; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines.
  • Advantages of distributed systems:
    • Resources Sharing, Computation speed up – load sharing, Reliability, Communications

Parallel Systems

  • Multiprocessor systems with more than on CPU in close communication.

Tightly coupled system

  • Processors share memory and a clock; communication usually takes place through the shared memory.
  • Advantages of parallel system
    • Increased throughput, Economical, Increased reliability, graceful degradation, fail soft systems.

No comments:

Post a Comment