I am not an OS/system programmer (still it has been attracting me a lot :) ), so I am not sure if this is a good question, and it might not be clear enough(its more than 1 question actually).
Is it possible/feasible/practical to have a Linux kernel (and other system programs) to be tuned (via configuration or any rewrite) for optimal performance, so that they can utilize the hardware to the maximum (if not 100%)?
My question is not specific to OS but I think OS optimization can be of a huge help.
I can think of controlling number of threads and distributing loads equally to them can help achieving this. With a large number of multicore (1/2/4/6/8) processors in use, I think a software should (somehow(?)) realize the number of cores (either while getting installed or at the invocation) AND distribute load evenly among them. Without having the softwares to fully utilize hardware, these hardwares' power is wasted in my opinion.
There are other ways too which I can think of like for eg say I have a quad core machine, with 5400rpm sata HDD being the bottleneck so if the software can realize that and minimize disk reads/writes by increasing caches and using async/delayed read/writes it will help improving the performance.
I also want to know that with the OpenCL and CUDA libraries, can intelligently using processing units in GPUs help substantially?
I haven't written (or even read) any serious program (except my work, which is web related, client-server type) but I surely will this a try. Does what I think/assume and what I ask make any sense? Or am I going mad?