Re: Talk about other OSes(was: Functional programming)

Liam Proven <[email protected]>
Newsgroups gmane.linux.distributions.gobo.general
Message-ID <CAMTenCFTB-5wLT-N-97bqLCbv37rattc24urRVGqK+vT-5Tp-w@mail.gmail.com>
On 7 September 2015 at 14:37, Sergio Tortosa Benedito
<[email protected]> wrote:

> Yes, however, for me the main reason against those OSes are drivers.

Again, it varies from person to person.

If it's all about drivers, then everyone would run Windows.

I'm typing on an old Thinkpad X200s. Everything worked out of the box
with Ubuntu 13.10: sound, wifi, suspend/resume. There were glitches in
the graphics, though. 14.04 fixed that, so I've stayed with it.

What really surprised me is that getting the fingerprint reader
working was trivially easy. I didn't expect that.

I was also a little surprised that I had to do extra work to get
scrolling working with the Trackpoint -- I thought that should work
out of the box. But then, on my other laptop, a Toshiba Satellite Pro
P300, I had to do extra work to enable trackpad scrolling on Windows 7
-- the Windows drivers did not support it.

For some people, if it boots and runs that's enough. I know people who
refuse to use Wifi, and USB, and Bluetooth. I used to use infra-red
heavily, which most people never wanted.

It varies.

Generally, if you can install it, you can probably get most hardware
working with some effort, from Linux to FreeBSD to NetBSD. But, for
instance, if your OS does not support Wifi (as some I have used do not
-- e.g. MorphOS, AROS) or USB (Windows NT 4) then it might be
/easier./

> While awesome, won't this hurt performance?

Not if it is done right, no. All modern CPUs are relatively similar.


> I'm not very fond of the JVM,
> and yet it's the fastest one pretty much

Maybe today. It is very poor and primitive compared to the systems of the past.

There was an OS in the 1980s with total platform transparency -- I saw
a demo of it running on an Acorn RISC PC with both an ARM CPU and a
486. It was using both CPUs transparently.

It was called Taos, from Tao Group, later renamed Elate from Intent.
It translated on-disk binaries into the CPU's instruction set as part
of the process of loading them from disk into RAM: in other words it
postponed the very final part of compilation until loading the file
from disk. Any binary, the whole OS included, could run on any
supported CPU, and it ran on about 6 different CPU architectures (x86,
ARM, PowerPC, MIPS, etc.) which were all totally incompatible.

It was very, very fast. There was no slowdown.

Intent was nearly the basis of a next-generation Amiga operating
system but the deal fell through. Development systems were shipped
though.

The whole concept that "source code" must be "compiled" into a "native
binary" is an artefact of the Unix family of OS design. IBM's AS/400
doesn't do that -- now sold as an operating system for IBM System P
servers, what used to be called RS/6000 with POWER CPUs.

My main area of research recently is Lisp Machines. These were
high-end workstations from the 1980s, killed off by cheaper Unix
computers, which ran the high-level language Lisp on the CPU. The
whole OS was shipped as source code; the CPU ran source code
more-or-less directly. No compilers, no object code, no linking, no
binaries. The whole multitasking, Internet-capable, GUI OS running
Lisp code directly. It wasn't "source" as it never turned into
anything else. There was no "destination."

Think of 1980s home computers with BASIC in ROM... but imagine that on
top of BASIC was a whole rich multitasking OS with a window system and
everything. No compilers anyway.

Unfortunately for us all, the C family won and as a result we are
stuck with a model of programming intended for low-performance 1960s
minicomputers.

> (but is quite bad in regards to
> RAM).

Not a big problem today, though.

>  I think it would be possible to implement this in Linux by serializing
> the process memory (of course without the VM part).

I think for good results it needs to be a part of the core design, not
bolted-on later.

> If you are willing ti answer I have two more questions: have you toyed with
> microkernels?

Sort of. I have a test VM with Minix 3 in it. That's the leading
open-source microkernel Unix today. But it's still immature -- version
3 was a total rewrite.

> How big is their performance impact?

Overstated. My main phone is a Blackberry Passport. Its Blackberry 10
OS is based on QNX.

QNX is a real-time microkernel OS developed in the 1980s -- it's older
than Linux or FOSS BSD. It's SMP aware and very fast. A famed demo
version ran a whole GUI, desktop, web browser and TCP/IP stack from a
*single 1.4MB floppy*.

Microkernels can be very fast.

The developers of Plan 9 claim that its design makes the whole
macrokernel/microkernel question moot: Plan 9 is neither, they say. I
do not know enough about it to judge.

Mac OS X is not a true microkernel, as embedded into the Mach 3.0
kernel is much of the FreeBSD kernel, the "unix server". So it's not
"micro" any more. It is fast, stable and widely-used though. It's the
most successful commercial Unix of all time.

So, yes, they work. But if you step outside the C programming model of
static binaries talking to each other through libraries, then the
whole question of microkernels goes away -- it is really only an
artifact of the C way of building OSes, which includes all forms of
Unix and all forms of Windows too. The classic MacOS (MacOS 9 and
earlier) was originally written in a mixture of assembly language and
Pascal, so it was outside this family -- but it is dead and gone now.

>  and is really beneficial
> that view of  everythins is a file?

Well, that is part of the Unix way of designing and using an OS. If
you look at non-Unix OSes, no, nothing else works like that. But Unix
doesn't take the idea all the way -- the snag is that Unix caught on
and got big, successful and complex before the idea was completely
finished and executed, so the later OSes that are truer to the mantra
of "everything is a file" were sidelined.

-- 
Liam Proven • Profile: http://lproven.livejournal.com/profile
Email: [email protected] • GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: [email protected] • Skype/AIM/Yahoo/LinkedIn: liamproven
Cell/Mobiles: +44 7939-087884 (UK) • +420 702 829 053 (ČR)
_______________________________________________
gobolinux-users mailing list
[email protected]
http://lists.gobolinux.org/mailman/listinfo/gobolinux-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.