Is it possible to write an #operatingsystem which doesn't require #security updates ever? It should be able to do things. I think there were once parking meters which had #computers with no #memory apart from #processor #registers which were probably a good contender.
Yes it's possible.
The reason windows and other operating systems need security patches it's because they're all on the internet and there are people trying to hack them all the time. Security patches just try to stay ahead of the hackers. Atari 400 and 800 computers never had security patches, mostly just bug fixes and new features.
@jtb if you run that operating system in a trusted environment, then no security is needed at all.
If, for example, you don't have Internet access, then you don't need to defend against threats from the Internet. If you don't allow copying of files from untrusted sources, then you don't need to defend against malicious files.
@jtb This is one reason why the early operating system did not have much security in place: it was because computers were accessible only by trusted people. Where you had passwords, it was mostly for privacy and to avoid people messing with your files, but not really for security in the sense that we intend it now.
@jtb but as soon as you process untrusted input... things get complicated
@jtb yeah, exactly. The only way to not require security updates is to have perfect hardware and software (but that's an illusion), or not to care about threats.
And we do have a lot of hardware and software that we use every day that may be vulnerable but we just don't care. Most consumer hardware and firmware is like this, even though the trend is slowly changing
@andrea Here is what Bard said with a bit of coaxing from me. "In theory, it is possible to write an operating system that is free of all vulnerabilities. This could be done by using a formal verification method to prove that the operating system code is correct. However, this would be an extremely difficult and time-consuming task.
"
@jtb formal verification is based on proofs to check some code. Those proofs are written by humans. But who checks that the proofs are correct?
Formal verification for complex systems nowadays is used mostly for marketing, more than anything else. I haven't seen a single case where a non-obvious bug has been caught by a formal verification system, and I worked in a place where we used formal verification a lot.
@jtb one big problem with how formal verification is used today is that the person writing the code is often the same person writing the proofs, hence if the person has some misconceptions, they'll make the same mistakes twice. But that's another topic... Of course there are better ways to implement formal verification, but the bottom problem remains: who proves the proofs? Who tests the tests?