According to Hailperin, an operating system is software that... A allows users to interact easily with the computer hardware to run programs. B uses the hardware resources of a computer system to provide support for the execution of other software. C regulates the sharing of limited computer resources, like the CPU, disk drive, RAM, etc. D allows users to run applications, such as compilers, IDEs, etc. All computers require an operating system to be useful. A True B False Middleware is... A software that runs on devices such as disk drive controllers or network interfaces to translate requests from an operating system into instructions for that device. B software that runs between the user and applications, e.g., the software that displays the Start menu in Windows or the software executing in a Terminal to allow you to run programs. C a layer of software that sits between a large program (such as a database) and the hardware the program uses (such as the disk drive). D software that sits between an operating system and applications, providing higher-level services than the operating system itself provides. A thread is... A the fundamental unit of concurrency in a computer. B a program executing on the CPU. C the flow of execution of a program, line by line, and jumping into called functions, etc. D a subsystem of a CPU that executes arithmetic computations. A process can have no threads associated with it. A True B False Virtual memory refers to ... A the technique of translating every memory access from one address to another one. B memory that a program can access, but actually only exists in disk blocks on secondary storage. C memory that can be added dynamically to an operating system, such as memory on a flash drive or in the cloud. D None of the above. In the section "Supporting Interaction Across Time", the author talks about OS support for... A writing programs and data to persistent storage. B executing programs at later times. C supporting the interleaving of threads across time on a CPU. D sending data from one program to another program on a remote computer. Most operating systems support networking because... A most operating systems must write data to remote file systems to save the data permanently. B most operating systems cannot function without receiving data from remote servers, such as web servers. C users of computers need access to remote data served to them over networks. D what good is a computer without the Internet? Almost all parts of an operating system have security considerations. A True B False A program contains __________________, whereas a thread consists of _________________________. A threads; tasks B functions; instructions C executing threads; a series of instructions D instructions; the execution of those instructions Most uses for concurrent threads serve one of two goals: A Efficiency and allowing a user to run multiple programs simultaneously B Efficiency and resource utilization C Optimization and security D Responsiveness and resource utilization All threads come from user programs. A True B False Thread switching is the most common form of ______________________ a thread. A dispatching B preempting C interrupting D terminating When an OS requires the yield() call be inserted into code in order for multitasking to occur, this is called ... A iterative multitasking. B cooperative multitasking. C imperative multitasking. D preemptive multitasking. Preemptive multitasking requires the existence of a hardware interrupt mechanism. A True B False Our class notes have a process/thread state called "Ready" state. Hailperin calls this state ... A Executable B Available C Runnable D Scheduled The main source of context-switching overhead is A the selection of the next thread to execute. B execution of the code to save the old thread's state and "install" the new thread's state. C entering and exiting kernel mode from user mode. D the cost of accessing RAM that is not cached. A thread in the Ready queue waiting to be run is said to be "busy waiting". A True B False