CH 04 : Operating Systems And Computer Architecture

Operating Systems

  • ==Operating System(OS)==: It is a computer software running in the background when the computer is on, and performs various operations.
    • It is also responsible for the communication between hardware and software.
    • Operating systems make it alot easier to use computers.
  • Some of the tasks an OS performs:
    • Multitasking
    • Multiprogramming
    • Error handling
    • Loading and running software
    • Memory management
    • Security (passwords etc)
    • Input and output control
  • Windows and Linux are examples of OS.
  • When a computer is turned on:
    • The initial starting programs are loaded from ==Read Only Memory(ROM),==
    • Different components of the computer are checked for errors,
    • The OS is loaded into the computer memory.

Interrupts And Buffers

  • ==Interrupt==: It is a signal sent to the Processor from a device or software, to make the Processor ^^temporarily^^ stop its current operation and service another.

    • An Interrupt is sent when for example, a page is jammed in the printer, or when a software error occurs.
    • Interrupts allow computers to ^^multitask^^.
    • When an Interrupt occurs, the status of the currently running task is saved using an ==Interrupt Handler.== so that the processor can resume it after the Interrupt is serviced.
  • ==Buffer==: It is a ^^temporary^^ memory area.

    • Buffers are filled from computer memory and emptied to the hardware, allowing the processor to perform other tasks in the meanwhile.
  • Example to explain how Buffers and Interrupts are used together, while a printer is being used:


Computer Architecture

  • ==Von Neumann Architecture==: A computer system which can store programs in a memory. The idea was developed by ^^John von Neumann^^.

    • Before Neumann, computers had to be fed data while they were running, so for every task the data had to be fed immediately before-hand.
  • In a von Neumann system, a ==Memory Unit, Processor(containing a Control Unit)== and the hardware are connected through ==Buses== to perform different tasks.

    </p>

  • ==Buses==: The connections which transport data around the system and also maintain data ^^synchronization^^.

    • ==Address Bus:== ^^Unidirectional^^ Bus carrying signal related to the addresses of the memory contents.
    • ==Data Bus:== ^^Bidirectional^^ Bus responsible for moving the data and contents of the memory around the system.
    • ==Control Bus==^^: Unidirectional^^ Bus carrying signals related to control and coordination of all activities in the computer.
  • ==Registers==: High speed storage areas within the computer system, which are needed to store and ^^manipulate^^ data.

    • ==Memory Address Register(MAR)==: Address which contains the location of the memory contents.
    • ==Memory Data Register(MDR)==: Register which contains the content from memory.
    • ==Arithmetic Logic Unit(ALU)==: Register which allows the ^^calculations and logic operations^^ to be performed within the computer.
    • ==Program Counter(PC)==: Register which contains the instructions for the next task to be performed.
    • ==Current Instruction Register(CIR)==: Register which contains the instructions for the current task.

  • ==Memory Unit:== It contains all the data to be processed and its addresses as well.

  • ==Processor==: The part where data is processed and the necassary logic operations are carried out.

  • ==Control Unit==: It controls the operation of the memory, processor and input/output devices.

    • Control Unit reads an instruction from memory and tells the other components how to function, through Control Bus.
  • ==Input/Output Devices==: Ways of feeding data into a computer and/or getting it out.


Fetch-Execute Cycle

  • To perform a task, instructions for the said task are ^^Fetched^^ from the memory and Processed before being ^^Executed^^.
  • ==Fetch==:
    • Instructions for the next task are fetched from the PC and put into CIR through Data Bus.
    • PC is ^^incremented^^ by 1.
    • Instructions are sent to the Processor(through Data Bus) to be decoded.
  • ==Execute==:
    • Processor sends the decoded instructions as ^^control signals^^ using the Control Bus, to other components of the system, so that the instructions can be executed.

\