User: Password:
Subscribe / Log in / New account

Choosing between portability and innovation

Choosing between portability and innovation

Posted Mar 5, 2011 2:00 UTC (Sat) by skissane (subscriber, #38675)
In reply to: Choosing between portability and innovation by josephrjustice
Parent article: Choosing between portability and innovation

Personally -- forget about the Linux monoculture -- what about the Unix monoculture, or the LUW (Linux/Unix/Windows) monoculture? People forget that Unix and Windows are relatives -- Windows shows significant influence of Unix. Some examples:

  • Base OS only supports unstructured bytestream files, rather than base OS support for more complex file structures (such as record structure, indexed files, forked files, etc.) -- this is Unix influence on Windows via CP/M then DOS
  • Filesystem does not have explicit recording of file types, only convention of file extensions -- again, Unix influence on Windows via CP/M then DOS
  • Hierarchical directories -- DOS 2.0 explicitly modelled these on Unix
  • C programming language -- direct Unix influence on DOS/Windows
  • Berkeley sockets influence on WinSock
If you want a non-monocultural OS, don't look for yet another Un*x or Windows. They are parts of the monoculture. Examples of non-monocultural OSes would be any IBM mainframe/midrange OSes (like z/OS, z/VM, z/VSE, z/TPF, OS/400), HP MPE, Siemens BS2000/OSD, Unisys ClearPath, language-specific OSes like Lisp Machines or PICK (back when PICK was an whole OS not just a database), etc. Of course, many of this stuff is rather ancient and decaying, but it just goes to show how the IT industry was far less monocultural in previous decades than it is today

I don't like hierarchical filesystems. We end up with these massive random directory trees and cannot find anything. Better would be a filesystem where we give files tags, some unique and some non-unique, and we can find files by their tags -- in library science terms, hierarchical filesystems are like Dewey Decimal or Library of Congress classification, I think we should adopt faceted classification instead

I really like the idea of getting rid of operating systems and making applications run directly on bare hardware. Especially with virtualization, who needs a general purpose OS to run a web server or database server? Why not just run the application directly on the hypervisor, with as thin a level possible in between. This is like MIT's exokernel research.

I think Oracle's WebLogic VE is a good implementation of this idea -- run the JVM directly on the hypervisor, with just a very thin custom OS that exists solely to meet the JVM's needs, no general purpose OS needed in between. I'd like to see the same idea extended to other areas (e.g. databases). (Full disclosure: I work for Oracle but this is just my personal opinions not those of my employer)

(Log in to post comments)

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds