New Technologies: Challenge Good or Bad?
New Technologies: Challenge Good or Bad?
OS developers already have much technical documentation to read. Apart from occassional extensions to the x86 instruction set, however, most of this has been rather static for a couple of years.
More recently, various new technologies are popping up that significantly impact on OS development. EFI steps up to replace BIOS. Multi-core / HT architectures are on the rise and make mono-core OS kernels obsolete. x86-64, PCIe, DRM / "Trusted" computing, add to that less "recent" but omnipresent stuff like ACPI, USB, ...
How do you feel about this? Is it a new jolly playground to you? Or are you frustrated because your OS stays in the "toy" category that much longer? Don't you care much one way or the other? Or are you simply ignoring the newer technologies and write for the good old Pentium?
More recently, various new technologies are popping up that significantly impact on OS development. EFI steps up to replace BIOS. Multi-core / HT architectures are on the rise and make mono-core OS kernels obsolete. x86-64, PCIe, DRM / "Trusted" computing, add to that less "recent" but omnipresent stuff like ACPI, USB, ...
How do you feel about this? Is it a new jolly playground to you? Or are you frustrated because your OS stays in the "toy" category that much longer? Don't you care much one way or the other? Or are you simply ignoring the newer technologies and write for the good old Pentium?
Every good solution is obvious once you've found it.
Re:New Technologies: Challenge Good or Bad?
That's the most mixed opinion I've ever seen. Good pollSolar wrote: OS developers already have much technical documentation to read. Apart from occassional extensions to the x86 instruction set, however, most of this has been rather static for a couple of years.
More recently, various new technologies are popping up that significantly impact on OS development. EFI steps up to replace BIOS. Multi-core / HT architectures are on the rise and make mono-core OS kernels obsolete. x86-64, PCIe, DRM / "Trusted" computing, add to that less "recent" but omnipresent stuff like ACPI, USB, ...
How do you feel about this? Is it a new jolly playground to you? Or are you frustrated because your OS stays in the "toy" category that much longer? Don't you care much one way or the other? Or are you simply ignoring the newer technologies and write for the good old Pentium?
It's encouraging me. The new technologies allow me to make good use of all the things on my computer, and help me get rid of legacy stuff. DRM is encouraging me to plain ignore it, but the rest is quite nice.
EFI is something I don't yet like, but that will probably come (now that it's no longer solely intels).
Most of the rest just allows me to do more cool things with my own computer that other software is making impossible. Increasing CPU cycles allow me to do more which I just plain really like .
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:New Technologies: Challenge Good or Bad?
well, seeing the 'relative addressing' and the EFI initiative leaves me full of hope for the future of OSdeving ...
On the other side ... maan, how are we going to handle that kind of 'blob' that PC has become today !? I wish there was one reference such as "PC2005" that could draw the line so that i could say "okay, clicker is PC-2005 compatible, which means i expect this or that kind of network card, this or that kind of MMU and a graphic card that truly supports ... bla bla bla."
now, all i've seen about the latest ATA/ATAPI about even larger disks etc. just get the balance drop back to the "oh dear ..." side.
On the other side ... maan, how are we going to handle that kind of 'blob' that PC has become today !? I wish there was one reference such as "PC2005" that could draw the line so that i could say "okay, clicker is PC-2005 compatible, which means i expect this or that kind of network card, this or that kind of MMU and a graphic card that truly supports ... bla bla bla."
now, all i've seen about the latest ATA/ATAPI about even larger disks etc. just get the balance drop back to the "oh dear ..." side.
Re:New Technologies: Challenge Good or Bad?
It seems encouraging from a Windows (oh, and linux ) perspective, except for the TCPA/Palladium/NGSCB/DRM/TPA many-named thing, but from an OS-development perspective it is a bit discouraging for me.
If everything was to be open - the standards, sample source code, etc. then it wouldn't be so bad. I've just been so comfortable with x86 that I've never had to deal with anything else. I'm in the slow process of re-writing my kernel to support x64 as well as x86, and I am running into headaches with various ambiguities in the documentation... or maybe they only seem that way...
One thing that has always frustrated me was the closed, secretive nature of nVidia and ATI on how to do the simplest hardware acceleration - cursor drawing, 2D rendering (blt, etc.) - which would help me with a future GUI. I would think that 2D acceleration would be documented, because it is irrelevant to the video card makers when compared to the latest 3D acceleration techniques, which I have no interest in.
My two (rambling) cents
Mike
If everything was to be open - the standards, sample source code, etc. then it wouldn't be so bad. I've just been so comfortable with x86 that I've never had to deal with anything else. I'm in the slow process of re-writing my kernel to support x64 as well as x86, and I am running into headaches with various ambiguities in the documentation... or maybe they only seem that way...
One thing that has always frustrated me was the closed, secretive nature of nVidia and ATI on how to do the simplest hardware acceleration - cursor drawing, 2D rendering (blt, etc.) - which would help me with a future GUI. I would think that 2D acceleration would be documented, because it is irrelevant to the video card makers when compared to the latest 3D acceleration techniques, which I have no interest in.
My two (rambling) cents
Mike
Re:New Technologies: Challenge Good or Bad?
After the commercialization of nanotubes, the computer industry will jump, to a new level of superstructure, and will put all of our current hardware out of the loop. this will indeed be iratating, being left behind in the dust of wealthy foke...
-
- Member
- Posts: 1600
- Joined: Wed Oct 18, 2006 11:59 am
- Location: Vienna/Austria
- Contact:
Re:New Technologies: Challenge Good or Bad?
drm is nice to ignore. What good is that stuff for anyway? I reckon the brainpower of the engineers fleshing out that crap can be used for way more useful things.
Everything else - ah, I enjoy playing with 'em.
Everything else - ah, I enjoy playing with 'em.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
BlueillusionOS iso image
Re:New Technologies: Challenge Good or Bad?
I think most OS Dev try to be too smart, trying to keep up with a moving target, legacy stuff is your friend, learn to love it . ( as in one form or another it will be there, that why its legacy ), take ps2 mouse for example my ps2 mouse driver for my OS works with usb mouse on modern PC, (BIOS legacy support).
First you need a good reason for making your own OS, from that reason come what is important as far a up coming technology.
And i think if OS Dev's and linux users etc, would have come together and set a standard spec, we would be better placed to continue.
First you need a good reason for making your own OS, from that reason come what is important as far a up coming technology.
And i think if OS Dev's and linux users etc, would have come together and set a standard spec, we would be better placed to continue.
Re:New Technologies: Challenge Good or Bad?
Well, Multicore CPUs, x64 and PCIe are just unavoidable, because it couldn't really go much longer like it used to be (meaning just raising GHzs,fiddling around with PAE and PCI got too slow). There, well, multicore cpus (just like SMP) need care already when designing your os. However, undoubtful, necessary.
Re:New Technologies: Challenge Good or Bad?
On the one hand, it's encouraging to see all this non-DRM good stuff coming down the pipeline. It's all going to be very cool and useful to those of us who use computers, and to those whose OSs are at that point, it'll be cool to program in. I can imagine how cool it would be/will be to boot up my kernel on a mulitcore machine and watch it work with multiple virtual processors.
On the other hand, I am going to be frustrated with how each improvement seems to raise the wall higher for homebrew kernels, increasing the amount of time, features and code that needs to be put in before an operating system can be considered serious. It would be/will be very angering to complete all the original goals of my OS, only to find that technology has completely outstripped my kernel's capabilities and I need large amounts of $ to buy documentation for technologies that I once thought of as neat but unneeded features but are now considered requirements. Ex: x84_64, multicore, etc...
Overall I consider this stuff with many grains of salt, because in my opinion the merits of an OS lie in its algorithms and techniques (how it does things) rather than what hardware features it supports, but new technologies tilt things towards the latter definition of merit.
I think legacy is my friend.
On the other hand, I am going to be frustrated with how each improvement seems to raise the wall higher for homebrew kernels, increasing the amount of time, features and code that needs to be put in before an operating system can be considered serious. It would be/will be very angering to complete all the original goals of my OS, only to find that technology has completely outstripped my kernel's capabilities and I need large amounts of $ to buy documentation for technologies that I once thought of as neat but unneeded features but are now considered requirements. Ex: x84_64, multicore, etc...
Overall I consider this stuff with many grains of salt, because in my opinion the merits of an OS lie in its algorithms and techniques (how it does things) rather than what hardware features it supports, but new technologies tilt things towards the latter definition of merit.
I think legacy is my friend.
Re:New Technologies: Challenge Good or Bad?
I like legacy stuff. Once I have gotten off the ground, I may use un-legacy stuff, but in the beginning it is useless and futile to try to support all the latest technologies. Legacy technologies are still supported and used on most computers, so most people won't be handicapped to the point of not being able to use an OS that only supports the legacy stuff.
With a perspective, I'm NotTheCHEAT.
With a perspective, I'm NotTheCHEAT.
Re:New Technologies: Challenge Good or Bad?
Hi,
For me some new technologies are encouraging (like multi-core), but others are frustrating (like ACPI and EFI). Ignoring new technologies isn't recommended, as often it results in a full rewrite later on. For example, I happily ignored PAE and SMP for several years and wish I hadn't.
Of course not ignoring them isn't the same as implementing support for them immediately. For some things it's enough to allow for them in the OS's design, so that support for them can be added without major problems.
The same applies to legacy/non-legacy hardware. For example, implement video code to support VBE or standard VGA but make sure your video interface can handle future 3D acceleration, etc, or implement support for PS/2 keyboards but make sure you can initailize USB devices before the PS/2 code initializes (so eventually you can disable the legacy PS/2 device emulation and not end up detecting 2 keyboards). For this, a brief read through new standards and a little planning is all that's needed.
I'd also recommend some "future-proofing". For example, implement support for legacy ISA ATA controllers, but instead of making sure your interface supports 48 bit LBA for newer ATA controllers, make it support 64 bit LBA for future ATA controllers. That way in many years time you won't need to change your interface and update all the code that uses that interface.
Cheers,
Brendan
For me some new technologies are encouraging (like multi-core), but others are frustrating (like ACPI and EFI). Ignoring new technologies isn't recommended, as often it results in a full rewrite later on. For example, I happily ignored PAE and SMP for several years and wish I hadn't.
Of course not ignoring them isn't the same as implementing support for them immediately. For some things it's enough to allow for them in the OS's design, so that support for them can be added without major problems.
The same applies to legacy/non-legacy hardware. For example, implement video code to support VBE or standard VGA but make sure your video interface can handle future 3D acceleration, etc, or implement support for PS/2 keyboards but make sure you can initailize USB devices before the PS/2 code initializes (so eventually you can disable the legacy PS/2 device emulation and not end up detecting 2 keyboards). For this, a brief read through new standards and a little planning is all that's needed.
I'd also recommend some "future-proofing". For example, implement support for legacy ISA ATA controllers, but instead of making sure your interface supports 48 bit LBA for newer ATA controllers, make it support 64 bit LBA for future ATA controllers. That way in many years time you won't need to change your interface and update all the code that uses that interface.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.