System Programming MCQs with Answers
Practice important System Programming MCQs with answers and explanations.
Multiple Choice Questions
Q3331: If multiple threads need to be released simultaneously, a _______ reset event is preferred.
- A: manual
- B: auto
- C: semi
- D: dual
View Answer
A
Q3332: PulseEvent() in manual-reset events _______ the event after releasing waiting threads.
- A: resets
- B: signals
- C: opens
- D: locks
View Answer
A
Q3333: What synchronization mechanism is used in the Producer-Consumer solution described?
- A: Mutexes
- B: Semaphores
- C: Critical Sections
- D: Spinlocks
View Answer
A
Q3334: What kind of event is used to signal the availability of new messages in the Producer-Consumer solution?
- A: Auto-reset event
- B: Manual-reset event
- C: Binary semaphore
- D: Counting semaphore
View Answer
A
Q3335: Which function in the code is responsible for filling the message buffer with data?
- A: Produce
- B: MessageFill
- C: Consume
- D: MessageDisplay
View Answer
B
Q3336: What is the purpose of the mGuard in the MSG_BLOCK structure?
- A: Signal event
- B: Mutex to guard the message block
- C: Store message data
- D: Count lost messages
View Answer
B
Q3337: Which flag indicates that a message is ready to be consumed?
- A: fReady
- B: fStop
- C: mReady
- D: mGuard
View Answer
A
Q3338: In the Producer-Consumer solution, what happens after SetEvent(mBlock.mReady) is called?
- A: The consumer thread is signaled to consume the message
- B: The producer stops producing
- C: The mutex is released
- D: The checksum is validated
View Answer
A
Q3339: The variable mSequence in MSG_BLOCK represents:
- A: The number of messages lost
- B: The message sequence number
- C: The mutex handle
- D: The event handle
View Answer
B
Q3340: Sleep(rand()/5) in the producer thread is used to:
- A: Control message generation rate
- B: Lock the mutex
- C: Signal consumer thread
- D: Validate checksum
View Answer
A