December 14th, 2018

Hard Stare

Yet another "the future of operating systems" post

I think our current style of rich, full-function, "power user" OSes is really starting to show signs of going away. (Yes, it's another of those handwavey sort of big-picture things.)

(Actually I should be drafting a FOSDEM talk about this right now, but I'm having a £1.50 draught beer & on FB instead. Gotta <3 České dráhy.)

Kids — i.e. in the Douglas Adams sense anyone under about 35 --  are more used to phones and tablets. The next billion people to come online will know nothDouglas Adams sense anyone under about 35ing else.

I reckon OSes will become more like Android, iOS, and ChromeOS — self-updating, without a "desktop" or much in the way of local storage or rich window management (for instance, see what's happening to GNOME) and fairly useless unless connected to the Internet and various invisible servers off in the "cloud" somewhere.

Some "apps" will run locally, some will be web apps, some will be display sessions on remote servers. There will be little visible distinction.

We'll have no local admin rights, just the ability to put on sandboxed apps that only interact via the online connection. No local storage, or just a cache. No software updates; the OS will handle that. No easy way to see what apps are running or where.

What'll drive this will be sky-rocketing costs of supporting rich local traditional OSes.

It will have the side-effect of blurring the lines between a workstation, a laptop, a tablet and a phone.

For some current examples, see the Red Hat Atomic Workstation project, Endless OS, and SUSE Kubic MicroOS. Read-only root FS, updates via a whole-system image pushed out periodically. Only containerised apps are allowed: there's not even a local package manager. 
Hard Stare

"Why is Ubuntu faster than Windows?"

Another recycled Quora answer.

The main reason is fairly simple.

Windows was designed to be easy to use, and to be compatible with older Microsoft operating systems, notably 16-bit Windows and DOS.

So, for example, by design, it treats any file with certain extensions (.EXE, .COM, .CMD, .BAT, etc.) as executable and will try to run them.

In contrast, Unix systems do not do this. They will not run even executable files unless they are specifically _marked_ as executable _and_ you have permissions to run them, and by default, Unix does not look in the current directory for executables.

This makes Unix less friendly, but more secure.

Microsoft also made other mistakes. For instance, it wanted to promote Internet Explorer to prevent Netscape getting control of the nascent browser market. To do this, it bundled IE with all copies of Windows. This was challenged in court as anti-competitive — which it was — and a demonstration was staged, in court, by intellectual property expert Lawrence Lessig, showing that IE could be uninstalled from Windows.

To counter this, MS tied IE in more deeply. So, for instance, Windows 98 has a multi-threaded Explorer, based in part on IE code. Window contents are rendered to HTML and IE then displays that content.

This means that all a hostile party has to do is embed a virus into a suitable image file, such as an icon or a folder wallpaper, and IE will render it. Exploit that IE process and you own the computer.

Collapse )