CSE2302 CMG-2003-07
Tutorial 1
Introduction to Operating Systems Concepts and Processes
1. Objectives and Outcomes
1.1 Objectives
- To review material covered in the introductory lectures
(chapters 1-3);
- To confirm understandings of concepts such Processes,
Interrupts, I/O Structure;
- To answer questions arising from lectures during the
first few weeks;
1.2 Outcomes
- You should be able to describe the purpose of various
operating system components;
- You should be able to explain what is happening in a
Multiprogrammed Batch System (slide 1.14); and
- You should be able to explain the output of the program
developed in Lab2.
2. The Basics
- State one model or paradigm of operating system
philosophy
- Should operating systems always make the most efficient use
of the computing hardware? Under what circumstances might this
paradigm be broken?
- What are the advantages and disadvantages of
multiprogramming?
- What is the difference between multiprogramming and
multiprocessing?
- What are the security implications of multiprogramming?
Explain how the dual mode supervisor/user mode paradigm provides
security in this context.
- Explain what is happening in the Multiprogrammed Batch
System figure shown in slide 1.14, and reproduced here

3. Operating System Structures
- List the services an operating system provides for the
programs that execute under its control.
- 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?
- 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.
- 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.

- 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?