HOMEWORK 1.

  1. What are the two main functions of an operating system?
  2. What is multiprogramming?
  3. Which of the following instructions should be allowed only in kernel mode? Explain your answers.
  4. Disable all interrupts
  5. Read the time of day clock.
  6. Set the time of day clock.
  7. Change the memory map.
  8. In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can reset in various security problems.

a) what are two such problems?

  1. The services and functions provided by an O.S can be divided into two main categories. Briefly describe the two categories and discuss how they differ.
  2. Why is the process table (process control block) needed in a timesharing system? Is it also needed in personal computers in which only one process?
  3. In the figure , three process states are shown. In theory, with three states, there could be six transitions, two out of each state. However, only four transitions are shown. Are there any circumstances in which either or both of the missing transitions might occur?
  1. When processes executing concurrently in the operating system, they might be independent or cooperating processes. In this scenario, when we need interprocesses communication? Why? Give details of your answers.
  2. All resources attached to a process are shared between threads in the process. Suppose two threads are waiting for same I/O device, such as a keyboard. Will this cause a problem? Does this problem ever occur in single threaded processes? Give details.
  3. As we described in the class, there is no protection between threads of a process, what kinds of problems this can cause? Explain.
  4. What are the benefits of using threads instead of creating new processes?
  5. In a web server, if we don’t have threads, that might cause some problems. What kinds of problems might occur?
  6. Assume in a basic word document, we have automatic save, reformatting, and check spelling threads, they are running in one word process together. Is it possible to create three different processes to do same job in same file? Describe your answers.

Hint; just think about windows operating systems, processes are independent.

  1. How are network computers different from traditional PCs? Describe some usage scenarios in which it is advantageous to use network computers?
  2. Direct memory access is used for high-speed I/O devices in other to avoid increasing the CPU’s execution load.

a)How does the CPU interface with the device to coordinate the transfers?

b)How does the CPU know when the memory operations are complete?

Good luck!