|
Frequently Asked
Questions |
|
|
|
|
Homework #4
1. (Q4) What is meant by a front end processor and terminal concentrator
?
Imagine a computer system in which multiple terminals are connected
to the same computer system. In such a system, the terminals would
be called the front end while the actual system itself would be the back
end. The front end processors are those processors residing between
the dumb terminals and the back end server doing simple processes like
multiplexing and de multiplexing requests and replies to and from the server
and dumb terminals. It could also do more sophisticated tasks like
scheduling the requets in different order etc.. The terminal concentrator
is an example of a front end processor which aggregates the input
from the dumb terminals and disperses replies back to them.
Homework #2
1. (Q1) What is a loosely connected cluster of computers
?
A collection of individual comupter systems connected using
a network. This is different from a LAN only in the sense that the
computer systems are spatially closer (few feet apart) and is called a
System Area Network. The interconnecting network is usually high
speed and reliable. Each individual computer system might be uniprocessor
or multiproccessor systems. But for this question you can assume
that each system is a uniprocessor system. There is an individual
OS running on each of these systems. These OSs do not interact
with each other and are not aware of the existence of other computer systems.
Modifications to these OSs are not solutions to question 1.
9/25/00 In addition, note that it is possible that a
user (or a user-level process) knows the other machines in the system.
For example, if you know the names of 4 different machines, you can "telnet"
or otherwise log on to those machines, even though one OS does not know
about the other ones.
Further, the answer to this question does not have to be restricted
to ULTs or KLTs: a hybrid approach is also acceptable. Just make sure that
your answer works (and do not read too much into the FAQ; this is not a
hint).
2. (Q3) What is meant by 'all jobs can actually finish
within deadline time'?
This means if d is the specified deadiline, s
is the time the job is presented to be scheduled, and t is the minimum
time the job needs to be run on a processor to complete, then d > s
+ t.
9/25/00 Further, what was meant is that there exists
a scheduling discipline that will enable the completion of a set of jobs
within their (arbitrarily chosen) deadlines; each job has an individual
deadline. As an example, a set of 2 jobs with s=0, t=3 and d=5 CANNOT be
scheduled by any scheduling discipline.
ADDED AT 5PM You can assume
that this type of input will not be given to your algorithm, or you can
assume that it will. Just make sure that you state your assumptions clearly
in the answer sheet.
3. (Q3) Should you consider preemptive jobs or non-preemptive
jobs?
The goal here is to maximize the number of jobs completing
within their deadline. Assumptions about premption is not relevant
to this question.
4. (Q4) What metric should be used optimize in this
question?
For question 4a, minimize the average completion time and for
question 4b, minimize the average response time.
9/25/00 Using the book's definiton, for question
4a, minimize the average turnaround time and for question 4b, minimize
the average response time.
Homework #1
1. (Q2a, Q2b) What conditions of the original
unbounded buffer P&C problem can be relaxed ?
a) No two process can access the buffer at the same
time.
Inorder to optimize the solution, this condition can be relaxed.
However, care should be taken so that simultaneous access to the buffer
does not produce inconsistencies in the buffer. This means no two
process can access the same item in the buffer simultaneously.
b) An item can be consumed only after it has been created.
This condition cannot be violated by any solution to this problem.
2. (Q1a) Can the 'print' function call be non
blocking ?
No. As defined by the problem, the print function
would not return until the designated printer completely prints the allocated
file. Thus print is a blocking function.
3. (Q1b) What is meant by fairness and
no starvation ?
Starvation occurs when some processes are not able to access
the printer for a very long time eventhough other processes (possibly
later processes) are able to access the printer. A fair solution
would be one which is starvation free and efficiently uses the two available
printers. Thus no process can be waiting to print unless both the
printers are currenly not idle.
4. (Q3b) What kind of semaphore should
be implemented using tset or xchng instruction?
You are expected to give pseudocode for the P and V operations
of a counting semaphore.
5. How are the semaphores defined? Can
they be changed to reflect alternate functionality?
Please take the semaphore definitions as defined in the class.
No other modifications to its functions would be accpeted exept for question
3b.
Miscellaneous
1. What is the difference between the suspend
state and the blocked state?
If a process is in the blocked state then most of the
process is still in the memory while the process is waiting for some other
resource. In the suspend state, the process is taken out of
the memory and is not yet scheduled to execute even though all its resources
may be available.
2. Which instructions are atomic?
Strictly speaking, only those machine instructions which are
guaranteed by the hardware not to be interrupted can be considered to be
atomic instructions. Thus for our purposes, statements such as count++,
if test then ... else ..., etc are not atomic operations.
|
|
|