Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> We rarely have design problems with the actual hardware

Hah. Spoken as someone that has clearly never written drivers. Take a peek through driver code some day - you'll see workarounds for bugs on different implementations of the same standard. You'll see heuristics to, say, filter out spurious monitors reported as connected by video cards. You'll see poking random values into registers with comments like /* this shouldn't fix things but it does */.

More or less, you'll see dozens of workarounds for hardware bugs. Hardware is buggy.



Actually, there's nothing 'clearly' about it. I spent three years of my life doing nothing but writing drivers for NT 4.0 and later on linux. I'm not saying that hardware these days doesn't generate errors, I'm saying that the errors they produce are understood, and can be corrected/handled in such a way that the system doesn't fall down. You just don't see incorrect values being read in from memory or from disk, because we have error correction systems in place. You don't see the value in a register in a CPU changing for no reason. You don't see uncorrected cross-talk errors on the CPUs data buses. You don't see dodgy values being read off buses due to reflection off incorrect bus terminations. These are all problems that existed at various stages in the development of computers, but these days, it just doesn't happen any more because designers know the problems exist, and engineers are taught how to avoid them at university.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: