Page 1 of 1
This is why OSDEV is not dead
Posted: Wed Aug 19, 2020 2:24 pm
by bzt
Hi,
Not long time ago there was a thread about is OSDEV still a good thing? Now I run into a blog post that describes "vendor-pupose OS".
General-purpose OS, special-purpose OS, and now: vendor-purpose OS
These terms distinguish operating systems by the problems they solve for the user. However, a disturbing trend is emerging in which the user is not the party whose problems are being solved, and perhaps this calls for a new term. I propose “vendor-purpose operating system”.
I would use this term to describe Windows, macOS, Android, and iOS, and perhaps some others besides. Arguably, the first two used to be general purpose operating systems, and the latter two were once special-purpose operating systems. Increasingly, these operating systems are making design decisions which benefit the vendor at the expense of the user.
It is hard to argue with the blog's statements, and I think this is why there's a need for forums like OSDEV now more than ever!
Cheers,
bzt
Re: This is why OSDEV is not dead
Posted: Wed Aug 19, 2020 4:43 pm
by PeterX
Unfortunately people around me do not pay much attention to software freedom and user rights. They take data espionage and Facebook/Google/Apple/Microsoft market dominance as a natural, unavoidable thing. And even the general purpose computer (hardware) is not appreciated these days anymore. In the general opinion a smartphone is cool, a PC is not.
So it's kind of hard to bring positive alternatives to the end users, even though these alternatives exist.
Re: This is why OSDEV is not dead
Posted: Wed Aug 19, 2020 6:47 pm
by nexos
I don't think that OSDeving is dying fully anytime soon. The one good thing COVID did was give more people time to work on there OSes. The only problem is that hardware is a lot more complicated now then it was in Minix 1 and 2's or in early Linux's day. Linus Torvalds back then managed to get bash and gcc running quite quickly! In NexNix, it still is a pipe dream for me to do that! The reason why is because I have started recoding it, and it will be more advanced. Modern hardware for Linus was a 386. Those were the days of easy programming. Now we have x86_64, (arguably) EFI, PCI-E, and most of all, ACPI that make OSDev for the elite programmers. So although I don't think OSDev is really going to go completely, it has declined probably for those reasons. There are some other factors that have lead to a decline as well. Namely, some people that made great OSes have moved on to other things and have far less time to OSDev. Most people will stick to Windows, macOS, or Linux because they know them. Although I think a lot of projects on this community are better, Windows and Linux have all the apps for them. This is my take on the decline of OSDev and research.
Re: This is why OSDEV is not dead
Posted: Thu Aug 20, 2020 4:27 am
by Seahorse
OSDev can be good in that achieving possible independence from the big operating systems.
Maybe modern OSDev should focus more on adapting to older, simpler hardware and build a network that is private and safe from obscurity.
Re: This is why OSDEV is not dead
Posted: Thu Aug 20, 2020 12:02 pm
by bzt
PeterX wrote:Unfortunately people around me do not pay much attention to software freedom and user rights. They take data espionage and Facebook/Google/Apple/Microsoft market dominance as a natural, unavoidable thing.
Don't you worry, they will care. One of these days their credit card data will get leaked in one of the data breaches (that are so frequent and unavoidable lately), and when their bank accounts get wiped out as a result, then they will care. They just have to learn that the hard way. We have a saying, something like "a wise man can learn from other's mistakes, while stupid people must learn the hard way from their own mistakes".
Btw, there's a good reason why people are revolting all around the world. Thanks to the COVID, they have realized how incompetent their greedy, privacy-violating governments are. Maybe they don't care about user rights, but as long as people realize that they cannot provide a better life for their children as theirs, they will revolt. This is how it always had been, and how it's always gonna be; no fake news, no propaganda nor false ideology can change that. All living things want to protect their young, human nature is not an exception.
Seahorse wrote:Maybe modern OSDev should focus more on adapting to older, simpler hardware
Age of hardware has nothing to do with target shifting towards vendor-purpose OSes. I'd say modern OSDev must support modern hardware. And just for the records, IMHO although NVMe is the newer, it is a lot simpler than SATA.
Cheers,
bzt
Re: This is why OSDEV is not dead
Posted: Thu Aug 20, 2020 12:21 pm
by nexos
Yes, some new hardware is simple. APIC is IMO easier then the 8295A GOP and VESA are easier then VGA. Some things, like ACPI and SATA or more difficult though.
Re: This is why OSDEV is not dead
Posted: Sat Aug 22, 2020 7:36 pm
by Sik
You know (quoting from the Apple paragraph in that page)
They bully vendors in the app store into adding things like microtransactions to increase their revenue.
If one were reading this a few days ago it'd sound completely absurd (that page was posted in June), yet
that's literally what Apple is doing with WordPress now (looks like Apple now doesn't like it when you have
any paid on-line services that you don't offer through iOS apps even if they're unrelated to the apps you do have on their store).
Also yeah, modern hardware definitely is program for these days. I mean, not surprised that NVMe is simpler (it's basically Flash memory glued to a more suitable interface for it if I understand correctly), but I'm thinking more about documentation, some key parts are definitely harder to work with. Back in the '90s (where a lot of the hobby OSDev stuff took off) DOS was still mainstream and lots of software poked the hardware directly so there was an incentive to document the interfaces, but nowadays when something isn't standarized most of the time the manufacturer just provides opaque drivers for the most popular OSes and calls it a day (leaving that hardware either unoptimal to use or outright unusable, short of reverse engineering).
Re: This is why OSDEV is not dead
Posted: Sun Aug 23, 2020 4:46 am
by bellezzasolo
bzt wrote:PeterX wrote:Unfortunately people around me do not pay much attention to software freedom and user rights. They take data espionage and Facebook/Google/Apple/Microsoft market dominance as a natural, unavoidable thing.
Don't you worry, they will care. One of these days their credit card data will get leaked in one of the data breaches (that are so frequent and unavoidable lately), and when their bank accounts get wiped out as a result, then they will care. They just have to learn that the hard way. We have a saying, something like "a wise man can learn from other's mistakes, while stupid people must learn the hard way from their own mistakes".
Btw, there's a good reason why people are revolting all around the world. Thanks to the COVID, they have realized how incompetent their greedy, privacy-violating governments are. Maybe they don't care about user rights, but as long as people realize that they cannot provide a better life for their children as theirs, they will revolt. This is how it always had been, and how it's always gonna be; no fake news, no propaganda nor false ideology can change that. All living things want to protect their young, human nature is not an exception.
Seahorse wrote:Maybe modern OSDev should focus more on adapting to older, simpler hardware
Age of hardware has nothing to do with target shifting towards vendor-purpose OSes. I'd say modern OSDev must support modern hardware. And just for the records, IMHO although NVMe is the newer, it is a lot simpler than SATA.
Cheers,
bzt
Yep, I just implemented NVMe. It's the first time I've seen a lack of real-hardware specific gremlins, and that includes I219-V. I219-V wasn't particularly hard, either, but NICs do seem to be pretty easy generally.
ACPI is a huge PITA, but I've got around the interrupt routing stuff by using MSI(-X). Again, a more modern standard that makes my life easier!