Why no new operating systems?

Video game consoles run their own operating systems. I believe the Nintendo 3DS firmware was written from the ground up in 2011, and the Nintendo Switch is based on the 3DS.

But regarding general purpose household and workplace computing, the not-invented-here attitude gives way to practicality when you go over one million lines of code. I think a modern operating system probably has about a hundred million lines of code. Developing that from the ground up, assuming you can hire divinely inspired masochistic systems programmer savants that write five thousand production lines per 8-hour workday (!) at $50k/yr (!!) without ever messing up production code or needing to refactor/redesign systems (!!!) would cost oh… about $3.8 million.

But Google tells me (and I believe it!) successful programmers write less than 50 production lines of code per day, and systems programmers take home a $70k salary. The cost of a new operating system just shot up to $538.4 million (!!!), still assuming they make absolutely no mistakes with the production code and the system design is never revisited, which never happens.

~Max

Plus there are a lot of operating systems you interact with here and there you might not recognize. If your car has an infotainment touch screen, that system is very likely running on QNX.

Backwards compatibility and technical debt.

It’s costly to rewrite software, and it’s even more costly to re-implement rewritten software. If the new OS is different such that the software can’t run unchanged, then you will have significant resistance to adopting something new.

$70k, how quaint. That number is at least 20 years out of date. Salaries of people that can really code have gone bonkers this decade. $700k wouldn’t be out of the question for a senior person when taking into account total comp.

Another reason might just be lack of a need. There are free alternatives that will do the job and there hasn’t been too much too justify writing something from scratch. Since all modern operating systems use driver models for almost anything adding new functionality is usually pretty easy. The kernels do have to change but computing hasn’t really fundamentally changed much lately.

Define “OS” – it’s hard. Is it the kernel? Is it the window server? Is it a combination of both? Is padOS old because it’s a Mach derivative, or new because Apple now says it’s the new OS for iPads?

Does new and innovative count only if geeks know it’s there, or does it have to impact the UX?

$70K might be quaint but $700K is insane. What coder is getting that?

AFAIK, all current OSs go back either to UNIX or to VMS. The Mac OS is based on the former and all versions of Windows NT and later were based on Dave Cutler’s port of VMS. Probably an oversimplification but there is a large kernel of truth there. My son worked on Win-NT during the late 90s and got to know Cutler fairly well.

Generic coder, probably not. Chief architect at a major firm, I could see that.

Seconded. Do you have a cite? I haven’t found numbers (glassdoor, ziprecruiter) much higher than $120k for high-end systems programming. I tried searching based in San Jose, CA and NYC, NY as well as my local area - nothing much above $120k.

Maybe you have insight into landed job salaries as opposed to new hires, but a 583% pay increase as you stay with one company is still pretty high.

~Max

Well yeah, people like Raymond Ozzie are C-level and wouldn’t be the ones putting in X production lines a day. They are too busy making design decisions and coordinating programming teams. I have not included management in the cost of producing the operating system.

~Max

IMHO, operating system is not the focus any more from companies’ perspective because applications can be emulated on different operating systems. There is also virtualization.
For example, on Linux, you can setup QEMU KVM and play video games on Windows 10 with native level performance.

Not only is that not a big function of the OS; it’s not a function of the OS at all. It’s, at most, a function of the shell, and only barely that: It’s a trivial change to a shell to change what images get attached to icons.

Except for these ones (still in use by large companies):
zOS - os390
iOS - os400

os400 is an interesting one - object based, single level store, capability based security at hardware/pointer level, virtual machine that allowed for programs to run unchanged as the cpu transitioned from 48 bit cisc to 64 bit risc, etc. It was/is a very organized and well designed OS.

Are you talking about portable code being widespread in application development? I don’t understand what you are saying about emulators. There needs to be an operating system to emulate before an emulator can be written.

~Max

it gets messy because in Unix-land there’s “Unix” and “Unix-like.” Linux, minix, and QNX are Unix-like. Their kernels and low-level operations are all different, but they present similar userlands. Windows has been a set of APIs and user interfaces on top of wildly different kernels; Windows has worked more or less the same whether it’s been underpinned by DOS, VMM (Win9x,) or the VMS-inspired NT.

Surely you mean OS 360 :slight_smile: IBM has done a decent job, as far as was reasonable, of maintaining backwards compatibility.

I don’t think either of those numbers are right. The $700k MAYBE for someone like the Senior VP of Engineering at Amazon or Google or whatever.

I don’t know what “high-end” systems programming is, but I’m a systems programmer in the Boston area and my total compensation is approaching $200K. Our new hires (college grads) start around $100K. There’s nobody doing what I do who makes $700K. Our SVP of Engineering makes that much but he wouldn’t know how to use our product, let alone write the code for it.

perhaps you could explain why I’m wrong.