1. Which type of thread synchronization is used when a program wants only one thread at a time to access a section of code?
a. semaphore
b. mutex
c. critical section
d. event
b
Choice b is correct. Event synchronization revolves around blocking a thread until a certain set of conditions is met. A semaphore allows only a specified number of threads to access a particular resource or code section. A critical section can only be used by threads within the same process. From p. 12 of "Stepping Up to 32 Bits" in the August 1994 Microsoft Systems Journal, available in the MSDN Development Library.
t02,5
s02
mult
2. In a Windows NT process, which thread's termination causes a process to no longer exist?
a. the primary thread
b. the initial thread
c. the last thread executing
d. the semaphore thread
c
Choice c is correct. In Windows NT, a process remains active until all of its threads terminate. Readings p. 88, from Chapter One of "Advanced Windows NT," by Jeffrey Richter.
t03,6
s03
mult
3. Which of the following are not used to handle user requests in an event-driven operating system?
a. list boxes
b. property changes
c. event loops
d. slider controls
c
Choice c is correct. In Windows, the operating system is constantly checking for messages from controls such as push buttons and list boxes. Event loops are used in other operating systems such as MS-DOS to handle user requests. Readings pp. 79-82, from "Introduction to Windows Programming for MS-DOS Programmers."
t04,7
s04
mult
4. What are the primary functions used to load and unload DLLs?
a. InitDLL and KillDLL
b. LoadDLL and UnloadDLL
c. InitLibrary and KillLibrary
d. LoadLibrary and FreeLibrary
d
Choice d is correct. LoadLibrary and FreeLibrary are used to load and unload DLLs. Readings p. 113, from Chapter Seven of "Advanced Windows NT" by Jeffrey Richter.
t04,8
s05
mult
5. What are the priority classes available for a process?
a. lowest, below normal, normal, above normal, highest
b. high, normal, idle, real-time
c. 1 through 5
d. 1 through 10
b
Choice b is correct. Although the real-time priority class is a special class, there are no more than four priority classes available to processes. The default is normal. The high priority class should be used with extreme caution, while the real-time class can actually prevent the operating system from running. Analog to digital is a possible example of real-time priority processing. Readings p. 93, from Part 3 of the Programmer's Reference in the Win32 SDK for Windows NT.
t01,10
s06
mult
6. Which statement best characterizes symmetric multiprocessor operating systems?
a. Symmetric multiprocessing systems allow the operating system to run on any free processor or on all processors simultaneously.
b. Symmetric multiprocessing systems typically select one processor to execute operating system code while other processors run user jobs.
c. On Windows NT, operating system code cannot be preempted when a higher priority thread needs attention.
d. A single process cannot allow different parts of its program to run on different processors.
a
Choice a is correct. Through the use of threads on Windows NT, operating system code can be preempted when a higher priority thread needs attention. The exception is the Executive or Kernel code. Threads allow one process to execute different parts of its program on different processors at the same time. Readings p. 95, from Chapters 1 and 2 of "Inside Windows NT" by Helen Custer.
t01,13
s07
mult
7. What does the Object Manager do when an object is created?
a. assigns a handle
b. provides a moniker
c. assigns a memory page
d. creates a process
a
Choice a is correct. The object manager creates all object handles. When all handles to an object are closed, the object manager deletes the object. Readings pp. 121-122, from Chapter One of the Resource Guide in the Windows NT Resource Kit.
t03,14
s08
mult
8. How does Windows 95 identify and resolve hardware conflicts for Plug and Play devices?
a. by using the Virtual Memory Manager
b. by reading the USER.DAT file
c. by using resource configuration information in the registry
d. by using the Device Manager
c
Choice c is correct. The registry is used to manage an extensive store of data about the system and its users. The Virtual memory manager is not nearly as relevant to hardware conflict management as is the registry. The USER.DAT registry file holds user information, while the SYSTEM.DAT file holds hardware information. The Device Manager is a user tool and is not used by the system per se. Readings p. 124, from Part 3 of the Programmer's Reference in the Win32 SDK, available in the MSDN Developer's Library.
t03,15
s09
mult
9. How does the Win32 API handle hardware errors?
a. by using guarded memory paging
b. by using termination handling
c. by using structured exception handling
d. by using structured error records
c
Choice c is correct. In Win32, structured exception handling is used for both software and hardware errors. Readings pp. 116-117, from the Win32 Programmer's Reference of the Win32 SDK.
t04,21
s10
multmult
10. Which of the following are true of Task Help?
a. Task-oriented Help topics are organized and displayed in a primary window. The user can size this window like any other primary window.
b. Task-oriented Help information should not include any buttons or controls to provide the user with shortcuts or automation of tasks, since the user usually wants to learn how to do the task himself.
c. Unlike the Help Browser, a Task Help window does not include any command buttons at the top.
d. Task Help windows should have the "always on top" property set.
ad
Only choices a and d are correct. Task-oriented Help information can include a "do it" button to provide the user with shortcuts or automation of tasks. A set of command buttons at the top of the window provides the user access to the Content and Index pages of the Help Topics Browser, the previously selected topic, and a menu of options, including copying and printing a topic. Readings pp. 73-74, from Chapter 2 of the October 1994 "Windows 95 User Interface Design Guide."
t01,22
s11
mult
11. In a non-preemptive multitasking environment, when does an active process give control back to the operating system?
a. whenever a thread with a higher priority is activated
b. whenever a PeekMessage function is called by the application
c. whenever the time slice for the thread expires
d. whenever the time slice for the process expires
b
Choice b is correct. Developers of applications for non-preemptive operating systems often use the PeekMessage function to allow other applications access to the operating system. Without this or some other mechanism, applications in non-preemptive environments execute their code or threads until they complete. Thread priority and time slices are not used as described above in non-preemptive operating system environments. Readings pp. 82-84, from Chapter 6 of "Advanced Windows NT" by Jeffrey Richter.
t03,23
s12
multmult
12. Which of the following are features of Windows 95?
a. portability to non-Intel platforms
b. scaleability to symmetric multiprocessors
c. file merge/reconciliation
d. Multimedia, Compression, Video for Windows
cd
Only choices c and d are correct. Windows 95 supports Multimedia, Compression, Video for Windows, and File merge/reconciliation, but is not portable to non-Intel platforms and is not scaleable to symmetric multiprocessors. For a complete comparison of Windows 95 and Windows NT features, see the table in the Readings book pp. 8-15, from "Why Have Two Desktop Operating Systems?" available in the MSDN Development Library under Technical Articles, Windows (32-bit) Articles, Development Environment Articles. Also from MSDN Development Library under Backgrounders and White Papers, Operating Systems.
t03,26
s13
mult
13. How is OLE structured storage implemented?
a. A storage object can contain streams, but not other storage objects.
b. A storage object can contain both streams and other storage objects.
c. A stream object is the highest level in the OLE storage system.
d. A storage object is analogous to a file within a directory.
b
Choice b is correct. In OLE structured storage, a storage object can contain both streams and other storage objects. A storage object is the highest level in the system, and a stream object is below it. A storage object is analogous to a directory, while a stream object is analogous to a file within a directory. Readings p. 148, from MSDN OLE Documents: Technical Backgrounder.
t03,34
s14
multmult
14. For which of the following would one use an OLE type library?
a. object access
b. Object Browser display
c. type checking for properties and methods
d. linking
abc
Only choices a, b, and c are correct. The type library is not required for linking. Because the type library is an OLE Automation mechanism, one could use it for object access, Object Browser display and type checking of properties and methods. Readings p. 198, from MSDN News, Volume 2, July 1993, Number 4.
t03,41
s15
mult
15. You double-click on an OLE 1.0 object from within an OLE 2.0 document that supports in-place editing. What will happen?
a. an OLE 1.0 editing window will be activated
b. an OLE 2.0 editing window will be activated
c. an error will occur
d. you will have complete OLE 2.0 editing functionality
a
Choice a is correct. OLE 2.0 supports OLE 1.0 features, but OLE 1.0 does not support all OLE 2.0 features. Under OLE 1.0, the typical behavior when double-clicking on an object was for the source application to open with the destination object loaded for editing. From "Object Linking and Embedding 2.0 Technical Backgrounder" in the MSDN Library.
t03,54
s16
mult
16. How should OCX properties be edited?
a. using the Control Panel
b. using a Type Library
c. using the registry
d. using a Property Page
d
Choice d is correct. A property page is an OCX's user interface. An OCX can have as many properties as necessary, and can have any number of properties set from a single page. From "Shifting Gears from VBX to OCX" by John Marsh - Visual Basic Programmer's Journal, June/July 1994 - available in the MSDN Development Library.