System Programming MCQs with Answers
Practice important System Programming MCQs with answers and explanations.
Multiple Choice Questions
Q3341: What is the role of InterlockedIncrement(&mBlock.mSequence) in Produce()?
- A: Increase message count atomically
- B: Signal event
- C: Release mutex
- D: Reset flags
View Answer
A
Q3342: What function waits for the consumer and producer threads to finish?
- A: WaitForSingleObject
- B: CreateMutex
- C: CloseHandle
- D: ReportError
View Answer
A
Q3343: The message checksum is calculated using which operator?
- A: AND
- B: XOR
- C: OR
- D: NOT
View Answer
B
Q3344: What does the Consume thread do when the user inputs 's'?
- A: Sets fStop flag to stop consumption
- B: Consumes the next message
- C: Displays the message
- D: Resets the mutex
View Answer
A
Q3345: In the Consume thread, what does WaitForSingleObject(mBlock.mReady, INFINITE) do?
- A: Waits until a message is ready
- B: Waits for mutex
- C: Waits for thread completion
- D: Waits for user input
View Answer
A
Q3346: Which function is responsible for displaying message details?
- A: MessageDisplay
- B: MessageFill
- C: Produce
- D: Consume
View Answer
A
Q3347: Mutexes ensure:
- A: Exclusive access to message data
- B: Simultaneous access to message data
- C: Message duplication
- D: Unrestricted access
View Answer
A
Q3348: If the checksum validation fails during MessageDisplay, what happens?
- A: The message is discarded
- B: The message is processed anyway
- C: The program crashes
- D: The checksum is recalculated
View Answer
A
Q3349: The MSG_BLOCK structure uses which data type for the message buffer?
- A: DWORD
- B: CHAR
- C: INT
- D: HANDLE
View Answer
B
Q3350: What does the fStop flag signify in the Producer-Consumer program?
- A: Stop producing and consuming
- B: Ready message
- C: Mutex status
- D: Checksum error
View Answer
A