Homework #1
Due Date: Tuesday, January 18, 2000 at 11:59PM
Points: 80 regular, 15 extra credit
Short-Answer Questions
These can be answered in a sentence or two, and are intended to
reinforce important points.
- (6 points) When a device interrupts, is there always a
context switch?
- (6 points) The client-server model is popular in distributed
systems. Can it also be used in a single-computer system? (text,
problem 1.10)
- (6 points) A MINIX file whose owner has uid = 12 and gid = 1
has mode rwxr-x---. Another user with uid = 6, gid = 1 tries
to execute the file. What happens? (text, problem 1.8)
Long-Answer Questions
These questions require some thought and longer answers than the
short-answer questions. They are intended to have you use the concepts
discussed in class, to be sure you understand them and can work with
them.
- (14 points) In a multiprogramming and time-sharing
environment, several users share the system simultaneously. This
situation can result in various security problems.
- What are two such problems?
- Can we ensure the same degree of security in a time-shared system as
we have in a dedicated machine? Explain your answer.
- (10 points) Are there any computing environments in which
operating systems might not be necessary or even appropriate? Explain
your answer.
- (10 points) In the CTSS system, a single processor and an
internal store were multiplexed among user computations by swappping.
The amount of internal store required by each job during execution was
known. How could this information about the expected workload be used
to make swapping more efficient?
- (10 points) On early computers, every byte of data read or
written was directly handled by the CPU (i.e., there was no DMA--Direct
Memory Access). What implications does this organization have for
multiprogramming?
- (18 points) This problem has you examine the CPU utilization
at various types of installations.
- Assume a typical job at an open shop requires 10 seconds to be read
in from cards, 3 seconds to compute, and 30 seconds to print the results
on paper. Programmers sign up for 15 minute blocks and run their jobs
twice per block. What is the CPU utilization?
- Assume now that those same jobs are run by an operator who always
has another job to start as soon as one finishes. The operator takes 30
seconds to remove the output of one job and set up the next job. What
is the CPU utilization?
- Now assume that spooling is used, that the computer has enough card
readers and printers so there are always jobs waiting to be run and
printing is not a bottleneck. It takes 1000 times as long to read or
write information from or to cards or paper as from or to disk. The
computer spends 1% of its time servicing I/O interrupts; this time is
not counted as computation time. It takes 0.01 seconds to reset the
machine between jobs. What is the CPU utilization?
Extra Credit
- (5 points) Problem 8 uses CPU utilization to illustrate how
successive generations made more effective use of the computer. How
meaningful is the CPU utilization to the users? What other question (or
questions) would users like to know the answer to?
- (10 points) In MINIX, why is the CHROOT system call limited
to the super-user? (Hint: think about protection problems.) (text,
problem 1.14)
Send email to
cs150@csif.cs.ucdavis.edu.
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 1/7/00