CS414 - Homework 1 Answer Keys 1. Why are distributed systems desirable? Distributed systems are desirable for many reasons, which include 1) increase throughput due to load and job sharing, 2) provide a higher reliability (graceful degradation/partial operability), 3) reduce system cost by resource sharing. 2. What is multiprogramming? What are its advantages over uniprogramming? How is it different from multiprocessing? Characteristics: o multiple programs (processes) exist in memory o overlapping I/O time of one job with CPU time of another Advantages: o efficiency due to overlapping Difference from multiprocessing: o multiprocessing means the system uses multiple processors 3. Difference between "kernel mode" and "user mode" instructions Kernel mode instructions: o only executable in kernel mode o instructions having potential to damage system or other users User mode: o usable in both modes o not possible to interfere with other user or system Reason for dual mode: protection of the system. 4. Which of the following instructions should be privileged? a.disable all interrupts - yes b.read the time-of-day clock - no c.set the time-of-day clock - yes d.read the timer - no e.set the value of the timer - yes f.clear memory - yes g.switch from user mode to privileged mode - yes