Introduction to System Software

Lecture 1

System Software is computer software designed to

  • Operate and control the computer hardware

  • Provide a platform for running application software

System software includes the following:

  • Operating system, allows the parts of a computer to work together and also provides a platform to run high-level system software and application software

  • Utility software, helps to analyze, configure, optimize and maintain the computer

  • Device drivers, like BIOS and device firmware provide basic functionality to operate and control the hardware

  • A user interface

  • Sometimes developer tools

What is an Operating System?

  • An intermediary between a user of a computer and the computer hardware

  • Goals to execute user programs and make solving user problems easier

  • Goals to make the computer system convenient to use

  • Goals to use the computer hardware in an efficient manner

Operating System Definition

  • OS is a resource allocator

    • Manages all resources

    • Decides between conflicting requests for efficient and fair resources use

  • OS is a control program

    • Controls execution of programs to prevent errors and improper use of the computer

  • Kernel-The program running at all times on the computer

Computer Startup

  • Bootstrap program is loaded at power-up or reboot

    • Typically stored in ROM or EPROM, generally known as firmware

    • Initializes all aspects of system

    • Loads operating system kernel and starts excution

Lecture2

Computer System & OS Structures

  • Computer System Operation

    • I/O Structure

    • Storage Structure, Storage Hierarchy

    • Hardware Protection

  • Operating System Services, System calls, System Programs

  • Structuring OS

    • Virtual Machine Struction and Organization

  • OS Design and Implementation

    • Process Management, Memory Management, Secondary Storage Management, I/O System Management, File Management, Protection System, Networking, Command-Interpreter.

Computer System Organization

  • Computer-system operation

    • One or more CPUs, device controllers connect through common bus providing access to shared memory

    • Concurrent execution of CPUs and devices competing for memory cycles

CleanShot 2021-04-02 at 16.04.26@2x

Computer-System Operation

  • I/O devices and athe CPU can execute concurrently

  • Each device controller is in charge of a particular device type

  • Each device controller has a local buffer

  • CPU moves data from/to main memory to/from local buffers

  • I/O is from the devices to local buffer of controller

  • Devices controller informs CPU that it has finished its operation by raising an interrupt

Common Functions of Interrupts

  • Interrupt transfers control to the interrupt service routine, generally through the interrupt vector, which contains the addresses of all the services routines (jump)

  • Interrupt architecture must save the address of the interruptted instruction

  • Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt

  • An operating system is interrupt driven

A polled interrupt requires that the interrupt handler poll or send a signal to each device in turn in handler poll or send a signal to each device in turn in order to find to which one sent the interrupt request

I/O Structure

  • Synchronous I/O (blocking I/O):

    After I/O starts, control return to user program only upon I/O completion

    • wait instruction idles CPU until next interrupt

    • no simultaneous I/O processing, at most one outstanding I/O request at a time

  • Asynchronous I/O (non-blocking I/O):

    after I.O starts, control returs to user program without waiting for I/O completion

    • System call

    • Device Status table - holds type, address and state for each device

    • OS indexes into I/O device table to determine device status and modify table entry include interrupt

Direct Memory Access Structure

CleanShot 2021-04-03 at 13.15.55@2x
  • DMA: Direct Memory Access

How a Modern Computer Works?

CleanShot 2021-04-03 at 13.17.29@2x

Storage Hierarchy

  • Storage systems organized in herarchy based on

    • Speed

    • Cost

    • Volatility

  • Caching is often used between storage systems

    • transparently copying information into faster storage system (e.g. CPU cache holds most-recently used data from main memory)

    • main memory can be viewed as a cache for secondary storage

CleanShot 2021-04-03 at 13.29.27@2x

CPU Protection

  • Timer - interrupts computer after specified period to ensure that OS maintain control

    • Timer is decremented every clock tick

    • When timer reaches a value of 0, an interrupt occurs

  • Timer is commonly used to implement time sharing

  • Timer is also used to compute the current time

  • Load timer is a privileged instruction

Last updated

Was this helpful?