Page 1 of 2
osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 8:47 pm
by wxwisiasdf
many people say that osdev was easy back before.
i beg to differ.
osdev is now easier due to the widespread use of the internet - back then if someone made an intel-vtx cpu, everyone would be confused and would require extensive documentation to be able to decipher it
nowdays intel-vtx is still requiring a bunch of osdev knowlodge, but that knewledge is relatively free because you won't need a dead-tree version of a manual describing how to turn it on and off.
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 9:00 pm
by kzinti
But back then, Intel VT-x didn't exist. So no one was confused about it or needed extensive documentation to understand it.
Finding information was also easy, there used to be something called books. You would buy them in libraries and they would provide you with the documentation you needed. One thing that was nice is that the author of these books were experienced and usually knew what they were talking about. This isn't true of the information you find on the Internet. Most of it is wrong, out of date, misleading or complete garbage.
That said, I don't know that it is easier or harder now.
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 9:07 pm
by alexfru
SuperLeaf1995 wrote:many people say that osdev was easy back before.
i beg to differ.
osdev is now easier due to the widespread use of the internet - back then if someone made an intel-vtx cpu, everyone would be confused and would require extensive documentation to be able to decipher it
nowdays intel-vtx is still requiring a bunch of osdev knowlodge, but that knewledge is relatively free because you won't need a dead-tree version of a manual describing how to turn it on and off.
CPUs and other computer hardware were simpler. UEFI, USB and PCI weren't invented too. Networks and their protocols and browsers weren't invented or mainstream either.
IOW, a more or less complete OS nowadays is a large and complex beast.
But something minimal (e.g. DOS or MINIX) is much easier to make these days because there's indeed plenty info available on basic things. Also VMs are accessible and almost any PC can give a few gigs of RAM (and many gigs of storage) to a VM you're developing. You can even afford a dedicated PC for your OS experiments. And it can be non-x86 as well. Simple things are really easy to do nowadays.
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 9:33 pm
by klange
On the one hand, I think the barrier to entry for building a hobby OS has gone down with the availability of information and the much more capable hardware we have today, but at the same time the barrier for building a viable OS people actually use has skyrocketed. More hardware, more complicated specifications, higher user expectations. Take a good long look at DOS, or early Linux. Look at what they supported out of the box and compare it to some hobby OSes today. They would be jokes that could barely garner a dozen stars on Github if they were introduced as new entrants in the market in 2022. Access to information, better tooling, and communities like this one may mean that meeting the benchmark of the early 90s is a lot easier, but the real benchmark has moved on.
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 9:47 pm
by wxwisiasdf
kzinti wrote:But back then, Intel VT-x didn't exist. So no one was confused about it or needed extensive documentation to understand it.
Finding information was also easy, there used to be something called books. You would buy them in libraries and they would provide you with the documentation you needed. One thing that was nice is that the author of these books were experienced and usually knew what they were talking about. This isn't true of the information you find on the Internet. Most of it is wrong, out of date, misleading or complete garbage.
That said, I don't know that it is easier or harder now.
Fair; probably a problem with quantity and quality, however most of the manuals from the vendors themselves can be found online without cost, highly lowering the barrier (i.e 100$ for an ISO spec, nobody buys that; except if you're like, a big compiler used by thousands)
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 11:37 pm
by kzinti
SuperLeaf1995 wrote:Fair; probably a problem with quantity and quality, however most of the manuals from the vendors themselves can be found online without cost
Yes and that's great! In the 90s I had to buy my own copies of Intel's "Pentium Processor Developer's Manual - Volume 3: Architecture and Programming Manual", which I still have on my bookshelves (and that's explains why I can "remember" the full name). I don't remember it being expensive.
SuperLeaf1995 wrote:(i.e 100$ for an ISO spec, nobody buys that; except if you're like, a big compiler used by thousands)
Around the same time I bought a copy of both the C and C++ standards. And I am not a big compiler guy. Although I do confess I was trying to write one at the time
.
Re: osdev hasn't gotten harder
Posted: Wed Mar 23, 2022 11:57 pm
by klange
kzinti wrote:Yes and that's great! In the 90s I had to buy my own copies of Intel's "Pentium Processor Developer's Manual - Volume 3: Architecture and Programming Manual", which I still have on my bookshelves (and that's explains why I can "remember" the full name). I don't remember it being expensive.
At one point, you could buy them just for the cost of shipping - Intel was happy to get their manuals out to interested users.
Re: osdev hasn't gotten harder
Posted: Thu Mar 24, 2022 1:19 am
by kzinti
klange wrote:At one point, you could buy them just for the cost of shipping - Intel was happy to get their manuals out to interested users.
Yes, you are correct. I think that's what it was when I got my copy.
Re: osdev hasn't gotten harder
Posted: Sat Mar 26, 2022 10:48 am
by eekee
kzinti wrote:Finding information was also easy, there used to be something called books. You would buy them in libraries and they would provide you with the documentation you needed. One thing that was nice is that the author of these books were experienced and usually knew what they were talking about. This isn't true of the information you find on the Internet. Most of it is wrong, out of date, misleading or complete garbage.
Many of the books I bought in the 90s were bad. Typically, they claimed to be tutorials but skipped over some of the foundation concepts. Poor explanations were also normal in those days. (Standards have risen tremendously.) There was also a degree of "wrong, out of date, misleading or complete garbage" information, sometimes enough to completely confuse my untutored brain. I think the best way to find good information hasn't changed: find people who know their stuff and ask them. In the past there were clubs and local computer shops. Now there are online communities. I just wish I could have taken advantage of clubs and local computer shops in the 80s.
klange wrote:On the one hand, I think the barrier to entry for building a hobby OS has gone down with the availability of information and the much more capable hardware we have today, but at the same time the barrier for building a viable OS people actually use has skyrocketed. More hardware, more complicated specifications, higher user expectations.
I've been thinking this too, to the point where I've opted out of designing an OS for other people to use,
but while I'm gaining simplicity, I'm losing tooling because I'm so very far from compatibility with other systems.
I had a good think about the past, wrote some stuff, deleted it, and came to the conclusion that keeping up with the professionals has always been difficult. If there was any point at which it seemed easier, it was approximately the mid 90s to the mid 00s. Linux was seen as a professional-quality OS, especially for servers, but in fact was seriously insecure and lacked features such as returning memory to the OS. In other words, standards were temporarily lower.
But let's not forget there have always been niches for specialized OSs to achieve minor commercial success. I believe they usually involve the author providing support.
Re: osdev hasn't gotten harder
Posted: Sat Mar 26, 2022 10:58 am
by kzinti
eekee wrote:Many of the books I bought in the 90s were bad. Typically, they claimed to be tutorials but skipped over some of the foundation concepts.
Tutorials? These were certainly the wrong books. Tutorials are still the wrong place to look for information. I would only buy book from renowned authors and reference material.
eekee wrote:I think the best way to find good information hasn't changed: find people who know their stuff and ask them. In the past there were clubs and local computer shops. Now there are online communities.
I agree, communications with other people is very valuable. Personally I prefer to sit down with a text book and learn things by myself at my own pace. Then if I get stuck it's nice to be able to rely on people for help answering specific questions. But in the end everyone has a different personal approach/preference to learning. For me it always has been books.
Re: osdev hasn't gotten harder
Posted: Sun Mar 27, 2022 12:38 am
by eekee
kzinti wrote:eekee wrote:Many of the books I bought in the 90s were bad. Typically, they claimed to be tutorials but skipped over some of the foundation concepts.
Tutorials? These were certainly the wrong books. Tutorials are still the wrong place to look for information. I would only buy book from renowned authors and reference material.
I didn't know anything about the authors and their reputations, but I think there was a correlation with price. The cheapest books came from a certain publisher which I later learned had a poor reputation. Size mattered too; I shouldn't have bothered buying a
tiny C++ tutorial book!
I didn't know better, which is kind-of my point. I didn't know how to find the good stuff any more than people do today.
Having said that, I did have a little hunch the tiny C++ book was too small to be good. Applying some discernment like that to search results today could lead OSdev newbies here. Searching for "operating system development", our wiki comes up 6th on Duck Duck Go and 1st on Startpage. (There's no point comparing the bubbling search engines, but DDG and SP use non-bubbled results from Bing and Google, respectively.)
kzinti wrote:eekee wrote:I think the best way to find good information hasn't changed: find people who know their stuff and ask them. In the past there were clubs and local computer shops. Now there are online communities.
I agree, communications with other people is very valuable. Personally I prefer to sit down with a text book and learn things by myself at my own pace. Then if I get stuck it's nice to be able to rely on people for help answering specific questions. But in the end everyone has a different personal approach/preference to learning. For me it always has been books.
I like to learn at my own pace too. Talking to people helps find the good books.
(That detail got lost as I edited my post for size.)
Re: osdev hasn't gotten harder
Posted: Thu Jun 09, 2022 2:32 pm
by rnd0
kzinti wrote:
That said, I don't know that it is easier or harder now.
It's both, but in different ways. Hardware was more expensive and could do less but it was simpler as well. Software was either expensive or in the case of Linux flakey, it's hard to convey how much that has improved since the late 80's. Knowledge was harder to come by, no forums to speak of and certainly no archives.
Re: osdev hasn't gotten harder
Posted: Thu Jun 09, 2022 4:49 pm
by kzinti
rnd0 wrote:Knowledge was harder to come by, no forums to speak of and certainly no archives.
That's not quite correct. We had Usenet (newsgroup), mailing list, file repositories, SIGs (Special Interest Groups) on centralized services like CompuServe, we had specialized magazine and so on. We certainly had archives that we could search. We also had local clubs where we would meet once a month to exchange ideas, share what we've done with our computers and learn from each others.
I will agree that more information is available quicker now, but to say we didn't have forums and no archives is simply not true. The quality of the information was also higher on average. It amazes me how people don't know the history of the pre-Internet and the early Internet eras. I suppose this is somewhat unavoidable with younger people joining in at a time where the Internet is ubiquitous.
Re: osdev hasn't gotten harder
Posted: Thu Jun 09, 2022 6:12 pm
by Ethin
I feel like its a bit of both: OSDev has gotten easier on one hand because there's so much information about it now. On the other hand, its gotten harder for a few reasons: (1) hardware has gotten significantly more complicated, and (2) hardware vendors have gotten far more closed and secretive. Oh, you've got the Intels and AMDs who will happily release a lot of their documentation to you, but even Intel and aMD don't give you all the documentation (e.g. they don't document their Wi-Fi cards for programmers, to my knowledge, at least not their modern ones). But then you have the NVIDIAs/Broadcoms and Samsungs, who refuse to document how their hardware works at all, and the only way to get the developer documentation is to work for the company, and at that point anything you then put into your kernel no longer becomes yours but the company's. Companies for some reason still think that the philosophy of "keep everything as secret as possible" is a viable business model, and it just isn't. It no longer works. Sure, it prevents competition from knowing how your hardware/software works, but it also poses a huge security risk to anyone who uses your stuff, because the likelihood that you've actually audited your stuff for vulnerabilities is practically nil. The thinking is, after all, that if you don't tell anyone how your stuff works, nobody will figure out how it works. Which of course is completely ridiculous -- security by obscurity has never worked -- but corporations (still) think that it does work, and it baffles me. As an example, my wi-fi card is an Intel Corporation Wi-Fi 6 AX201 (rev. 20). My NVMe disks are a Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/980PRO and a Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983. (These are names that Linux tells me.) I can't seem to find *any* developer docs for my wi-fi card, nor can I find any developer docs for my two NVMe controllers, so I don't know if they have any special commands. At least, I can't find any from the official sites. Maybe it exists elsewhere.
Re: osdev hasn't gotten harder
Posted: Thu Jun 09, 2022 6:54 pm
by alexfru
kzinti wrote:rnd0 wrote:Knowledge was harder to come by, no forums to speak of and certainly no archives.
That's not quite correct. We had Usenet (newsgroup), mailing list, file repositories, SIGs (Special Interest Groups) on centralized services like CompuServe, we had specialized magazine and so on. We certainly had archives that we could search. We also had local clubs ...
I will agree that more information is available quicker now, but to say we didn't have forums and no archives is simply not true. ...
Then again, the world wasn't and isn't uniform in terms of internet access, book availability and foreign language skills. It was quite hard to find the necessary info in the early nineties in Russia. No internet, few home computers, few books translated into Russian from English, etc. In the late nineties the situation improved but you still had to know enough English 'cause the Russian segment of the Internet wasn't too rich yet.