IsaacKuo wrote:I disagree. My experience with software development is that bloat exists mainly because it can. It's all a matter of diminishing returns. It takes time and effort to eliminate bloat. Sometimes, the benefits of such optimization are worth it. Other times, that time and effort would be better spent developing new features or debugging.
Is there a point in optimizing an OS to fit in 2 megabytes today? No, not really. If you can get the OS down to, say, 10% of the cheapest hard drive's capacity than surely that's good enough, right?
Absolutely. I do not disagree with any of that.
However, most of what people consider "bloat" in today's Windows - for instance - is because some user, somewhere, needs some feature that the person complaining of bloat doesn't need. And for every feature, every hardware configuration, every capacity, inefficiency expands in a nonlinear fashion.
IsaacKuo wrote:Engine wrote:And in some circumstances, this is possible, even desirable. Running all the everything off CD - well, let's say DVD, since you can't fit that much on CD anymore - is really great...except that the first executable anything you put on writeable media becomes capable of comprimising the system as soon as anything's put in RAM.
No, it isn't. That's the whole point behind hardware memory protection. Only the system kernel has unrestricted access to all RAM. All other processes will segmentation fault if they attempt to access RAM outside of their own allowed memory space.
That doesn't even remotely prevent viruses or security flaws/attacks. The OS can be completely extraneous to the implementation of security attacks. That's why even running your OS on a ROM chip won't prevent security breaches: because if you can't alter the OS, you simply alter applications.
IsaacKuo wrote:Also, there are types of executable code which inherently have limited capabilities--Java, javascript, flash/shockwave, and .net being noteworthy examples.
...yes, but those limited capabilities have not prevented exploits of any of those types of executable code.
IsaacKuo wrote:I find that Knoppix based liveCDs run on more hardware out-of-box than any flavor of Windows ever will even after installing all available drivers. Older version of Windows have difficulty with modern hardware; newer version of Windows have difficulty with older hardware.
Um. Anyway, I don't really want to get into a Knoppix versus Windows debate, as to which will run on more hardware with more convenience and do more tasks more accessibly for more people. I think the answer is clear, and you probably do, too, although we might not agree on the answer. I don't think either of us can add anything substantive to the issue.
Suffice to say, I certainly agree a completely bootable OS/application distribution on read-only media is
possible, and done on, say, CD or DVD, even desirable [ROM chips have certain benefits over optical media, but replacement cost when patching time comes around is prohibitive]. However, such a solution does not, and never will, eliminate security concerns, because something, somewhere, in the computer must be capable of semi-permanently writing new data, or the machine is useless for the function of a personal computer. For the functions of todays PCs, some vulnerability is absolutely necessary.
It's like a house. I could build a house no one could get into, but what use is that? Once you build a door, it doesn't matter how good the lock is, someone will be able to get in without the original key. So locksmiths and thieves play a constant gave of one-upmanship. This is natural, necessary, and inevitable.
IsaacKuo wrote:Engine wrote:Hey, you know, mine used to. I used to have jumpers on my drives that write-protected them. I'd never noticed they weren't on modern drives until recently, when I needed one. Does anyone know what happened to the write-protect jumper on hard disks? Presumably, not something people needed particularly often.
How many people are ever going to go through the effort of accessing a write protect jumper? No, I mean something that would plausibly actually be used--like a toggle switch on the computer's front panel.
Well, anything that can be run from a jumper can have a switch routed to it; it's simply a question of a switch inline between the jumper connections, although I see your point as to functionality being much of the reason people didn't commonly use those jumpers - although I still never understood why it wasn't embraced by people who wanted an unalterable OS.
A SSD with a hardware write-protect switch would certainly be possible, but ultimately, it just doesn't matter; once you open the door, someone can club you over the head and step inside.
IsaacKuo wrote:The things that most people want to do with a computer is just a relatively small collection of fairly specific tasks.
Ah, but that's only the individual. One person only does just so many things with a computer, and does it on a fairly specific piece of hardware - unless you're changing hardware constantly, which isn't, you know, unheard-of. But writing an OS for one person isn't particularly profitable, although it's certainly possible. Taken together, the mass of people who use an operating system use many more than "a relatively small collection of fairly specific tasks," and thus we have, by necessity, complex operating systems. Noncommercial or specific-need OSes can afford to be bare and simple - they're the Ariel Atoms of the computing world - but any mass-market OS will have to be complex, because too many different people want to do too many different things with too many different pieces of hardware. Linux and the Mac OSes have shown that there is some market in pandering to a smaller group, but...well, there's a reason Microsoft makes so much more money than those other people, and it's certainly not the efficiency or security of their software: it's useability, compatibility, and commonality.
IsaacKuo wrote:The function of the device does not determine its security. The series of historical accidents in the lineage of its development determines its security.
Let's be honest: both do. The fact that someone has to be able to get into a house means that it must have a door, which determines its maximum security. The series of historical accidents in the lineage of locking mechanisms will determine its functional security, which may or may not be its maximum security.
IsaacKuo wrote:It's something of a myth that Linux is more secure than Windows because *nix was designed from the start with security in mind. So why is the design of *nix more secure than the design of Windows? More or less, it's because of time. *nix was multi-user and networked long before DOS/Windows.
I believe that's part of it. I also believe part of it is that there are orders of magnitude more users of Windows than *nix. I also believe a fairly significant portion of it is that during the early years, MS was so obsessed with the ideals of interconnectivity that they lost sight of security as a priority. I don't think something as complex as the comparison between *nix security and Windows security can be said to be a single thing.
IsaacKuo wrote:With cell phones, there's a perfect opportunity to avoid all of the pitfalls by either starting from scratch or latching onto the mature *nix software legacy. They don't need any sort of Windows compatability.
Of course they do. Why? Because 18 trillion people use Windows, and if you want to ever sell a device that will replace their computers with your device, you're going to need to make it compatible with the device they have. Oh, damn, "legacy." These are the problems MS faces every product cycle, and while it's easy for us to say, yes, ideally, there's no reason for a brand new product to be able to communicate in any way with the old one, that only makes the product /work:/ it's doesn't make it /useful./