CSE2302 CMG-2003-08

Tutorial 2

Introduction to Operating Systems Concepts and Computer-System Structures

1. Objectives and Outcomes

1.1 Objectives

  1. To review material covered in the introductory lectures (chapters 1 and 2) in detail;
  2. To confirm understandings of concepts such Computer-System operation, Interrupts, I/O Structure, DMA Structure, Storage Structure, Storage Hierarchy, Hardware Protection;
  3. To answer questions arising from lectures during the first few weeks;

1.2 Outcomes

  1. You should be able to describe the purpose of various Computer-System components;
  2. You should be able to explain in detail the sequence of tasks performed by the Computer-System components during I/O interrupt processing and DMA transfers; and
  3. You should be able to explain the need for these components to support Modern Operating Systems.

2. The Basics

  1. State the three basic components of a Computer-System.
  2. How are these components interconnected?
  3. Should operating systems always make the most efficient use of the computing hardware? Under what circumstances might this paradigm be broken?
  4. Name the criteria used to specify the storage hierarchy found in modern computer systems.
  5. What hardware protection is required to support modern opearting systems?
  6. What are the security implications of multiprogramming? Explain how the dual mode supervisor/user mode paradigm provides security in this context.

3. Computer System Structures

  1. Why does main memory in a computer system exist in a high speed volatile form(RAM) and in a lower speed nonvolatile form (ROM)?
  2. List the I/O services an operating system provides for the programs that execute under its control.
  3. Name some I/O devices that might be shared (without interference) between two active processes. For example, a scanner could not be shared, as there is only one physical image present in/on the scanner at a time.
  4. How is it possible to share the CPU over a number of processes?
  5. How is memory shared by a number of processes
  6. What happens if a process requires more memory than originally allocated?
  7. What should happen if several interrupt requests are received by the CPU in rapid sequence?
  8. State the sequence of events which should occur in a multiprogramming environment when a process make an I/O request. What part does interrupt processing play here?
  9. Briefly describe a simple DMA Structure.
  10. DMA only provides efficiency gains when used to transfer large volumes of data. Why?
  11. Without DMA we would need one interrupt per block(ie. 1024 bytes) of data transfered between memory and disk. So in order to transfer 10 block of data requires 10 interrupts. That is, the interrupt service routine is called 10 times. With DMA we can reduce the number of calls to the interrupt service routine to 1 for a 10 block transfer. Why?
  12. Device Status Tables are used by the operating system to manage access to devices. What should be stored in these tables?
  13. What part do timer chips play in managing processes under the control a multiprogramming operating system.

4. Some Definitions

  1. What do the acronyms: CPU, RAM, ROM, DMA stand for?
  2. Briefly define the terms: Memory Protection, CPU protection, I/O protection.
  3. Explain the term Dual-Mode Operation. That is, what is meant by user-mode and system-mode(AKA privileged-mode)?

5. Any Other Issues