CS3600 — Homework 3

Coverage: Chapter 3 (Process Description and Control).

How to submit

Due Date: September 19, 2025 @ 11:59 PM PST

  1. Create a text file named hw_3.txt in ~/cs3600/3/.
  2. You may add a numbering system to your answers. Put one answer per line using A/B/C/D. For True/False, use T=True, F=False.
    1. B
    2. C
    3. D
    etc...

    For answers requiring a short answer, place short answer on a single line as well.
    For longer response questions, you may split the answer onto multiple lines (max 80 characters on one line).
  3. Save the file; do not email. I will collect it from your course folder.

After saving, please make sure faculty can collect your homework by running:

chmod g+r ~/cs3600/3/hw_3.txt

Questions

  1. Give three examples of an interrupt.
  2. It is not the responsibility of the operating system to control the execution of processes. (True/False)
  3. The portion of the operating system that selects the next process to run is called the _________.
    A) trace
    B) process control block
    C) dispatcher
    D) PSW
  4. The __________ is a layer of software between the applications and the computer hardware that supports applications and utilities.
  5. A process is in the _________ state when it is in secondary memory and awaiting an event.
  6. The processor itself provides only limited support for multiprogramming, and __________ is needed to manage the sharing of the processor and other resources by multiple applications at the same time.
    A) memory
    B) data
    C) software
    D) hardware
  7. What is an instruction trace?
  8. A computer platform consists of a collection of hardware resources, such as the processor, main memory, I/O modules, timers, and disk drives. (True/False)
  9. Two essential elements of a process are __________ and a set of data associated with that code.
  10. For efficiency, applications should be written directly for a given hardware platform. (True/False)
  11. The OS must maintain __________ tables to manage processes.
    A) process
    B) I/O
    C) memory
    D) file
  12. The _________ is the less-privileged mode.
    A) user mode
    B) kernel mode
    C) system mode
    D) control mode
  13. When the OS creates a process at the explicit request of another process, the action is referred to as __________.
  14. When a process is in the _________ state it is in secondary memory but is available for execution as soon as it is loaded into main memory.
    A) Blocked
    B) Blocked/Suspend
    C) Ready
    D) Ready/Suspend
  15. The principal function of the OS is to create, manage, and ________ processes.
  16. _________ tables are used to keep track of both main (real) and secondary (virtual) memory.
  17. The principal function of the OS is to create, manage, and terminate processes. (True/False)
  18. A process that is not in main memory is immediately available for execution, regardless of whether or not it is awaiting an event. (True/False)
  19. A(n) __________ is a unit of activity characterized by the execution of a sequence of instructions, a current state, and an associated set of system resources.
    A) identifier
    B) process
    C) process block
    D) priority
  20. You have executed the following C program:
    main(){
      int pid;
      pid = fork ();
      printf ("%d \n", pid);
    }

    What are the possible outputs, assuming the fork succeeded?
Answer format: one letter per line in hw_3.txt. For True/False questions use T = True, F = False. Short answer questions your entire short answer per line.
For longer response questions, you may split the answer onto multiple lines (max 80 characters on one line).