click below
click below
Normal Size Small Size show me how
Operating Systems I
Flash Cards for Operating Systems Exam I, Kent State University, Summer 2014
| Question | Answer |
|---|---|
| Software that acts as an intermediary between the user and the hardware | Operating System |
| What are the four main components of a computer system? | Hardware, system software, application software, user |
| What two viewpoints do we consider the operating system from? | user and system |
| The term for when resources (such as CPU time and memory) are used in an efficient way and no user takes more than his fair share of resources. | resource utilization |
| What are the four approaches to dividing CPU time among multiple users? | First come first served, round robin, priority, shortest job first |
| This decides how to allocate hardware resources to several programs and users in a fair and efficient way. | resource allocator |
| Manages the execution of user programs to prevent errors and improper use of the computer | control program |
| A program that runs at all times on the computer, also has direct access to the underlying hardware and can directly reference memory addresses | kernel |
| What are the two types of memory? | main memory and secondary storage |
| RAM and ROM are both examples of what type of memory? | main memory |
| Flash drives, DVDs, hard drives, etc. are examples of what type of memory? | secondary storage |
| From fastest to slowest, how is the memory hierarchy set up? | registers->cache->main memory->secondary storage |
| 1st, simplest mainframe system; no direct user interaction with it; jobs submitted via punch card; very slow; I/O includes tape drives, card readers, line printers; OS transfers control from one job to another; CPU is often idle, faster than I/O devices. | Batch system |
| Increases CPU utilization by organizing jobs so the CPU is always executing one; jobs are pulled from a pool, executed in main memory; if a job does not have required resources, the CPU switches to another so it is never idle; OS decides which job is next | multiprogramming system |
| Logical extension of multiprogramming; user can interact w/ program while it runs; job can be swapped in and out between memory and disk; CPU executes multiple jobs by frequently switching; features are file system, disk mgmt, job synch/comm, deadlock | time sharing system |
| This type of system has multiple CPUs | multiprocessor system |
| What are the two types of multiprocessor systems? | tightly coupled and parallel |
| Multiprocessor system where processors share the same memory, clock, input etc. Communication is done via shared memory. It enjoys increased throughput, economical advantages, graceful degradation (if one CPU fails, system does not fail) | tightly coupled |
| Type of parallel system where all CPUs run identical copies of the OS, the processors are all peer-to-peer systems, and it is possible for one processor to be idle while another one is running | symmetric multiprocessing (SMP) |
| Type of parallel system where one CPU is designated as a master and the others as slaves. The master controls the system and allocates tasks for the slaves. Each slave is assigned a specific task, and if the master stops working the whole system stops. | asymmetric multiprocessing (ASMP) |
| Several physical systems connected via networks. There are several multi single processor systems. | distributed system |
| A distributed system in which each machine has its own local memory, clock, etc. and communicates via communication lines (networks). | loosely coupled |
| The idea of a ___________ system is to divide the process (program execution) and computation among several physical processors. | distributed |
| A ___________ system may be either client-server or peer-to-peer. | distributed |
| What are three advantages of a distributed system? | computing speedup, reliability, resource sharing |
| An operating system that provides the features of file sharing and communication via message exchange. This can be found in a distributed system. | network operating system |
| Similar to a parallel system, this system achieves its parallel communication via a network, not buses. Two computers share the same storage via LAN, and it is highly reliable. | cluster system |
| This type of cluster system is characterized by hosts that all run the same application and monitor each other. | symmetric clustering |
| This type of cluster system is characterized by one machine being in hot standby mode while the other runs the application. If the running machine fails, the machine in hot standby takes over. | asymmetric clustering |
| Why is symmetric clustering better to use than asymmetric clustering? | It is more efficient, because it uses all resources and every machine monitors one another for failure. Since all resources are used, more applications can be run. |
| a system where there is critical time requirements on the operation of the processor or on the flow of data. | real time system |
| What are some examples of real time systems? | sensors, industrial control devices, medical equipment |
| well-defined fixed time constraints (processing must be done within short pre-defined period of time or else the system will fail) | real time |
| This type of real time system guarantees that critical tasks will be completed on time, using bounded delay assurance. It only contains critical tasks and cannot be mixed with a time sharing system. Data is stored in RAM or ROM and is limited. | hard real time system |
| This type of real time system prioritizes critical tasks over all others and does not have as many time constraints as its counterpart. | soft real time system |
| The operating system within a PDA, mobile phone, etc. | handheld system |
| What are four limitations associated with a handheld system? | slow processor, limited battery life, small screen size, limited memory |
| Each controller informs the CPU that it has finished its job by causing a(n) __________. | interrupt |
| System calls are mostly accessed by the ____________. | API (application program interface) |
| Can be executed by hardware or software, and is done by system call. | interrupt |
| What are the two main steps of the interrupt mechanism? | 1. Interrupt transfers control to the suitable interrupt service routine (a segment of code that tells the computer what to do). 2. This routine has information to call the interrupt handler, which will in turn take the appropriate action. |
| an array of pointers that contains the addresses of all service routines. | interrupt vector |
| device controller that transfers blocks of data from its buffer storage directly to main memory w/O CPU intervention.used in case of high speed IO devices,which can transmit data with speed. 1 int is generated for 1 block instead of 1 int for 1 byte. | direct memory access (DMA) |
| Why is hardware protection needed? | - multiprogramming: one program can execute while other uses I/o. - resource sharing among several programs and users simultaneously. - memory and disk sharing: several programs are in the memory at the same time. |
| What are the two modes of operation involved in dual mode operation? | kernel mode and user mode |
| What are the specific mode bits for kernel and user mode? | 0 - kernel 1 - user |
| When does user mode execute? | When the user process is loaded. |
| When does the kernel mode execute? | When booting up the system and when an interrupt or fault occurs. |
| an instruction in kernel mode that the user is not allowed to execute. | privileged instruction |
| To prevent illegal I/O operations (known as I/O protection), how should are those operations classified? | as privileged instructions |
| This protection prevents user programs from accessing the OS. In addition, it protects the interrupt vector from user modification, as well as the interrupt service routine. | memory protection |
| In terms of memory protection, what does the base register hold? | small legal physical memory |
| In terms of memory protection, what does the limit register hold? | the size of the allowed range |
| If the base is 1,000 and the limit is 30,000, what is the allowable range for the user to access? What is the outside of this range used for? | 1,000 - 31,000 The outside of this range is reserved for the use of the OS and is inaccessible to the user. |
| How does the OS determine the values of the base and limit? | privileged instruction |
| What is a timer used for? | It interrupts the CPU after a pre-specified period of time in order to prevent infinite loops. |
| How does the timer work? Specifically, how is it implemented? | It has a counter that decrements for each clock tick. When the timer reaches zero, an interrupt occurs. |
| How does the OS treat the interrupt if the program is executing correctly? | It will give the program more time. |
| How does the OS treat the interrupt if the program is in error? | It will stop running to avoid an infinite loop. |
| A timer is set by the OS through what? | privileged instruction |
| True or false: a timer's time limit can be fixed or variable. | true |
| What is context switching? | In a time sharing system, it is when the OS switches from one user to another when the first user's time slice runs out. It saves the parameters (registers, variables, buffers, etc.) of the first user before making the switch. |
| What is the problem with computing the current time? How is this remedied? | The computing in this case is slow and overloaded for the OS, so the system sometimes has a separate hardware clock that it uses apart from the OS time. |
| What are the three most common APIs? | Win32, POSIX, JVM |
| a program in execution. (Also known as a task or a job.) Sometimes we call this an active entity because it is running. | process |
| a sequence of instructions. We call this a passive entity because it is not running, but it is loaded and is waiting to run. | program |
| What are the 5-state process steps and their definitions? | New: process is being created running: instructions are being executed waiting: the process is waiting for some event to occur ready: the process is waiting to be assigned to a processor terminated: the process has finished execution |
| There are processes that can create other processes, sometimes to do work for them. What are the creator and created processes called? | parent (creator) child (created) |
| In UNIX, what system call is used to create a new process from an existing one? | fork() |
| What does fork() return in a child process? | 0 |
| What system call does a child run in UNIX to start a new, different process? | exec() |
| What does fork() return in the parent process? | the process ID of the new child |
| After completion, a process may use the system call _______, asking the OS to delete it. | exit() |
| What two things happen when a child process calls exit() ? | The parent is notified and resources are deallocated. |
| A parent can terminate the execution of a child process by using what system call? | abort() |
| What are two reasons for a parent process to call abort() ? | Task assigned to child is no longer needed. Child is exceeding allocated resources. |
| If a parent exits, all children are also terminated, as required by the OS. What is this known as? | cascading termination |
| What is a context switch in terms of UNIX? | When one process stops and another one is restarted. |
| What are the four steps to achieve a context switch in UNIX? | 1. OS takes control through interrupt. 2. OS saves the context in the process PCB (process control block). 3. OS reloads new context from the new process's PCB. 4. Return control to application program. |
| What is context in UNIX? | information about the running process, including code, register contents, and OS resources that are in use. |
| A procedure/container that contains temporary data, subroutine parameters, return addresses, and local variables. | stack |
| True or false: there is an interleaving of process execution in a time sharing OS. | true |
| This selects the process from the ready queue to be run on the CPU. | short term scheduler |
| When does the short term scheduler run? What occurs when it is running? | It runs when a process is created and terminated or when a process switches from running to waiting (block) state. An interrupt occurs. |
| What are the four main goals of a short term scheduler? | Maximize throughput (number of tasks per unit of time). Minimize response time. Efficient use of resources. Minimize overhead (context switching, etc.) |
| This temporarily swaps processes in and out of main memory, and can suspend and resume processes. | medium term scheduler |
| What is the goal of a medium term scheduler? | Balance load for better throughput. |
| This selects a job from a pool and loads it into memory. Because of its infrequent execution, maybe only one process leaves the system. | long term scheduler (also known as a job scheduler) |
| What is the goal of a long term scheduler? | A good mix of I/O-bound and CPU-bound processes. |
| Characterized by spending more time doing I/O than computation, as well as many short CPU bursts. | I/O-bound process |
| Characterized by spending more time doing computation than I/O, as well as having very few long CPU bursts. | CPU-bound process |
| Cooperating processes communicate via what? | interprocess communication (IPC) |
| What are the two models of IPC? | shared memory and message passing |
| in a FCFS environment, it is when a short process is scheduled behind a longer process. | convoy effect |
| Is FCFS preemptive or non-preemptive? | non-preemptive |
| True or false: FCFS is a good scheduling choice for a time sharing system. | false |
| In FCFS, the CPU is allocated with a process at the _____ of a queue, while any incoming process after that is allocated to the ______. | head, tail |
| when CPU is available, it will be assigned to process that has smaller next CPU time in this scheduling implementation. | shortest job first (SJF) |
| How do you calculate turnaround time? | waiting time + execution time |
| What is the diagram that is drawn in figuring out process scheduling known as? | Gantt diagram |
| If two processes have the same next CPU burst, what scheduling implementation is used to determine which process goes next? | FCFS |
| Why is SJF optimal? | it results in the minimum average waiting time. It decreases waiting time for short processes while increasing waiting time for long processes. |
| Why is implementation of SJF difficult? | You need to know how long the next CPU burst is going to be for every process beforehand. |
| True or false: SJF can be preemptive or non-preemptive. | trueq |
| What is the preemptive implementation of SJF known as? | SRT (shortest remaining time) |
| True or false: the priority of a process can be determined either internally or externally. | true |
| What internal measures are used to determine the priority of a process? | time, memory requirement, number of open files |
| What external measures are used to determine the priority of a process? | importance of process, type of process, importance of owner who owns the process |
| Equal priority processes are allocated using what scheduling implementation? | FCFS |
| True or false: a priority scheduler can be either preemptive or non-preemptive. | true |
| What happens in a preemptive priority scheduler when a new process arrives in the system? | When the new process arrives, its priority is checked against the priority of the currently running process. If the new process has a higher priority, it will enter the CPU. |
| What is starvation? | Starvation is when a lower priority process is stuck waiting forever for the CPU, and is a major problem with a priority scheduler. |
| How does a priority scheduler combat the problem of starvation? | Aging, which is the increase in priority of a process that has been waiting for a long time. |
| What are the eight UNIX process states? | created ready (memory) ready (disk) running (kernel) running (user) asleep blocked (memory) asleep blocked (disk) zombie |
| This scheduling implementation is designed specifically for use within a time sharing system, and employs the use of a quantum time to have circular queue implementation. FCFS is still used to select the next process from the queue, however. What is it? | round robin scheduling |
| True or false: round robin is preemptive if quantum time < burst time. | true |
| What happens if the time quantum in a round robin scheduler is too large or too small? | too large: approximates FCFS too small: too many context switches |
| What is the formula for allocating another time slice in a round robin? | N*Q, where N is the time slice and Q is the time quantum |