flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Discussion: Device Driver Oligopoly Problem |
Author |
|
crc 22 Jul 2005, 22:27
After a quick reading of this, I noticed that it sounds similar to OpenFirmware (http://www.openfirmware.org/) and Intel's EFI (http://www.intel.com/technology/efi/). While I have no experience with EFI, OpenFirmware is pretty cool, and I'd love to see it on an x86 or ARM box
|
|||
22 Jul 2005, 22:27 |
|
f0dder 22 Jul 2005, 23:36
ShortCoder, it will never happen. A generic protocol will be too inflexible, or too clumsy because it would take too many parameters all over the place.
And, it's been tried by some of the very big companies. They tried to establish a generic driver binary interface, but didn't succeed. |
|||
22 Jul 2005, 23:36 |
|
smiddy 23 Jul 2005, 10:48
Oligopoly; unless you have the resources to combat this you are doomed to failure. Some Sun Tzu:
Sun Tzu wrote: It is the rule in war, if our forces are ten to the enemy's one, to surround him; if five to one, to attack him; if twice as numerous, to divide our army into two. If equally matched, we can offer battle; if slightly inferior in numbers, we can avoid the enemy; You have stated here that this is a fight. You may want to take another approach...infiltration or some other form as direct attacks fail due to the enormity of resources the other side has. Until you have the resources to offer an attack, then you are in the building stage. Build without regard for attack. When you are sufficiently big, you can attack...and win. |
|||
23 Jul 2005, 10:48 |
|
tom tobias 23 Jul 2005, 19:46
smiddy wrote: ... Build without regard for attack. When you are sufficiently big, you can attack...and win. I appreciate both the original suggestion and Smiddy's excellent response. I disagree with both parties: Smiddy, notwithstanding SunZi's two millenia old military strategem, it is not necessary to be "big" in order to succeed. (you can search for General Vo, and Doctor Guevara.) It is only necessary to be SUPERIOR, in the minds of the END USERS. Superiority can be defined in any number of ways, I prefer FAST, EFFICIENT, ECONOMICAL, AND EASILY MODIFIED. Most operating systems offer NONE of these features. What about a layer of drivers, i.e. the idea of the original post: HMM. Sorry, I don't think this idea will work. It will, if the manufacturers cooperate, (and in my experience with VIA and TRANSMETA, they will NOT cooperate, prefering even to go bankrupt, rather than release their precious information about accessing hardware), result in a MESS to sort out. Consider the simplest task of any kernel: accessing the hardware, responding to an interrupt, reading the timer, sending data to a video controller, offloading work to the DMA controller, etc. How is this NEW, EXTRA, unnecessary layer of protocols going to make it easier to create a ring zero operating system based on cooperative multitasking, for example? I acknowledge your frustration, and share your pain, M$ and UNIX clones dominate the horizon. It is very much the dark ages at present, with dragons and sleeping giants. We await the renaissance. Bogdan, wake up! There are dragons to slay! What we really need, is not a new layer of protocols, it is a CHART showing 1. the interrupts generated by, (and expecting acknowledgement from the cpu for,) each of the hardware components; 2. the internal registers of each device (DMA, video, audio, USB, wireless controllers); 3. illustrations of accessing EACH device, IDE, SATA, DVD, etc FROM protected mode, without using BIOS. Such a chart, if available, would be, in my opinion, far more useful, than a variety of new protocols to be incorporated into any new operating system. |
|||
23 Jul 2005, 19:46 |
|
bogdanontanu 23 Jul 2005, 19:59
To Tom:
Do not worry, I am very much awake Yes IMHO the only solution is to have clear and pertinent information about each every and every hardware device and standards... toghether with simple standard/reference implementation and/or developer guides. Then each programmer can use his favourite programming language to make his own drivers as he/she find to be the best. Any extra layer in between will not solve the problem... it will just move it somewhere else and make thing unnecessary slow and bloated and complicated... Such an abomination would probably have to be interpreted to work on different hardware ... |
|||
23 Jul 2005, 19:59 |
|
Octavio 24 Jul 2005, 10:16
bogdanontanu wrote:
I agree, but with the already available information is possible to make a good OS , most hobby OS still don´t implement all the available standards because this is a lot of work, and the main problem of linux is not the lack of drivers but the old design and the bloatware. I think that instead of define another universal driver interface it would be better to recompile information , something like RBIL but for hardware and with better explanations. Once the docs are available coding the drivers is pretty easy, is the easy thing to code in a OS, is harder to debug but most bugs are due to the bad documentation, the drivers itselfs are very simple programs. |
|||
24 Jul 2005, 10:16 |
|
smiddy 25 Jul 2005, 12:31
Quote: I appreciate both the original suggestion and Smiddy's excellent response. I disagree with both parties: Oh, I see, like ENRON and others who falsely claimed their appearance and so were, in the minds of the END USER, superior? I think rhetoric is an important facet too but your claims have to be true in order to be successful in the long run. I have to disagree with your assessment though. I would specify that most commercially available desk-top operating systems do not sport those features. There are many operating systems obscurely available that are all of those combined. But they wouldn’t be classified as a desk-top operating system, since, as the author of this thread points out, don’t have the device drivers to be competitive. |
|||
25 Jul 2005, 12:31 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.