The driver model itself may not be limited, but the scope of development certainly is. DANI's drivers are quite epic, but maintained soley by her. Uniaud is a small project as well with much work being done by Paul. ACPI/APM seems to be the exclusive property of the eCo Software team and it is getting better but there are many unresolved issues. For one, lack of support for VIA CPU scaling technology.
Graphics drivers with hardware features are also non-existant due to the end of support for SDD (a loss I sincerely mourn), but may possibly begin anew one day with the advent of the Open SDD project.
USB peripherals can also be very limited (scan/print/camera/media players/web cams/etc) but is also improving slowly.
Which sadly all boils down to lack of resources (money, people, docs for how the drivers communicate with the hardware in question, etc).
If I'm not mistaken, we've run into the limit of the current OS/2 Kernel/loader correct? Is that not why a new one is being developed?
Yes, no and maybe. I suspect that the kernel is still capable of a lot more than we know. My suspicions are based off real world experience and some info gleaned from EDM/2 - and may be incorrect. It seems kind of like HPFS, which is artificially limited to 64GB partitions and 2GB files (yes, HPFS is actually written to support more and limited at those, by not using the full pointer/address spaces - while in contrast, certain aspects are not artificially limited, such as the number of files one can store on an HPFS partition).
When it comes to the kernel and loader, I have found some interesting things that I cannot explain adequately, or get sufficient answers to (or get various contradicting answers to). For instance, my OS/2 Certified (by IBM) Netfinity supports 8GB of RAM and utilizes the SMP kernel - what happens when I install 8GB? (I dont know - I sadly dont have the second memory board to populate - though I do have the RAM). Does the kernel, knowing it's on this box, switch to the Intel PAE mode (like XP Pro and various Windows server versions do)? Does it page map the additional memory? Does it allocate it towards swap? Does it (the OS) simply not load? Or does it simply ignore everything over 4GB? Not a clue.
One thing I have noticed is OS/2 Warp Server for e-Business on my machine seems to think it has the full 4GB (which is the amount installed) available. Now, the Netfinity does not have resource/address intensive hardware like a 512MB video card or such, but it does have a plethora of hardware, much of which is quite specialized. 4 system busses, 3 or 4 controller chipsets for them, a system controller board, 3 networking interfaces, an RS-485 port, a U160 ServeRAID card with cache memory installed, multiple memory controllers, 4 separate-but-not memory busses. I would assume those should take resources... yet I still have 4GB available. How does the kernel map their memory addresses on this beast without deallocating a certain amount of available memory? Or does this monstrosity just use so little address space that it's not noticeable? (and if so, that's a neat trick)
Or perhaps, like someone else suggested, 4GB is the per processor limit of the kernel, and thus, WSeB can actually see up to 16GB?
But, someone else also suggested that 4GB is the total available regardless of the number of processors...
So, who knows? If OS/2 supports memory based off installed processors, then the kernel, as it is, hasnt yet reached it's life expectancy. If some of the EDM/2 docs are correct, and someone figures out how to patch the kernel, then it will be able to access more than 4GB on a single CPU.
Then there's the question of threads... 4096 total - or per CPU? Again, another one I have gotten conflicting opinions on.
No one seems to have the answers, and no one (or no one speaking up) seems to have the code to the kernel to come up with a definitive answer....
-Robert