Term
|
Definition
| a program that manages the computer hardware. It also provides a basis for application programs and acts as an intermediary between the computer user and the hardware. |
|
|
Term
|
Definition
| a basic unit of CPU utilization (a process); comprises a thread ID, program counter, register set, and a stack. shares code data and other resources (files) with other threads |
|
|
Term
|
Definition
| process with a single thread of control |
|
|
Term
| What are the 2 main categories of services and functions provided by the OS and how they differ |
|
Definition
Functions and services which are directly helpful to the user (networking, computer sharing, error detection, consistent computing)
Functions and resources which ensure efficient operation through resource sharing; resource allocation, user account tracking, and protection/security |
|
|
Term
| How could you obtain a statistical profile of program usage? what's the import? |
|
Definition
| You could use a timer interrupt to accomplish this. At each timer interrupt the value of the program counter and process ID could be recorded and a statistical profile could be obtained from this data. This could be helpful for debugging and examining the programs efficiency. |
|
|
Term
| Some computer systems do not provide a privileged mode of operation in hardware. Is it possible to construct a secure operating system for these computer systems? Give arguments both that it is and that it is not possible. |
|
Definition
it would be very important to have a privileged mode of operation in hardware. If there’s no kernel mode it would seem to difficult to protect against a hacker writing against the boot sector of a drive, or disabling interrupts and/or causing them. To construct a secure operating system without a kernel mode would seem very difficult. If the programming was of sufficient quality extra security could be built into the software. |
|
|
Term
| Describe the actions taken by a kernel to context-switch between processes. |
|
Definition
| The kernel must save the context of the previous process in its Process Control Block and then must load the saved context of the new process which is scheduled to run. This is pure overhead because the system does no useful work while switching. |
|
|
Term
| what is the main difference between a program and a process |
|
Definition
a program is passive a process is active |
|
|
Term
| Degree of Multiprogramming |
|
Definition
| number of processes that are in memory |
|
|
Term
| Why is the long term scheduler concerned with the degree of multiprogramming? |
|
Definition
| Ensuring system is not overloaded through balancing IO and CPU usage |
|
|
Term
|
Definition
| whenever there's an interrupt and it switches from one process to another; pure overhead |
|
|
Term
| What is a concern with User Level Threads |
|
Definition
| through an interrupt one thread can block the rest of them |
|
|
Term
|
Definition
provided by hardware Provides ability to distinguish when system is running user code or kernel code Some instructions designated as privileged, only executable in kernel mode System call changes mode to kernel, return from call resets it to user |
|
|
Term
|
Definition
| allows OS to protect itself and other system components |
|
|
Term
|
Definition
| a program in execution. It is a unit of work within the system |
|
|
Term
|
Definition
| software interrupt; divide by 0 or inaccessible address |
|
|