COMP 346 Winter 2000: TA-1

Task Deadline
Computer Structure, OS Structure Thursday, Jan. 27, 2000
Answer the following questions. The maximum number of points for this assignment is 100. The points for each individual question are indicated below.
  1. If a computer system doesn't have enough main memory (RAM) to store the instructions and data for the execution of a task, is it possible for the CPU to fetch instructions or data directly from the hard disk, without using main memory? [Points: 10]

  2. For a computer system with a 64-bit word length, which of the following statements describes the largest amount of main memory? Explain your answer! [Points: 10]
  3. Why is it necessary to write the value of the program counter to memory when the CPU switches from one process to another? Is this also necessary when an interrupt happens? [Points: 10]

  4. The memory protection scheme with the base and limit register relies on specific hardware to detect unauthorized memory accesses. Is it possible to use a software-based solution for such a protection scheme? Does this scheme work when processes occupy non-contiguous space in memory? [Points: 10]

  5. Describe two examples of caches in a modern computer system. What problems do they solve, and what are the disadvantages they have? [Points: 10]

  6. Assume that we have two computer systems wich are identical except for their memory structure: System A uses 64 MBytes of regular main memory with an access time of 10 ns (e.g. dynamic RAM) and 1 MByte of cache with an access time of 4 ns (e.g. static RAM). System B uses the faster technology with 4 ns access time for the whole 64 MBytes of memory, without the cache. With the same processor speed, e.g. 500 MHz, can we expect the performance of system B to be substantially better than the one of System A? [Points: 20]

  7. In a multiprogrammed computer system, we have a single CPU, a single hard disk, and one network card. There are three independent processes A, B, and C that are running on this system. Process A executes 1000 instructions, and then reads ten blocks from the hard disk. Process B executes 500 instructions, reads two blocks from the hard disk, and then executes 500 instructions. Process C accesses the network for 25 ms, executes 1000 instructions, writes two blocks to disk, and executes 500 instructions. Assume that the CPU takes 10 ns for the execution of one instruction, and that the average transfer time per block between main memory and hard disk is 10 ms. [Points: 30]
    1. Schedule the three processes so that the overall time needed for their execution is minimized. [Points: 6]
    2. Schedule the three processes so that their average turnaround time is minimized. The turnaround time of a job is the time from the submission of a job until the return of the result. [Points: 6]
    3. Compare the CPU utilization for the two cases above. [Points: 6]
    4. Redo the three subtasks for the case of a timesharing system where each process gets a time slice of 3 ms at a time. [Points: 12]






Last modified: Tue Jan 11 18:05:32 EST 2000