CSC 213, Fall 2006 :
Schedule : Discussion Questions for 8/28
Discussion Questions for 8/28
Concurrent and parallel execution
- The book states that concurrency occurs when it "appears" that 2 or
more programs are running at the same time, or when they are "really"
running at the same time (parallel execution). But later on the author
writes "Concurrent and parallel execution are related to the notion of
resource sharing..." I thought parallel execution is a kind of
concurrent execution. Is there a subtle difference between parallel and
concurrent execution? (Monica)
- Nutt explains that "a system supports concurrent execution when
either it appears that two or more programs are being executed
simultaneously, or they really are executing at the same time" (p. 11).
The first part of the author's statement is clear, but the latter part
appears almost identical to his definition of parallel execution--he
explains that parallel execution exists between "true simultaneous
operations" (p. 11). It seems to me that if two programs are really
executing at the same time, then they are true simultaneous operations.
In that regard, could you please clarify the distinction he is drawing
between the two kinds of execution? (Angeline)
Abstract machines, processes, and jobs
- How does the operating system create an abstract machine? Are there a
fixed number of abstract machines in every computer? (Monica) [We'll
discuss this more in Chapter 6.]
- On page 14, Nutt uses the car wash analogy to demonstrate how
multiprocessing may improve overall system performance. Is his claim
about improved performance founded on the assumption that the order of
instructions ensures minimal or no stalling within the pipeline? Can't
multiprocessing hurt performance if the ordering of processes is such
that certain processes depend on the results of yet-to-be-completed
preceding ones? (Angeline)
- Could you clarify the distinction between viewing a process as a "job"
and a "program in execution," and what the difference means for OS
programmers? (Lorelei)
- In batch processing systems, could the behavior of one job depend on the output of previous jobs? (Cable)
Resources and resource sharing
- Are transparent resource sharing and explicit resource sharing meant to be implemented in tandem? (Mike)
- What is the role of explicit resource sharing in a timesharing OS? (Mike)
- Can multiprogramming be used efficiently in situations where one short
task must wait on a longer one, both requiring the same resource? How
does thread priority work? (Nick)
- Section 1.1 (p.17) says that contemporary OS are constructed as
"trusted software". Are there certain criteria that an OS system has to
fulfill to be given that term or does it merely describe an
understanding between a vendor and a customer that the OS should be
trusted as it is "required to perform exactly as intended" for the
system to behave correctly? (Saugar)
OS strategies and history
- In my experience, UNIX based
operating systems (e.g. every Linux flavor) are used in the same
capacity as any Windows OS. In the reading, however, the author
differentiates the two by using UNIX as a Timesharing strategy and
Windows as a PC/Workstation strategy. What makes UNIX more of a
Timesharing example and Windows less so? (Luis)
- Along the same lines. What is the difference between a
workstation being used by many different users (e.g. one through ssh
and two alternating signing on and off) and a strict Timesharing
strategy? Are they handled exactly the same by the two strategies of
Operating Systems? (Luis)
Where does the OS begin and end?
- If OS is closest to hardware, what thing can compile OS? or I am asking how OS is written? (Sheng)
- On page 27, Nutt mentions the persisting of BIOS in today's computer.
How did BIOS software influence the design of OSs and did recent OS
designs affect BIOS designs? Does BIOS programming consider a part of
OS programming? (Chayapan)
- Our book mentioned that IBM's BIOS system is an early operating
system. Now, DOS and Windows 3.1 for sure used the BIOS to access
hardware, while later versions of Windows (specifically the NT family)
use their own drivers. How does BIOS relate to both systems (DOS and
Windows NT)? Does DOS run on top of BIOS or beside it? Does Windows NT
run on top of BIOS or does BIOS end when Windows begins? (Chris) [We'll
come back to this in section 4.6.]
- In all of the book's diagrams, the OS is separate from the window
manager and other systems software. This is valid for most *nix systems
in the separation of the kernel, desktop environment, and (in some
cases) window manager, but it does not account well for Windows NTs and
Mac OS X, which integrate most (if not all) system software with the
OS. What are the benefits/pitfalls of this integration, and how does it
fit in to our overall view of operating systems? (Chris) [Can a web
browser be part of an operating system?]
Beyond today's scope
- [May discuss if time] How has the Internet influenced the way OSs are designed? (Nick)
- [For next time] What is threading, and how is it different from a process? (Heather)
- Did batch processing systems support flow control, e.g. "run job X Y times", as current scripting languages do? (Cable)
- When reading about space and time-multiplexed sharing I could not help
but question whether the new processors that use Intel Core Duo
technology implements time-multiplexed sharing among more processes at
a given time than the single core technology or is there some
space-multiplexed sharing involved? This new technology claims to be
more energy efficient that keeps the computers cooler and quieter. Does
either the space or time-multiplexed sharing have to do anything with
power consumption? (Saugar)
Janet
Davis (davisjan@cs.grinnell.edu)
Created August 27, 2006
Last revised August 27, 2006