1. A \_\_\_\_\_ is an example of a systems program. A) command interpreter B) Web browser C) text formatter D) database system
Ans: A
Feedback: 2.2.1
Difficulty: Medium
2. If a program terminates abnormally, a dump of memory may be examined by a \_\_\_\_ to determine the cause of the problem. A) module B) debugger C) shell D) control card
Ans: B
Feedback: 2.4.1
Difficulty: Medium
Ans: A
Feedback: 2.4.5
Difficulty: Medium
4. Policy \_\_\_\_. A) determines how to do something B) determines what will be done C) is not likely to change across places D) is not likely to change over time
Ans: B
Feedback: 2.6.2
Difficulty: Easy
Ans: A
Feedback:: 2.7.2
Difficulty: Medium
Ans: D
Feedback: 2.7.3
Difficulty: Easy
Ans: C
Feedback: 2.9
Difficulty: Medium
Ans: A
Feedback: 2.10
Difficulty: Medium
9. \_\_\_\_\_ provide(s) an interface to the services provided by an operating system. A) Shared memory B) System calls C) Simulators D) Communication
Ans: B
Feedback: 2.3
Difficulty: Medium
10. \_\_\_\_\_ is not one of the major categories of system calls. A) Process control B) Communications C) Protection D) Security
Ans: D
Feedback: 2.4
Difficulty: Easy
11. \_\_\_\_\_ allow operating system services to be loaded dynamically. A) Virtual machines B) Modules C) File systems D) Graphical user interfaces
Ans: B
Feedback: 2.7.4
Difficulty: Medium
12. Microkernels use \_\_\_\_\_ for communication. A) message passing B) shared memory C) system calls D) virtualization
Ans: A
Feedback: 2.7.3
Difficulty: Easy
13. The Windows CreateProcess() system call creates a new process. What is the equivalent system call in UNIX: A) NTCreateProcess() B) process() C) fork() D) getpid()
Ans: C
Feedback: 2.4.1
Difficulty: Easy
14. The close() system call in UNIX is used to close a file. What is the equivalent system call in Windows: A) CloseHandle() B) close() C) CloseFile() D) Exit()
Ans: A
Feedback: 2.4.1
Difficulty: Easy
15. The Windows CreateFile() system call is used to create a file. What is the equivalent system call in UNIX: A) ioctl() B) open() C) fork() D) createfile()
Ans: B
Feedback: 2.4.1
Difficulty: Easy
16. Android runs Java programs \_\_\_\_\_\_\_\_\_\_\_\_\_ A) in the Dalvik virtual machine. B) natively. C) in the Java virtual machine. D) Android does not run Java programs.
Ans: A
Feedback: 2.7.5
Difficulty: Medium
17. \_\_\_\_\_\_ is a mobile operating system designed for the iPhone and iPad. A) Mac OS X B) Android C) UNIX D) iOS
Ans: D
Feedback: 2.7.5
Difficulty: Medium
18. The \_\_\_\_\_\_\_\_ provides a portion of the system call interface for UNIX and Linux. A) POSIX B) Java C) Standard C library D) Standard API
Ans: C
Feedback: 2.4.1
Difficulty: Medium
Ans: C
Feedback: 2.1
Difficulty: Easy
20. \_\_\_\_\_ is/are not a technique for passing parameters from an application to a system call. A) Cache memory B) Registers C) Stack D) Special block in memory
Ans: A
Feedback: 2.3
Difficulty: Medium
Ans: In the first approach, upon the user issuing a command, the interpreter jumps to the appropriate section of code, executes the command, and returns control back to the user. In the second approach, the interpreter loads the appropriate program into memory along with the appropriate arguments. The advantage of the first method is speed and overall simplicity. The disadvantage to this technique is that new commands require rewriting the interpreter program which, after a number of modifications, may get complicated, messy, or too large. The advantage to the second method is that new commands can be added without altering the command interpreter. The disadvantage is reduced speed and the clumsiness of passing parameters from the interpreter to the system program.
Feedback: 2.2
Difficulty: Hard
Ans: The system-call interface of a programming language serves as a link to system calls made available by the operating system. This interface intercepts function calls in the API and invokes the necessary system call within the operating system. Thus, most of the details of the operating-system interface are hidden from the programmer by the API and are managed by the run-time support library.
Feedback: 2.3
Difficulty: Hard
Ans: The simplest approach is to pass the parameters in registers. In some cases, there may be more parameters than registers. In these cases, the parameters are generally stored in a block, or table, of memory, and the address of the block is passed as a parameter in a register. Parameters can also be placed, or pushed, onto the stack by the program and popped off the stack by the operating system.
Feedback: 2.3
Difficulty: Medium
Ans: The code can be written faster, is more compact, and is easier to understand and debug. In addition, improvements in compiler technology will improve the generated code for the entire operating system by simple recompilation. Finally, an operating system is far easier to port — to move to some other hardware — if it is written in a higher-level language.
Feedback: 2.6.3
Difficulty: Medium