Font size
WorksheetsAPES Exam 1
Total questions: 170
Worksheet time: 3hrs 46mins
An (a) is software that manages a computer's hardware (no universal definition).
An (a) is a program that acts as an intermediary between a user of a computer and the computer hardware.
An operating system executes user programs and make solving user problems (a) .
An operating system makes the computer system (a) to use.
An operating system uses the computer hardware in an (a) matter.
A computer system consists of __________, _______ system, __________ programs, _________.
(a)
The (a) provides basic computer resources (CPU, memory, I/O devices)
Users directly use the hardware.
True
False
The (a) controls and coordinates use of hardware among various applications.
The (a) define the ways in which the system resources are used to solve the computer problems of the users (word processors, compilers, web browsers, database systems, video games).
The (a) are people, machines, other computers.
An operating system provides an (a) within which other programs can do useful work.
The two viewpoints of an operating system are_______ and _______.
(a)
Personal computers are designed to (a) its resources to maximize work that the user is performing.
Users want ___________, _____ of _________, ________ performance.
(a)
Operating system user's view pay some attention to performance and security and none paid to (a) .
(a) is how various hardware and software resources are shared.
From the (a) the operating system is the program most intimately involved with hardware.
(a) of an operating system manages resources such as CPU, time, memory space, storage space, I/O devices, etc.
A (a) manages the execution of user programs to prevent errors and improper use of the computer. It is especially concerned with the operation and control of I/O devices.
(a) such as mainframe and minicomputers must keep all users happy.
(a) such as workstations have dedicated resources but frequently use shared resources from servers.
(a) computers are resource poor, need to be optimized for usability and battery life.
The (a) runs at all times in an operating system.
The remaining parts of the OS are referred to as (a) .
System programs represent a software framework that provides additional services to applications. They are not part of the operating system.
True
False
(a) predicted that the number of transistors on an integrated circuit would double every eighteen months.
A modern general-purpose computer system consists of one or more CPUs and and a number of device controllers connected through a common (a) that provides access between components and shared memory.
Each (a) is in charge is in charge of a specific type of device and may have one or more device attached.
Operating systems have a (a) that understands the device controller and provides the rest of the OS with a uniform interface to the device.
The CPU and the device controllers can execute in parallel, competing for memory cycles. To ensure orderly access to the shared memory, a (a) synchronizes access to the memory.
Each device controller has a (a) , and CPU CPU moves data from/to main memory to/from these local buffers.
(a) is when a small amount of time is given to execute tasks then stops and switches to a different one.
When a CPU is ___________, it stops what it is doing and immediately transfers execution to an ____________________ (interrupt handler) generally, through the interrupt vector, which contains the addresses of all the service routines.
(a)
(a) contains addresses of interrupt routines with a table of pointers to interrupt routines stored in low memory ( the first hundred or so locations). Addresses indexed by a unique number, given the with the interrupt request, to provide the address of the interrupt service routine or the interrupting device.
After the interrupt is serviced, the saved return address is loaded into the (a) (holds addresses of instructions), and the interrupted computation resumes as though the interrupt had not occurred.
(a) must save the address of the interrupted instruction so that interrupted computation can resume upon completion of the interrupt service routine.
Interrupt Architecture must save the address of the (a) so that interrupted computation can resume upon completion of the interrupt service routine.
The CPU hardware has a wire called the (a) that the CPU senses after executing every instruction.
When the CPU detects that a controller has asserted a signal on the interrupt-request line, it reads the interrupt number and jumps to the (a) by using that interrupt number as an index into the interrupt vector. It then starts execution at the address associated with that index. The interrupt handler saves any state it will be changing during its operation, determines the cause of the interrupt, performs the necessary processing, performs a state restore, and executes a return_from_interrupt instruction to return the CPU to the execution state prior to the interrupt.
We say that the device controller (a) an interrupt by asserting a signal on the interrupt request line.
The CPU _______ the interrupt and __________ it to the interrupt handler, and the handler __________ the interrupt by servicing the device.
(a)
Which of the following clears the interrupt by servicing the request?
Interrupt Request Line
Interrupt-Controller Hardware
Interrupt Vector
Interrupt Service Routine
In modern computer hardware, these three features are provided by the CPU and the (a) .
Most CPUs have two interrupt request lines which are __________and _____________ interrupts.
(a)
(a) is reserved for events such as unrecoverable memory errors.
(a) can be turned off by the CPU before the execution of critical instruction sequences that must not be interrupted (used by device controllers to request service).
(a) is when each element in the interrupt vector points to the head of a list of interrupt handlers. When an interrupt is raised, the handlers on the corresponding list are called one by one, until one is found that can service the request. This structure is a compromise between the overhead of a huge interrupt table and the inefficiency of dispatching a single interrupt handler.
interrupt (a) enable the CPU to defer the handling of low-priority interrupts without masking all interrupts and makes it possible for a high-priority interrupt to preempt the execution of a low-priority interrupt.
A (a) or exception is a software-generated interrupt caused either by an error or user request.
A (a) temporarily disables further interrupts.
A (a) interrupt is sent from the hardware controller.
Operating systems are (a) driven
General-purpose computers run most of their programs from re-writable memory, called (a) (random-access memory).
(a) the only large storage media that CPU can access directly (typically volatile).
Main memory is not suitable for permanent program/data storage because it is volatile memory.
False
Main memory commonly is implemented on a semiconductor technology called (a) (dynamic random-access memory) (volatile).
The first program to run on a computer power-on is a (a) , which then loads the operating system.
Since RAM is (a) (loses its content when power is turned off or otherwise lost) we cannot trust it to hold the bootstrap program.
The computer uses electrically erasable programmable read-only memory (EEPROM) and other forms of (a) (storage that is infrequently written to and is nonvolatile). EEPROM can be changed but cannot be changed frequently. In addition, it is low speed, and so it contains mostly static programs and data that aren't frequently used (iPhones uses EEPROM to store serial numbers and hardware information about the device).
The basic unit of computer storage is the (a) .
A (a) is 8 bits, and on most computers it is the smallest convenient chunk of storage.
A (a) is a given computer architecture's native unit of data. A word is made up of one ore more bytes. For example, a computer that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8 byte) words.
A (a) is 1,024 bytes.
A (a) is 1,024^2 byes.
A (a) is 1,024^3 bytes.
A (a) is 1,024^4 bytes.
A (a) is 1,024^5 bytes.
The _______ instruction moves a byte or word from main memory to an internal register within the CPU, whereas the ___________ instruction moves the content of a register to main memory. Aside from explicit loads and stores, the CPU automatically loads instructions from main memory for execution from the location stored in the program counter.
(a)
Most computer systems provide (a) as an extension of main memory.
The most common secondary-storage devices are______________ (HDDs) and _______________ (NVM) devices, which provide storage for both programs and data. Most programs are stored in secondary storage until they are loaded into memory.
(a)
CD-ROM or blu-ray, magnetic tapes, USB drives, and etc are examples of (a) .
The top four levels in the figure are constructed using (a) , which consists of semiconductor-based electronic circuits.
(a) devices, at the fourth level, have several variants but in general are faster than hard disks. The most common kind is flash memory.
Hard drives and optical disks are (a) .
FRAM, NRAM, and SSD are NVM devices that are (a) .
The design of a complete storage system must balance all the factors just discussed: it must use only as much expensive memory as necessary while providing as much inexpensive, nonvolatile storage as possible. (a) can be installed to improve performance where a large disparity in access time or transfer rate exists between two components. Information in use is copied from slower to faster storage temporarily. Cache is checked first to determine if information is there; use from there if yes, otherwise data is copied to cache and used there. Cache is smaller than storage. Need to consider cache size and replacement policy.
(a) (DMA) is used to move large amounts of data.
In performing I/O operations, the CPU moves data between main memory and the I/O device.
True
False
A device controller informs a device driver it has completed an I/O operation using an (a) .
Which of the following will trigger an interrupt?
Kernel function
Software execution
CPU execution
I/O completion
Direct Memory Access (DMA) is used for high-speed I/O devices able to transmit data at close to memory speeds. Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. Only one interrupt is generated per (a) , rather than on interrupt per byte.
(a) are computer systems with a single processor containing one CPU with a single processing core.
The (a) is the component that executes instructions and contain registers for storing data locally.
Single-processor systems come in a form of (a) , such as microprocessor on a keyboard that converts the keystrokes into codes to be sent to the CPU.
Most modern computer systems use (a) which have two (or more) processors, each with a single-core CPU.
Multiprocessor system advantages include (a) .
The speed-up ratio with N processors is not N, but is (a) than N. When multiple processors cooperate on a task, a certain amount of overhead is incurred in keeping all the parts working correctly. This overhead, plus contention for shared resources, lowers the expected gain from addition processors.
The most common multiprocessor systems use (a) (SMP), in which each peer CPU processor performs all tasks, including operating-system functions and user processes. Each CPU has its own set of registers and cache but shares the sam physical memory over the system bus.
The benefit of symmetric multiprocessing is that N processes can run if there are N CPUs without causing performance to deteriorate significantly. However, since the CPUs are separate, one may be sitting (a) while the other is overloaded, resulting in inefficiencies.
The definition of ___________________ has evolved over time and now includes ______________ systems, in which multiple computing cores reside on a single chip.
(a)
Multicore systems can be more efficient than multiple chips with single cores because on-chip communication is (a) than between-chip communication. In addition, one chip with multiple cores uses significantly less power than multi single-core chips.
Multicore systems have cores with its own __________ and level 1 ____________ with shared level 2 ____________ on the chip.
(a)
A multicore processor with N ________ appears to the operating system as N standard __________.
(a)
Another type of multiprocessor system is a (a) , which gathers together multiple CPUs typically by sharing storage through local area network (LAN).
Clustered systems are (a) as opposed to tightly coupled multiprocessing.
Clustering is usually used to provide (a) that is, a service that will continue even if one or more systems in the cluster fail. Generally, we obtain high availability by adding a level of redundancy in the system. A layer of cluster software runs on the cluster nodes. Each node can monitor one or more of the others (over the network).
If the monitored machine fails, the monitoring machine can take ownership of its storage and restart the applications that were running on the failed machine. The users and clients of the applications see only a brief interruption of service. High availability provides increased reliability, which is crucial in m any applications. The ability to continue providing service proportional to the level of surviving hardware is called (a) .
Some systems go beyond degradation and are called (a) , because they can suffer a failure of any single component and still continue operation. Fault tolerance requires a mechanism to allow the failure to be detected, diagnosed, and if possible, corrected.
Clustering can be structured ________________ or __________________.
(a)
In (a) , one machine is in hot-standby mode while the other is running the applications. The hot-standby host machine does nothing but monitor the active server. If that server fails, the hot-standby host becomes the active server.
In (a) , two or more hosts are running applications and are monitoring each other. This structure is obviously more efficient, as it uses all the available hardware. However, it does require that more than one application be available to run.
Since a cluster consists of several computer systems via a network, clusters can be used to provide (a) environments. Such systems can supply significantly greater computational power than single-processor or even SMP systems because they can run an application concurrently on all computers in a cluster.
The application must have been written specifically to take advantage of the cluster, however. This involves a technique known as (a) , which divides a program into separate components that run in parallel on individual cores in a computer or computers in a cluster. Typically, these applications are designed so that once each computing node in the cluster has solved its portion of the problem, the results from all the nodes are combined into a final solution.
Parallel clusters allow multiple hosts to access the same data on shared storage because most operating systems lack support for simultaneous data access by multiple hosts, parallel clusters usually require the use of special versions of software and special releases of applications. Each machine has full access to all data in the database. To provide this hared access, the system must also supply access control and locking to ensure that no conflicting operations occur. This function, commonly known as (a) (DLM), is included in some cluster technology.
Some cluster products support thousands of systems in a cluster as well as clustered nodes that are separated by miles. Many of these improvements are made possible by (a) - (SANs) which allow systems to attach to a pool of storage. If the applications and their data are stored on the SAN, then the cluster software can assign the application to run on any host that is attached to the SAN. If the host fails then any other hosts can takeover.
Hadoop is organized around the following three components: A distributed file system that manages data and files across distributed computing nodes, the YARN ("yet another resource negotiator") framework which manages resources within the cluster as well as scheduling tasks on nodes in the cluster. The (a) system, which allows parallel processing of data across nodes in the cluster.
What program runs at all time on a computer?
(a)
Once the kernel is loaded and executing, it can start providing services to the system and its users. Some services are provided outside of the kernel by system programs that are loaded into memory at boot time to become (a) , which run the entire time the kernel is running. Once this phase is complete, the system is fully booted, and the system waits for some event to occur.
Events are almost always signaled by the occurrence of an _____________ as _________ which is a software-generated interrupt caused either by an error or by a specific request from a user that an operating-system service be performed by executing a special operation called a ____________.
(a)
(a) increases CPU utilization, as well as keeping users satisfied, by organizing programs so that the CPU has one to execute.
In a multi programmed system, a program in execution is termed a (a) .
In a non multi programmed system, the CPU would sit idle. In a multi programmed system, the operating system simply (a) to, and executes, another process.
(a) is a logical extension of multi programming.
In multitasking systems, the CPU executes multiple processes by switching among them, but the switches occur frequently, providing the user wit a faster (a) .
Several processes are ready to run at the same time, the system must choose which will run next, making this decision is (a) .
(a) is a technique that allows the execution of a process that is not completely in memory. The main advantage of this scheme is that it enables users to run programs that are larger than actual physical memory. It abstracts main memory into a large, uniform array of storage, separating logical memory as view by the user from physical memory. This arrangement frees programmers from concern over memory-storage limitations.
(a) operations allow OS to protect itself from other system components.
A bit called (a) indicated the current mode either kernel or user.
When the computer system is executing on behalf of a user application, the system is in (a) . However, when a user application requests a service from the operating system (via a system call), the system must transition from user to kernel mode to fulfill the request.
At system boot time, the hardware starts in (a) . The operating system is then loaded and starts user applications in user mode, Whenever a trap or interrupt occurs, the hardware switches from user mode to kernel mode. Thus, whenever the OS gains control of the computer, it is in kernel mode. The system always switches to user mode before passing control to a user program.
The dual mode of operation provides us with the means for protecting the operating system from errant users - and errant users from one another. We accomplish this protection by designating some of the machine instructions that may cause harm as (a) . The hardware allows privileged instructions to be executed only in kernel mode. If an attempt is made to execute a privileged instruction in user mode, the hardware does not execute the instruction but rather treats it as illegal and traps it to the OS.
Processors have (a) where rings can be assigned to user or kernel mode.
CPUs that support virtualization frequently have a separate mode to indicate when the (a) (VMM) is in control of the system. In this mode, the VMM has more privileges than user processes but fewer than the kernel.
A (a) is used to prevent infinite loop or process hogging resources.
A (a) is generally implemented by a fixed-rate clock and a counter. The OS sets the counter. Every time the clock ticks, the counter is decremented. When the counter reaches 0, an interrupt occurs. Before turning control over to the user, the operating system ensures that the timer is set to interrupt. If the timer interrupts, control automatically transfers to the OS.
Functions provided by OS for workload & resource management: (a) (PMFMI)
A program is a ________entity, like the contents of a file stored on a disk, whereas a process is an ______ entity.
(a)
A single-threaded process has one (a) specifying the next instruction to execute.
(a) process has one program counter for each thread.
(a) requires reclaim of all reusable resources.
The operating system is responsible for the following activities in connection with process management:
Creating and deleting both user and system processes, Scheduling processes and threads on the CPUs, Suspending and resuming processes, Providing mechanisms for process synchronization, providing mechanisms for process (a) .
What are these requirements for?
(a)
To execute a program all (or part) of the instructions and needed data must be in (a) .
Memory management determines what is in memory, where and when to (a) CPU utilization and computer response to users.
Memory keeps track of which parts of memory is currently being used and by whom, decides which process and data to move into and out of memory, allocating and (a) memory space as needed.
File System Management: OS provides uniform logical view of information storage. Usually organized into (a) .
OS activities include (a) /deleting files/directories, primitives to manipulate files/directories, mapping files onto secondary storage, and backup files onto stable (non-volatile storage media).
Mass-storage consists of storage too (a) to be stored on main memory or is stored for long term.
Entire speed of computer operation hinges on (a) and its efficiency.
Mass storage OS activities include free-space management, storage allocation, and disk (a) .
Some storage does not need to be fast such as (a) storage but still must be manged by OS.
Data from secondary storage moves to main memory then moves to (a) then moves to hardware register.
Two important design issues for cache memory are size and (a) policy.
IN a multitasking environment, where the CPU is switched back and forth among various processes, extreme care must be taken to ensure that, if several processes wish to access A, then each of these processes will obtain the most recently updated value of A. In such an environment, a copy of A may exist simultaneously in several local caches. Since the various CPUs can all execute in parallel, we must make sure that an update to the value of A in one cache is immediately reflected in all other caches where A resides, this situation is called (a) , and it is usually a hardware issue.
One purpose of OS is to hide (a) of hardware devices from user.
I/O subsystem is responsible for memory management of I/O, general device- (a) interface, and drivers for specific hardware devices.
In the course of normal system use, the user ID and group ID for a user are sufficient. However, a user sometimes needs to (a) to gain extra permissions for an activity.
(a) is a technology that allows us to abstract the hardware of a single computer (the CPU, memory, disk drives, network interface cards, and so forth) into several different execution environments, thereby creating the illusion that each separate environment is running on its own computer. These environments can be viewed as different individual operating systems (for example, Windows and UNIX) that may be running at the same time and may interact with each other.
A user of a (a) can switch among the various operating systems in the same way a user can switch among the various processes running concurrently in a single operating system.
Broadly speaking, virtualization software is one member of a class that also includes emulation. (a) , which involves simulating computer hardware in software, is typically used when the source CPU type is different form the target CPU type. For example, when Apple switched from IBM Power CPU to the Intel x86 CPU for its desktop and laptop computers, it included an emulation facility called "Rosetta," which allowed applications compiled for the IBM CPU to run on the Intel CPU. That same concept can be extended to allow an entire operating system written for one platform to run on another. Emulation comes at a heavy price, however. Every machine-level instruction that runs natively on the source system must be translated to the equivalent function on the target system, frequently resulting in several target instructions. If the source and target CPUs have similar performance levels, the emulated code may run much more slowly than the native code.
With virtualization, in contrast, and operating system that is natively compiled for a particular CPU architecture runs within another operating system also native to that CPU. Virtualization first came about on IBM mainframes as a second method for multiple users to run tasks on a system designed for a single user. Later, in response to problems with running multiple Microsoft Window applications on the Intel x86 CPU, VMware created a new virtualization technology in the form of an application that ran on Windows. That application ran one or more guest copies of Windows or VMware application was the (a) (VMM). The VMM runs the guest operating systems, manages their resource use and protects each guest from the others.
A (a) is a collection of physically separate, possibly heterogeneous computer systems that are networked to provide users with access to the various resources that the system maintains. Access to a shared resource increases computation speed, functionality, data availability, and reliability. Some operating systems generalize network access as a form of file access, with the details of networking contained in the network interface's device driver. Others make users specifically invoke network functions. Generally, systems contain a mix of the two modes - for example FTP and NFS. The protocols that create a distributed system can greatly affect that system's utility and popularity.
In a _________ linked list, each item points to its successor.
In a __________ linked list, a given item can refer either to its predecessor or to its successor.
In a __________ linked list, the last element in the list refers to the first element, rather than to null.
(a)
Linked lists accommodate items of varying sizes and allow easy insertion and deletion of items. One potential disadvantage of using a list is that performance for retrieving a specified item in a list of size n is linear (a) , as it requires potentially traversing all n elements in the worst case.
A ___________ is LIFO and may be used for parameters, local variables, return, and return addresses pushed onto the stack when a function is called; returning from the function call pop those items off the stack. ______ is FIFO and maybe used for jobs sent to the printer or CPU scheduling.
(a)
A (a) is a data structure that can be used to represent data hierarchically.
In a (a) , a parent may have an unlimited number of children.
In a (a) , a parent may have at most two children, which we term the left child and the right child.
A (a) additionally requires an ordering between the parent's two children in which left_child <= right_child.
When we search for an item in a binary search tree, the worst-case performance is (a) .
A balanced binary search tree has (a) performance.
Linux Scheduling uses a balanced binary search tree known as (a) as part of its CPU-scheduling algorithm.
A (a) takes data as its input, performs a numeric operation on the data, and returns a numeric value. This numeric value can then be used as an index into a table (typically an array) to quickly retrieve data. Whereas searching for a data item through a list of size n can require up to O(n) comparisons, using a hash function for retrieving data from a table can be as good as O(1), depending on implementation details. Because of this performance, hash functions are used extensively in operating systems.
One potential difficulty with has functions is that two unique inputs can result in the same output value - that is, they can link to the same table location. We can accommodate this (a) by having a linked list at the table location that contains all of the items with the same hash value. Of course, the more collisions there are, the less efficient the hash function is.
One use of a hash function is to implement a (a) , which associates (or maps) [key:value] pairs using a hash function. Once the mapping is established, we can apply the hash function to the key to obtain the value from the hash map. For example, suppose that a username is mapped to a password. Password authentication then proceeds as follows: a user enters her username and password. The hash function is applied to the username, which is then used to retrieve the password. The retrieved password is then compared with he password entered by the user for authentication.
(a) is a string of n binary digits representing the status of n items. For example, suppose we have several resources, and the availability of each resource is indicated by the value of a binary digit: 0 means that the resource is available, while 1 indicates that it is unavailable (or vice versa). The value of the i^th position in the bitmap is associated with he i^th resource. The bitmap below shows resources 2, 4,5 , 6, and 8 are unavailable; resources 0, 1, 3, and 7 are available.
The power of bitmaps becomes apparent when we consider their space efficiency. If we were to use an eight-bit Boolean value instead of a single bit, the resulting data structure would be eight times larger. Thus, bitmaps are commonly used when there is a need to represent the availability of a large number of resources. Disk drives provide a nice illustration. A medium-sized disk drive might be divided into several thousand individual units, called (a) . A bitmap can be used to indicate the availability of each disk block.
Which of the following are used by Linux kernel as data structures?
List, stacks, and queues
Trees
Hash Maps
All of the above
None of the above
Solid state disks are considered volatile storage.
True
False
