1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

The Ultimate Operating System?

Discussion in 'Entertainment and Technology' started by Miaplacidus, Jan 19, 2008.

  1. Miaplacidus

    Full Member

    Joined:
    Feb 3, 2007
    Messages:
    92
    Likes Received:
    4
    Location:
    Montevideo, Uruguay / Buenos Aires, Argentina
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Bisexual
    Out Status:
    Out to everyone
    THE ULTIMATE OPERATING SYSTEM?
    Part I


    We can say that the three most used modern operating systems are, at the moment, Microsoft Windows, Apple Mac OS X and Linux (or GNU/Linux for hardcore followers of Richard Stallman). Windows is by far the most popular, even considering its multiple flaws. Mac OS X comes second, reliable and easy to use, but not without flaws either. And last comes Linux, very stable, but not so easy to use and built on obsolete underpinnings.


    Linux
    is, from an architectural point of view, the most archaic of the three. Linux follows a Russian-style development process – that is, if something works OK, then it's usually left the way it is. As a result, modern Linux systems still resemble Unix System V. Pieces of software such as the unnecessarily complex and archaic X Window System, the bases of which were written in the mid-80s, still have a prominent place in the system. X has been extended many times and continues to be, but many lines of code and philosophies behind it remain unchanged since then.


    The directory structure, while more organized than that of Windows, is still unnecessarily complex. A relatively mediocre Linux distribution (GoboLinux) has modified it with some success, but none of the major distributions has adapted the modified directory structure, which might be better organized than the current one, even though one can maintain backwards compatibility through the use of links like GoboLinux does.

    Configuration files, while usually stored all together under /etc and in hidden directories inside the user's home folder, are still just plain text files that don't share anything, not even a common format. Even under Windows 3.x, .ini files usually had a common format, but this is definitely not so under Linux. Compare /etc/fstab and /etc/X11/xorg.conf for an example – they don't look alike at all. A distributed, redundant database approach similar to the Windows registry would be, in my opinion, a better approach, keeping everything in the same place and editable in the same way.

    However, the most outdated part of the whole Linux system, is Linux itself – the kernel. It is a module-loading monolithic kernel, containing (in 2001) 2.4 million lines of source code. A huge kernel like this one, probably the biggest ever coded, is increasingly hard to maintain and keep coherent. Plus, as with all monolithic kernels, all the kernel services (which include hardware drivers) are run in supervisor mode, with full access to the system's resources and in the same memory space. Therefore, a failing kernel service is able to corrupt another service's memory or even the whole kernel's, causing a general system failure, which requires the system to be rebooted.

    Monolithic kernels are archaic – the concept was appropriate years ago, when system resources were limited and kernels weren't required to perform as many functions as they do now. Nowadays, such kernels have to be huge in order to be functional, which leads to the problems described above, therefore it is needed to use another approach without as much code running in supervisor mode.


    Windows, the market's leader, uses the hybrid NT kernel. While the concept is more modern than the one applied on the Linux kernel, the NT kernel has a severe flaw, derived again from archaic concepts. Windows' Graphics Device Interface (commonly abbreviated GDI), as well as the window manager, run in supervisor mode – something inherited from very early versions of Windows and OS/2, when this was required because computers weren't powerful enough to run the graphics system in user mode without a significant performance penalty. Even on Linux with its monolithic kernel, the X Window System runs as an user process, as does the window manager; in fact, the latter usually doesn't even run with administrative privileges, running instead as a true user-level process (running neither with supervisor privileges nor with super-user privileges). It was already known ten years ago that 80% of STOP errors on Windows (unrecoverable errors) are caused by graphics-related problems, but Windows still chooses to run the graphics system in supervisor mode.

    The Windows system structure is also highly unorganized – in fact, it makes me remember the days of MS-DOS. Programs, their libraries and resources are usually all together in the same directories. It is possible to have more than one system administrator, which leads to privilege overlapping sometimes. For example, it makes possible for a computer administrator to deny access to the system to another.

    To that we could add that Windows users usually need to run their systems with administrator privileges, despite recent (since Windows Vista) attempts by Microsoft to encourage them to use limited accounts, in the way of Linux. While this is possible, most Windows programs expect to be run with administrator privileges, and permissions are difficult to set (in the way of Linux) because of the highly unorganized nature of the Windows directory tree. That causes the user to be nagged all the time by User Account Control prompts on Windows Vista, and programs to not run at all when run without administrator privileges on earlier versions.

    The need to run Windows with administrator privileges due to the reasons above leads to another problem: security. A malicious program run by an user usually has access to the full system with disastrous consequences. Plus, some technologies developed in the past by Microsoft in order to improve the system's usability and features are known to be routinely used by that kind of programs. To make things even worse, Microsoft products have never been known for their safety and reliability either, especially Internet-enabled applications such as the Internet Explorer browser and the Outlook e-mail client.



    [To be continued as soon as I do more research on Mac OS X's internals]
     
  2. Ty

    Ty Guest

    Don't forget Leopard :wink:
     
  3. Miaplacidus

    Full Member

    Joined:
    Feb 3, 2007
    Messages:
    92
    Likes Received:
    4
    Location:
    Montevideo, Uruguay / Buenos Aires, Argentina
    Gender:
    Male
    Gender Pronoun:
    He
    Sexual Orientation:
    Bisexual
    Out Status:
    Out to everyone

    As soon as I find out whether the graphics system runs in kernel mode or user mode... I'll continue.