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.

  1. (6 points) When a device interrupts, is there always a context switch?

  2. (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)

  3. (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.

  1. (14 points) In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems.
    1. What are two such problems?
    2. Can we ensure the same degree of security in a time-shared system as we have in a dedicated machine? Explain your answer.

  2. (10 points) Are there any computing environments in which operating systems might not be necessary or even appropriate? Explain your answer.

  3. (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?

  4. (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?

  5. (18 points) This problem has you examine the CPU utilization at various types of installations.
    1. 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?
    2. 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?
    3. 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

  1. (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?

  2. (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