I wrote a small driver for the NT kernel, a mini filter driver ( for a project named SyncDisk a thing that did the same thing as dropbox but windows only, in 2007), I was not a device driver per se but I do understand the concepts.
What I'm implying is that the architecture of new computing devices such as the surface or ipad, imacs etc, is changing the nature of the interfacing with expansion ports; devices are getting connected via standard connections like usb which is now very fast (5Gb in v3 IIRC?), and now sport their own system on chip with built in drivers to the hardware.
At the same time, standards are solidifying, and as such, standard drivers built into the os are getting to be good enough for all the features. For example, my midi usb keyboard connects to the ipad without any drivers. My camera connects to the surface and shows up as a usb drive without any drivers.
The last time I manually downloaded a third party driver (not part of a vetted distribution) was to use up the last ounce of performance for a video game on a pc rig, in 2011.
So if device drivers are now part of the OS burden, they are at the cost of the os provider; and as such, how are the abundance of unmaintained- semi-maintained pieces of code derived from winDDK samples floating around an advantage?
Thanks for reading this far, I'm really interested in this discussion! And I won myself another down vote!
What you describe is exactly what i am talking about. What you seem to fail to understand is that "without any driver" is nonsense and means "using the existing driver architecture".
You obviously dont understand the concept of a device driver or you would know that they dont "Live in a SoC in the device itself". What you experience with mass storage for example is a standardized abstraction layer for a very specific use case. Computers are used in broad circumstances with a multitude of devices which all require interfacing.
Let me try to simplify this for you: If you randomly draw a computer interfacable hardware device from a bag conainting one of each kind of these and plug it into either a Linux, OSX or Windows machine (3 of the most used home computers) the windows machine will get them working remarkably more often.
Can you provide a sample of what would be contained in that bag that an average computing device user in 2014 would have a chance of owning?
My TV has it's own OS. My fridge as well. My house thermostat too. The drivers for the toy I bought for kids (sphero) are inside the thing, it also has it's own os and interfaces via tcp/ip to an userland app on the ios device. Same does the parrot drone. There are drivers for the subsystems, you are 100 correct. But they are part of the distro, ie they are not 3rd party maintained plug ins.
What I'm pointing out is that the OS model seems to have changed. There's less and less third party code in drivers kernel side; the plug in stuff is getting smarter and interfaces via client-server approaches to other userland processes. There's less and less standalone HW that needs to be driven directly kernel side.
And I earned another downvote! Maybe I should go post elsewhere as my comments are clearly not hacker news- valued? Would any downvoters be kind enough to let me in on why these comments are not valid discussion?