CS537 Lecture 1: Introduction

Opening:

  • My  name is Pei   Cao (tsao')
  • I like class discussions;
  • Don't be intimidated by people who appear more knowledgable than you; they merely have more experience with OS



  •  
  • What is an Operating System?

  •            - what won't be covered in the class: windows, graphical user interfaces (GUI), compilers, databases, tools, etc.
               - what will be covered in the class: underlying, common functionalities they all use;
               - we call it the "kernel";
               - Can you be the judge in US Gov. versus Microsoft case?

    . the "onion ring" view of an operating system;

    . the functionality view of an operating system:
               - handle hardware details: disks, keyboards, CPU architectures;
               - coordinate the working of different parts of a computer;
               - allocate and manage resources for different tasks;
               - separate and protect different users on the same computer;
               - store information;
               - talk to other computers
               - protect the integrity and privacy of stored information;

    . the Application Programming Interface (API) view of an operating system
               - the interface which application developers use to get their programs to run across different hardware platforms and environments;
     

  • A bit of OS history:

  •            - Part 1 (till late 60's): computers are expensive, people are cheap
                           - batch systems; primitive I/O methods;
                           - channels; device processors; interrupts;
                           - buffering; spool ahead;
     
                           - protection; hardware memory protection;
                           - multiprogramming;
                           - overlapping I/O and CPU;

               - Part 2 (till late 80's): computers are cheap, people are expensive
                           - interactive time-sharing: airline reservation systems, interactive debugging;
                           - multi-user systems;
                           - file systems;
                           - resource management;
                           - networking;
     
               - Part 3 (now): computers are really cheap, people are expensive, but people are spending a lot
                                     of using (or wrestling with) computers --- the Personal Computer Era
                           - personal computers;
                           - multimedia;
                           - networking, WWW;
                           - "chips everywhere";
                           - everywhere is networked!
                           - complexity and reliability;
                           - would we specialize (wearable computers, special purpose computers, etc.) or
                             integrate (PC on a TV, TV on a PC, WebTV, Digital TV, DVD, ...) ?
     

  • Desirable properties of an operating environment:

  •            - usable;
               - simple and intuitive;
               - correct;
               - poweful and flexible;
               - reliable and robust;
               - easy to learn, easy to use;
     
  • Reality with the commercial kernel:

  •            - complex;
               - millions of lines of codes;
               - hard to debug; hard to make reliable;
               - hard to maintains;


  • Class Logistics
  • "Faces and Names"