A few comments...
jetman3 wrote:
I will keep this short and sweet. This message is directed at Dimitry Postrigan, the author of MHDD (among other things.)
FYI, don't expect him to read your post automatically - he has said several times that he doesn't have time to do read every posting here. If you want to be sure that he'll read your post, I recommend that you PM him with a link to this thread.
jetman3 wrote:
If there is any criticism of MHDD, it's that MHDD is hosted on a brain-dead OS: DOS.
That's one of the big
advantages of the MHDD software too!!
DOS does not force a program to use storage drivers and does allow access from user programs(e.g. MHDD) directly to I/O port addresses. Therefore MHDD can access any I/O port address, to directly access the registers in an HBA register set and program them. This direct accessing of the HBA cannot be done reliably or safely, at the same time as an OS driver is controlling the HBA.
jetman3 wrote:
Anyway, hosting MHDD on a modern Linux system would offer several advantages/enhancements:
- ongoing, state-of-the-art driver support for all the different controllers/devices on the market
- a modern host OS, which directly supports multitasking and other programming abstractions
- a superior programming/development environment
As soon as you introduce OS drivers into the I/O stack for any diagnostics, you are leaving yourself open to misdiagnosis of the hardware, due to problems (or lack of functionality etc.) in the drivers. Using OS drivers is not risk-free. You have seen this yourself, with the Panasonic USB driver which you described! I've had to help HBA manufacturers fix their drivers (and built-in firmware) before, so I know some of the problems they can have, including coping very badly with defective drives, and having their own bugs, which wrongly make you think that a drive is faulty, even when it isn't.
When writing diagnostics, you typically don't
want multi-tasking involved, when you're performing any timing-senstive operations. You list this as if it's a positive. For me, as someone who is also involved in writing diagnostic software, it's a negative. Also, MHDD could not easily access the I/O port addresses directly (as it does now), running as a user program on Linux.
jetman3 wrote:
Even though I've been a professional programmer for nearly thirty years, I don't have the requisite Linux programming expertise, to ensure that this exercise is even feasible.
Of course it's up to Dmitry to decide, but IMHO I fear you may be underestimating the extent of the changes necessary to a low-level program like MHDD, to have it use
any modern underlying OS and still reliably and completely do what it does today, using DOS. If MHDD is rewritten to run on Linux, that software cannot replace the great simplicity and lack of ambiguity in the results, that MHDD (on DOS) provides today
