We have all heard the admonition about safely removing USB devices when we are done with them, but what if an operating system is suspended and you decide to simply unplug the USB device then and there anyway?
THE QUESTION:
We
are often cautioned against unplugging USB drives in case they are
currently being read from or written to. When a computer is suspended,
hibernated, or asleep, it is obviously not writing any data. It may have
been in the middle of a read or write operation, however, and it will
have put such an operation on hold.
Since
no arms are moving (for USB hard drives), or bytes on the drive
flickering on and off (for flash drives), is it then “safe” to unplug
the drive in question?
Is
this true even if data was being written to it, but the operation was
temporarily suspended? (Assuming you do not mind that specific file
having been only half-written to the USB drive..
THE ANSWER:
While
there are indeed no transfers going on, the reason you do the Safely
Remove Hardware dance is not because of the transfers. You are doing
this to cleanly unmount the file system. Programs may still be using the
USB drive and some files may still be unwritten to the disk, even after
the application using them is closed. This is the same reason why you
do not just hibernate and switch operating systems. A mounted file
system is never guaranteed to be in a consistent state.
Ever
wondered why an operating system slowed down to a crawl when using
floppies? It is because the cache was flushed after writing each sector
so that the floppy could be removed at any time when not in use.
You
will still get a dialog pop-up and your program will hang if you try to
access a floppy that was removed behind your back. Just insert the
floppy back and be done. This will not work with USB drives because they
get a different identifier each time. The program will just crash and
the operating system may too if a driver was accessing a file...
Comments
Post a Comment