Linked by Thom Holwerda on Mon 15th Apr 2013 22:44 UTC
OSNews, Generic OSes Almost exactly three years ago, I wrote about why OSNews was no longer OSNews: the alternative operating system scene had died, and OSNews, too, had to go with the times and move towards reporting on a new wave of operating systems - mobile, and all the repercussions that the explosion of smartphones and tablets have caused. Still, I was wondering something today: why aren't we seeing alternative operating systems on mobile?
Permalink for comment 558620
To read all comments associated with this story, please click here.
Not worth anymore
by agentj on Tue 16th Apr 2013 06:27 UTC
agentj
Member since:
2005-08-19

I've been working on several OSes about 10 years ago, even wrote my custom kernels, which served as a great experience gain for myself (1337 5k11lz ;) ). It's just not worth it anymore, because of the sheer complexity required to write even simple kernel and one has to pay his bills (not to mention that the day is only 24 hours minus sleep time) - if you get past the state of the basic kernel stuff, you'll be killed by lack of drivers, which are almost impossible to write when you have no spec from the manufacturer. On PC you can boot OS from anything or simply launch Bochs/QEMU/etc. to get your code working. On embedded devices, you CAN'T. If you had to write your own firmware for the PC mobos, then it would be the same as writing boot code for the phone. Different phones require different configuration, because it's more flexible to configure phone's hardware e.g. using programmable voltage regulators. Many chips require very specific power sequencing to start - again, you need manufacturer's spec. Hardware configuration is often tweaked and stored in EPROM memory, so you can account for e.g. sillicon bugs. You even have to configure memory controller - each device model has it's own memory map. Even if you manage to boot your OS on one model of the phone and get all the hardware working, you'll be soon facing the fact (after thousands of hours of writing drivers), that the phone will be obsolete and not available to buy in couple of years. To boot your OS on the other people's gear, will make them risk bricking their stuff - if you paid $1000 for the phone, you don't want to toss it in the cupboard after failed "experiments", which might have had as well fried the hardware.

OS development serves as a great learning tool, though. Many of the CS students, which are "spewed" by today's schools, have very poor engineering skills (I estimate, based on people I've met, that - per class - there are 0-2 h4x0rs (who have learnt the stuff on their own, anyway), 1-5 skilled people and the rest are "film dummies", just to fill the space). They can't understand the concept of the pointer, let alone develop anything more complex than hello world app (their brains are fried when they have to develop an algorithm for something). Back in the DOS or C64/Amiga/etc. days people had to have some experience in how the operating system or computer works to get anything done. I've noticed that many of the people who've been forced to learn these things are the best paid and the most skilled experts today and can learn any technology that is thrown at them. During development of my OS I've learnt at lot about the electronics, hardware design, FPGAs, low level programming, concurrent programming, thread safety, programming languages, writing compilers, writing drivers and many other things.

I think that the most of people, who have developed their own kernel back in the day, now have other jobs (+ children), they have to pay their bills and buy their own food, which resulted in a priority shift.

Edited 2013-04-16 06:29 UTC

Reply Score: 6