|
Answer» It's not actually a problem, more like my curiosity at work...
In its three-year-life, my computer has faced a fair number of BSODs. The reasons have been various; from corrupted memory sticks to a falsely processed Direct-X command. What has always puzzled me, however, is the rarity of an instant, microsecond-long shutdown. Usually, be it a mouse, internet or video driver, as well as memory problems, the OS failure is easy to tell from a strange, not too pleasant sound, which lasts for approximately 3 seconds and continues on after the BLUE screen appearance. Suppose, the computer needs time to create a minidump; yet it’s this sound loop that worries and intrigues me. Whenever some sound is present, e.g. an audio file is playing, and a BSOD occurs (thankfully, quite rarely), the sound gets stuck in some kind of loop, like some type of noise at different frequencies. It’s really not nice to suddenly hear it on a high volume level. (The settings allow me to watch the blue screens however long I like, and all the time this sound loop is present).
So, I’ve been wondering: what exactly causes this to happen? Say, the OS stops RESPONDING, it shuts down, everything freezes - but why have all the programs including the drivers not shut down altogether? Like, why doesn’t the sound simply disappear, the BSOD doesn’t have anything to do with the sound card anyway? Is it the latest audio-driver command still being processed after the OS-shutdown as no stop-command from the driver has been issued? Do those driver-instructions go to the processor via the OS? This might seem a weird or silly question, but I’d really like to UNDERSTAND the workings of my hardware This may not be how it actually works, but it's how I understand it.
The drivers do stop- everything does.
Naturally, though- the hardware doesn't.
A sound card, in simple terms, outputs digital audio. Of course, that audio data needs to come from somewhere, whether it is system memory, or on the card itself. Basically, the sound card has a tiny area of memory that it keeps outputting- a buffer, if you will.
The sound driver is responsible for filling this buffer with the appropriate sound data. when the machine encounters a STOP error, all the drivers are shut down, which MEANS that the sound driver is no longer updating that area of memory, or anything related to the sound output (it being shut down and all). the sound card however- as I noted, is a piece of hardware and can't be "stopped"; it will continue to do what it was told to do by the driver, which in this case is playing sound from the prescribed buffer.
-the buffer never changes, so you get a constant loop of whatever is in the buffer at the time -the driver never tells the sound card to stop, so it keeps going indefinitely.
also Driver instructions don't deal with the CPU (they are run the system CPU, but that's LARGELY irrelevant); they go to the hardware to "drive" them- thus the name.That's very interesting, thank you!
|