CSE2302 CMG-2003-07

Tutorial 1

Introduction to Operating Systems Concepts and Processes

1. Objectives and Outcomes

1.1 Objectives

  1. To review material covered in the introductory lectures (chapters 1-3);
  2. To confirm understandings of concepts such Processes, Interrupts, I/O Structure;
  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 operating system components;
  2. You should be able to explain what is happening in a Multiprogrammed Batch System (slide 1.14); and
  3. You should be able to explain the output of the program developed in Lab2.

2. The Basics

  1. State one model or paradigm of operating system philosophy
  2. Should operating systems always make the most efficient use of the computing hardware? Under what circumstances might this paradigm be broken?
  3. What are the advantages and disadvantages of multiprogramming?
  4. What is the difference between multiprogramming and multiprocessing?
  5. What are the security implications of multiprogramming? Explain how the dual mode supervisor/user mode paradigm provides security in this context.
  6. Explain what is happening in the Multiprogrammed Batch System figure shown in slide 1.14, and reproduced here

3. Operating System Structures

  1. List the services an operating system provides for the programs that execute under its control.
  2. What are operating system calls? Name some operating system calls that you have used. What system calls might be generated by a command line interpreter or shell?
  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. Figure 3.5 from the text book (reproduced below) shows the memory model differences between message passing and shared memory forms of inter-process communication. Identify which method would be better if the processes reside in different computer systems, and explain why.

  5. One approach to the design of an operating system is to build the components of the system in layers, where components in each layer m depend upon the resources and operations provided by components at the next lower level m-1. The hardware is then regarded as layer 0. What advantages can you think of for this approach?

4. Some Definitions

Explain the difference between "process" and "program". What is the "location" of a process?

Explain the term Dual-Mode Operation. That is, what is meant by user-mode and system-mode(AKA privileged-mode)?

5. Any Other Issues

Since an operating System could contain of a set applications, should those application include web browsers and email programs as a default?

Are there any other issues you would like to discuss?