/>
OS Intro
 jbwyatt.com

.. OS: what is it?

  • AN operating system (OS) is the software that manages resources of a computer and the sharing of those resources.
  • An OS manges memory, processes, files and devices. It also may manage the network connection. It provides a user interface and a programmer interface.


  • OS:
  • SW or HW?
  • Where is it?
  • How does it get there?
  • Where does it go when programs execute?
  • How is the IP used by OS to launch programs?
  • How is the stack used by the OS? (return 0;)

  •    --------------------------------------------------------------
       Application software
          .system calls: pid = getpid();
             ..kernel: internals that do all you see and don't see
          .system utilities: ls, cd, cat
             ..system calls
                ...kernel
    
       UI: Shell (Unix) Command line(DOS) GUI (Windows)
          .system utilities
             ..system calls
                ...kernel
    
    ==========================================================================!
    
    The system utilities lie below the application layer.
       user-accessible programs
       tools such as ls, ps, od
    ========================================================
    
    A system call is just what its name implies -- a request for the
    operating system to do something on behalf of the user's program.
       functions used in the kernel itself
       appears as a normal C function call
       manage the file system
       control processes
       provide interprocess communication (IPC)
    ========================================================
    
    The kernel provides the essential services that make up the
    heart of UNIX systems
       allocates memory
       keeps track of the physical location of files
       loads and schedules and executes binary programs
    ==========================================================================!
       

.. types of operating systems

Batch Systems:
. Relied on punched cards or tape for input in past
  Efficiency was measured in throughput (jobs per hour)

Real-time operating systems (RTOS):
. Control machinery, space flights, airport traffic control
. Little user-interface capability -  no end-user utilities
. Manage the resources of the computer so any operation
  executes in same amount of time every time - Not slower - OR faster!

Single-user, single-tasking operating system:
. Manage the computer so that one user can do one thing at a time
  DOS

Single-user, multi-tasking operating system:
. Interrupts allow resource sscheduling
  Windows and the Mac O.S.

Multi-user operating systems:
. Allows many users to use computer's resources simultaneously
. Balance  needs of users
  Ensure all users have what they need
  Protect users from each other
. Unix, VMS

Embedded Systems:
. Computers placed inside products to add features and capabilities
  NO OS or small kernel
 

.. brief history

 1940's
   No standard OS software => machines poorly utilized
   Program included every instruction needed by computer to perform tasks
   Programmer loaded and ran software
   Computer time scheduled like a conference room: 9-10am: Bill Johnson
   

1950s Emphasis on cost effectiveness: expensive time lags between CPU and I/O Computers were still very expensive: IBM 7094 was priced at $200,000 Two improvements: Computer operators Job scheduling: group together programs with similar requirements devices -------------------------------------------------- GM, SAFE: main function was to automatically execute a new program 1960s Faster CPUs, but their speed caused problems Multiprogramming allowed loading many programs at one time Program scheduling OS taking over functions of operator ----------------------------------------------------- OS/360, IBM: batch, REQUIRED DASD Fred Brooks - Mythical Man Month 1970s Multiprogramming schemes to increase CPU use were limited by physical capacity of main memory - solution? VM ---------------------------------------------------- VMS - 32 bit virtual address! Microcomputer OSs: CP/M, Apple DOS 1980s Improvement in the cost/performance ratio of computer components Hardware became more flexible Introduction of multiprocessing-allowed executing programs in parallel Evolution of personal computers and high-speed communications Introduction of distributed processing and networked systems ----------------------------------------------------- MS-DOS, Windows, Mac OS, Unix 1990s Demand for Internet capability sparked networking capability Increased networking: tighter security Multimedia applications: additional power, flexibility, and device compatibility OS ----------------------------------------------------------- Linux, Windows 95/98, Unix


.. what resources does an OS manage?



Essential managers of an operating system: Memory Manager Processor Manager Device Manager File Manager User Command Interface is unique to each OS GUI Command
Each subsystem manager must perform the following tasks: Monitor its resources continuously Enforce the policies: who gets what, when, and how much Allocate the resource when it’s appropriate Deallocate the resource when appropriate