(Latest Revision:
Sun Sep 15 18:07:27 PDT 2002
)
Chapter Four
--
Processes
--
Lecture Ideas
- What is a process?
- What are concurrent processes?
- What is a thread?
- What is process state?
- What is the relation of "process state" to the term "state" as used in
science?
- What is a process control block?
- What is process context?
- What information should be in a process control block? Relation to
what is needed to restart the process?
- Discuss ready queue.
- Discuss device queues.
- Discuss representing a computing system as a network of queues -- you
can get a lot of good insight from studying characteristics of the
network of queues.
- Discuss how the lifetime of a process is described as a journey
through a queueing network.
- Discuss job pools and long term scheduling in batch systems.
- Discuss short-term scheduling in multiprogramming systems.
- What is medium-term scheduling?
- Discuss the importance of having a good job mix to keep the CPU and
I/O channels busy. (I/O-bound vs CPU-bound jobs) This is something
the scheduler must consider.
- What are context switching and swapping -- important to understand the
difference and to use the terms correctly.
- Discuss fork, (forms of) exec, wait, exit and the relation to the
functionality we see in the unix shell. -- Note the OS serves as an
intermediary between parent and child processes, allowing them to
synchronize some of their activities.
- Discuss the "shared-memory solution of the bounded buffer problem" --
the producer-consumer problem. Note that busy waiting is used --
effective if process time in CPU is limited by a timer, or if there is
more than one CPU, but wasteful of CPU time. Note that one slot in
the buffer is "reserved". It's a "trick" question to ask how to
remove this restriction!!
- Communication between processes can be done with shared memory, but
also can be done using an IPC facility furnished by the OS.
- Message passing of the OS can be implemented with shared memory,
hardware bus, network, or ... there has to be some type of
communication link.
- Discuss Mach and/or Windows 2000 message passing.
- Discuss client/server communication via socket interface.
- Discuss how RPC abstracts the procedure call mechanism so that a
process on machine X can in effect make a function call that is
carried out by a process on machine Y connected to X by a
communication link. -- Typical implementation is for a client on X to
connect to an RPC server daemon on Y. The RPC daemon spawns a process
that executes the function and returns the results to the daemon,
which then send the results back to the client on X. stubs provide the
"glue." Difference in machine representation of data is an issue.
Timestamps can be used to prevent duplication of procedure call if RPC
message is duplicated on the network.
- One may implement a distributed file system by using RPC for doing the
file operations like read, write, rename, delete, and so forth.