click below
click below
Normal Size Small Size show me how
1. Introduction
Operating Systems: Introduction (Ch. 1)
Problem | Solution |
---|---|
What are the two main functions of an operating system? | An operating system provides the users with an extended (i.e., virtual) machine, and it must manage the I/O devices and other system resources. |
What is multiprogramming? | Multiprogramming is the switching of the CPU between multiple processes in memory. It keeps the CPU busy, allows 2+ people to use the same computer simultaneously, and permits a single user to start up multiple, independent processed at the same time. |
Why was timesharing not widespread on second generation computers? | Second generation computers did not have the necessary hardware to protect the operating system from malicious user programs. |
What is spooling? | Input spooling is the act of reading jobs onto the disk so when currently executing processes finish, the CPU will have work. Output spooling consists of copying printable files to disk before printing them |
Do you think that advanced personal computers will have spooling as a standard feature in the future? | Input spooling on a personal computer is not very likely since the jobs are normally created on the disk, but output spooling is. |
On early computers, every byte of data read or written was handled by the CPU (i.e., there was no DMA). What implications does this have for multiprogramming? | It makes multiprogramming less favorable since it is no longer the case that when one process does I/O the CPU is completely free to work on other processes. |
Should disabling all interrupts only be allowed in kernel mode? | Yes |
Should reading the time-of-day clock only be allowed in kernel mode? | No |
Should setting the time-of-day clock only be allowed in kernel mode? | Yes |
Should changing the memory map only be allowed in kernel mode? | Yes |
Give a condition that causes the fork system call to fail. | there are no free slots left in the process table |
Give a condition that causes the exec system call to fail. | the file name given does not exist or is not a valid executable file |
Give a condition that causes the unlink system call to fail. | the file to be unlinked does not exist or the calling process does not have the authority to unlink it |
The client-server model is popular in distributed systems. Can it also be used in single-computer system? | Yes, especially if the kernel is a message-passing system. It is also often used to split large programs in a system |