brian_reiter
Posts: 35
Joined: Fri Jan 06, 2012 7:49 am
Contact: Website

Re: Windows on Pi?

Thu May 03, 2012 1:52 pm

Or perhaps we need some more interesting developments in CPUs? I suspect that since the 1990s there have been very few radical deveopments.

User avatar
nick.mccloud
Posts: 804
Joined: Sat Feb 04, 2012 4:18 pm

Re: Windows on Pi?

Thu May 03, 2012 3:59 pm

mole125 said:


Maybe we need to break away from our C and Posix heritage of writing operating systems and instead start with a language designed from the base up for distributed processing (such as go? http://golang.org/) and accept that existing programs may need significant rewriting?


This hits the nail on the head - at some point we need to think revolution not evolution.

Imagine an OS with many API services that facilitate many common compute problems - so rather than IE, FireFox, Safari, Opera etc all having their own download manager, if that was an OS level service that could be farmed out by the OS to a sub-system. Or you need files compressing/decompressing/encrypting. Or the GUI was super responsive because it wasn't dealing with anything other than display.

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 12331
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: Windows on Pi?

Thu May 03, 2012 4:06 pm

brian_reiter said:


Or perhaps we need some more interesting developments in CPUs? I suspect that since the 1990s there have been very few radical deveopments.



brian_reiter said:


Or perhaps we need some more interesting developments in CPUs? I suspect that since the 1990s there have been very few radical deveopments.



That is not surprising because any such radical new processors, from a (Wintel) marketing perspective, had to run x86 code (because of the need to be compatible with Windows).

There have been valiant attempts (Transmeta Crusoe) nevertheless, but these all succumbed to marketing problems.

Joe Schmoe
Posts: 4277
Joined: Sun Jan 15, 2012 1:11 pm

Re: Windows on Pi?

Thu May 03, 2012 4:21 pm

The problem with the super-monolithic approach (everything in the kernel and/or OS - same thing from the point of view that I am taking) is that while it works well technically, it doesn't work well politically.  Think Plato's "Republic" - think supreme beneficient dictator.

The point is that MS tried to do this (make the browser - and, eventually, everything part of the OS) - and IBM tried (and succeeded) a generation earlier.

The need for competition (a bad side effect of our beloved capitalism) often flies at cross-purposes to the desire for maximum efficiency.
And some folks need to stop being fanboys and see the forest behind the trees.

(One of the best lines I've seen on this board lately)

User avatar
nick.mccloud
Posts: 804
Joined: Sat Feb 04, 2012 4:18 pm

Re: Windows on Pi?

Thu May 03, 2012 4:22 pm

As much as I'd rather not, I suspect that the revolution needs to be able to emulate or virtualise x86 and facilitate the running of current mainstream OS's

If this revolution could be as hardware architecturally abstracted as possible that would be excellent!

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23874
Joined: Sat Jul 30, 2011 7:41 pm

Re: Windows on Pi?

Thu May 03, 2012 5:01 pm

Interesting that virtual machines have been around on mainframes since the 70's, given all the hoopla about them now...
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

karol
Posts: 3
Joined: Sat Feb 18, 2012 2:00 am

Re: Windows on Pi?

Thu May 03, 2012 5:15 pm

nmcc said:

Imagine an OS with many API services that facilitate many common compute problems - so rather than IE, FireFox, Safari, Opera etc all having their own download manager, if that was an OS level service that could be farmed out by the OS to a sub-system. Or you need files compressing/decompressing/encrypting. Or the GUI was super responsive because it wasn't dealing with anything other than display.

Many webkit-based browsers (surf, luakit, dwm, uzbl etc.) don't have a download manager and they let you use e.g. wget.

IIRC Blender uses OpenGL for the GUI and it's pretty responsive.

Bakul Shah
Posts: 321
Joined: Sun Sep 25, 2011 1:25 am

Re: Windows on Pi?

Thu May 03, 2012 6:31 pm

People here may find Rob Pike"s system software research is irrelevant interesting....

In it he says the following about Linux:


Innovation? New? No, it’s just another copy of the same old stuff.OLD stuff. Compare program development on Linux with Microsoft Visual Studio or one of the IBM Java/web toolkits.

Linux’s success may indeed be the single strongest argument for my thesis: The excitement generated by a clone of a decades-old operating system demonstrates the void that the systems software research community has failed to fill.

Besides, Linux’s cleverness is not in the software, but in the development model, hardly a triumph of academic CS (especially software engineering) by any measure.


tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Windows on Pi?

Thu May 03, 2012 7:50 pm

bobc said:


tufty said:


Not disagreeing with anything else, but Linux is far from "modern".


Yes it is, try using a dictionary.


I tried that.  After I'd finished stuffing it into my DVD drive (which was hard enough, I had to cut the corners off to make it fit), it just made ugly graunching noises, but wouldn't boot.  Admittedly, I only managed to fit the first 200 pages in there (and I had to wad them up pretty damn tight to get that far) – maybe that's the problem.

So yeah, I'll grant you – Linux is a more capable and modern operating system than the first 200 pages of the Concise OED.

rurwin said:


There are differences between a current Linux kernel and a 1970"s OS:


modularisation
journaled file systems
object orientation (file-types and associations)
loadable device-drivers
Access Control Lists
granular authorisation escalation.
And of course GUI


Yes, Linux has evolved from where it was when it came out, but it"s still, fundamentally, a clone of a clone of an operating system developed in the mid-60"s.  The roots of Linux are 50 years old, and more.  Everything you list above is a miniscule, incremental improvement on what came before.  Unfortunately, the "incremental, don"t break any existing software, allow an upgrade path, don"t do anything radical" approach taken by the major OS players has hidden and / or stifled the real gems of OS development since the tail end of the "80s.

A parallel is the seemingly unstoppable rise of Microsoft"s "Excel" and "Word".

Far better and more capable spreadsheets than excel have existed (and, oddly enough, still do exist in a niche market), but the 800 pound gorilla of Excel means that even its competitors look, and behave, in exactly the same way that Excel does. Excel itself hasn"t noticeably improved since the introduction of pivot tables.

Word has been around since 1983, and it still can"t typeset for toffee (I was going to use another word referring to something that"s brown and sticky, but there might be kids watching).  Typesetting is not a (very) dark art – Knuth"s TeX has been considered "stable" since the year the very first version of Word for Windows was released. And yet, we get clones of Word, complete with godawful typesetting.

Just because something is dominant, even if all its competitors are similar, doesn"t mean it"s the right way to do something.

In terms of modernity, Linux is no better than Windows or OSX.  I"d argue that it"s trailing both of them.

As mole125 said:


Maybe we need to break away from our C and Posix heritage of writing operating systems … and accept that existing programs may need significant rewriting?


I agree, but I"d go even further.  Existing programs need to go.  Be thrown away.  We need a whole new way of working.  They are holding us back.

For example – "file systems", journaling or otherwise, are an abomination.  Truly.  Yes, we need somewhere to store files, but the file systems we have today are all hobbled by the idea of hierarchical storage – a kludgy workaround to deal with the fact we have no real metadata apart from file name and position in a some arbitrary tree.  They are, by and large, tied to physical media – if you have 2 pieces of physical media attached to your machine, you have (at least) 2 separate filesystems.  For the most part, they work extremely badly in a multi-user environment.  The solution to this exists, and has existed for a very long time.  But throwing away the file system as we know it means throwing *everything* away.

Somebody asked what I would consider to be a modern OS, if Linux isn"t it.  There"s a few, and one of them is almost as old as Unix.


For starters, there"s NewtonOS.  Fully object-oriented, extensible, data stored in a "soup" (object-oriented database, really) rather than in any hierarchical format, handled novel input methods, portable, and all running on a wimpy little ARM CPU, back in the dim and distant 1990s.
QNX, as rurwin mentions, has a far more modern core than any of the existing desktop solutions.  The userland is pretty bog-stock new old stuff, though.
BeOS tried to do away with the file system, and managed to a fairly large extent.  It probably counts as modern.
And then there"s the oldie.  Genera / OpenGenera, which traces its roots back to the MIT CONS and CADR Lisp Machines from the early "70s.  It"s totally modern.  But, as you can probably guess, it doesn"t run Word.

There's a couple of other possibilities that spring to mind, too.


Windows "Longhorn" as originally envisaged might have made the cut, if only for the much hyped (and then cut) filesystem.  Shame it turned into Vista, Win7 and Win8, really.
SqueakNOS looks interesting, but I don"t know much more about it than that.


Simon

Joe Schmoe
Posts: 4277
Joined: Sun Jan 15, 2012 1:11 pm

Re: Windows on Pi?

Thu May 03, 2012 8:13 pm

This conversation reminds me of one I had on a sidewalk when I was about 10 years old.  A friend of mine was riding one of those cute bikes that were popular then, with 20" wheels, a "banana" seat, a spoiler bar (that you rested your back up against) and fancy V-shaped handlebars.  Some old guy (a neighbor) was giving him crap for riding such a goofy looking bike, but Dan maintained that the bike was "modern".  This conversation went on and on with neither side accomplishing much nor giving up any ground.  I just observed, and rolled my eyes now and again.  And I've found myself doing that (rolling my eyes) a lot ever since whenever these kinds of discussions arise.

But, for the record, what does "modern" mean in an OS?  I think "modern" just means "current", and by that light, both Linux and Windows qualify.
And some folks need to stop being fanboys and see the forest behind the trees.

(One of the best lines I've seen on this board lately)

User avatar
Dave_G_2
Posts: 196
Joined: Sat Apr 14, 2012 7:04 pm

Re: Windows on Pi?

Thu May 03, 2012 8:41 pm

tufty said:


I tried that.  After I"d finished stuffing it into my DVD drive (which was hard enough, I had to cut the corners off to make it fit), it just made ugly graunching noises, but wouldn"t boot.  Admittedly, I only managed to fit the first 200 pages in there (and I had to wad them up pretty damn tight to get that far) – maybe that"s the problem.


Aah, you see, that is the problem.

Had you used a modern blu ray DVD drive, you would have managed 201 pages.

Bakul Shah
Posts: 321
Joined: Sun Sep 25, 2011 1:25 am

Re: Windows on Pi?

Thu May 03, 2012 8:51 pm

When Unix fit in under 64Kbyes, its monolithic nature didn't matter much -- Lions' A Commentary on the Sixth Edition Unix Operating System was able to describe the entire kernel. It wasn't exactly light reading but with a bit of work you could get a very good handle on how the kernel worked and appreciate how well things fit together. But Linux today weighs in Megabytes and contains many more features, device drivers, efficiency hacks, cruft & general bloat. Typical kernel internal interfaces have gotten more complicated. Newer paradigms have been incorporated in Linux (such as ideas from plan9, such as presenting resources as files) but they have *not* resulted in a simpler kernel. And *fundamentally* it is the same old '70s kernel!

None of this matters if all you want to do is run pre-existing programs. The complexity matters but not a lot if you want to just write user programs. You have to embrace some of this complexity if you want to write a device driver or add your own favorite feature to the kernel.

But if you want to learn about what makes a good OS, tradeoffs between various approaches etc., the good ideas can get lost in all the complexity of Linux.

Hopefully some of the newer OSes, with their better abstractions, better modularity, better understanding of concurrency & security, etc. will be ported for experimentation.

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Windows on Pi?

Thu May 03, 2012 8:56 pm

Dave_G_2 said:


Had you used a modern blu ray DVD drive, you would have managed 201 pages.


Yeah, the problem is that my copy of the OED is region coded, and I've only manage to region-free the DVD player.

Mind you, the experiment has had some unexpected (and rather positive) side effects.  I just tried playing a DVD of "Titanic" in the drive, and it wouldn't recognise it.  Win!

User avatar
Dave_G_2
Posts: 196
Joined: Sat Apr 14, 2012 7:04 pm

Re: Windows on Pi?

Thu May 03, 2012 8:59 pm

So no sinking feeling when it didn't play it then?

Bakul Shah
Posts: 321
Joined: Sun Sep 25, 2011 1:25 am

Re: Windows on Pi?

Thu May 03, 2012 8:59 pm

tufty said:


bobc said:


tufty said:


Not disagreeing with anything else, but Linux is far from "modern".


Yes it is, try using a dictionary.


I tried that.  After I"d finished stuffing it into my DVD drive (which was hard enough, I had to cut the corners off to make it fit), it just made ugly graunching noises, but wouldn"t boot.  Admittedly, I only managed to fit the first 200 pages in there (and I had to wad them up pretty damn tight to get that far) – maybe that"s the problem.


It's obvious, innit. Did you remember to eject the old DVD from the drive? In the old days typical s/w install instructions said "Please insert the next install floppy" and people used to get really upset when they couldn't even force the third floppy in the drive!

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4258
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Windows on Pi?

Thu May 03, 2012 9:41 pm

tufty said:

They are, by and large, tied to physical media – if you have 2 pieces of physical media attached to your machine, you have (at least) 2 separate filesystems.
I would argue that Linux gets this right, albeit within a hierarchical structure. Having two separable filesystems can be a good thing when you have to cope with hardware failures.


For starters, there"s NewtonOS.  Fully object-oriented, extensible, data stored in a "soup" (object-oriented database, really) rather than in any hierarchical format, handled novel input methods, portable, and all running on a wimpy little ARM CPU, back in the dim and distant 1990s.

Smalltalk -- also fully object oriented, and I think it could work stand-alone.


There"s a couple of other possibilities that spring to mind, too.


Windows "Longhorn" as originally envisaged might have made the cut, if only for the much hyped (and then cut) filesystem.  Shame it turned into Vista, Win7 and Win8, really.


I mentioned that in passing, although I never got to see it work. I've a nasty feeling it was the registry as filesystem.

I think you are right in that a new system would mean throwing away not only Linux but huge amounts of Gnu as well, and ultimately the whole WorldWideWeb. That's a lot of code that needs to be rewritten. But if we could get object-oriented storage with a distributed, modular kernel and a data-flow systems programming language, that would be a truly modern OS. There are many problems between here and there.

Then we need whole new metaphors. Files in hierarchies have been understood since long before there were computers. If you are not careful you will recreate them inside an object-oriented shell.

User avatar
nick.mccloud
Posts: 804
Joined: Sat Feb 04, 2012 4:18 pm

Re: Windows on Pi?

Thu May 03, 2012 9:51 pm

karol said:


nmcc said:


Imagine an OS with many API services that facilitate many common compute problems - so rather than IE, FireFox, Safari, Opera etc all having their own download manager, if that was an OS level service that could be farmed out by the OS to a sub-system. Or you need files compressing/decompressing/encrypting. Or the GUI was super responsive because it wasn't dealing with anything other than display.


Many webkit-based browsers (surf, luakit, dwm, uzbl etc.) don't have a download manager and they let you use e.g. wget.

IIRC Blender uses OpenGL for the GUI and it's pretty responsive.


Sorry, but this does not hit the nail on the head. The point is that all of the processing is farmed out to an entirely different sub-system that takes no resources up on the main part of the system - that is if there is a main part of the system at all. And when, to use the download example, it's finished downloading, it asks if you want to decompress, it does that without using up any resources on the main system.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23874
Joined: Sat Jul 30, 2011 7:41 pm

Re: Windows on Pi?

Thu May 03, 2012 10:06 pm

nmcc said:


karol said:


nmcc said:


Imagine an OS with many API services that facilitate many common compute problems - so rather than IE, FireFox, Safari, Opera etc all having their own download manager, if that was an OS level service that could be farmed out by the OS to a sub-system. Or you need files compressing/decompressing/encrypting. Or the GUI was super responsive because it wasn't dealing with anything other than display.


Many webkit-based browsers (surf, luakit, dwm, uzbl etc.) don't have a download manager and they let you use e.g. wget.

IIRC Blender uses OpenGL for the GUI and it's pretty responsive.


Sorry, but this does not hit the nail on the head. The point is that all of the processing is farmed out to an entirely different sub-system that takes no resources up on the main part of the system - that is if there is a main part of the system at all. And when, to use the download example, it's finished downloading, it asks if you want to decompress, it does that without using up any resources on the main system.


You are basically talking about a GPU with lots of different HW blocks for different tasks, but expanded to include non-graphical tasks. A slightly more complicated SoC in effect. The problem is that you always have the limitation of memory access speed. Too many devices all accessing memory at the same time can swamp the memory bus (we see this on Videocore during video encode for example when encoding 1080p30 H264, whilst also rotating/updating the display and doing 3D at the same time - needs sneaky priority adjustments of the bus arbitors). But the alternative of having separate memory then introduces coherency problems.

Fun though.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

User avatar
nick.mccloud
Posts: 804
Joined: Sat Feb 04, 2012 4:18 pm

Re: Windows on Pi?

Fri May 04, 2012 8:31 am

JamesH said:


You are basically talking about a GPU with lots of different HW blocks for different tasks, but expanded to include non-graphical tasks. A slightly more complicated SoC in effect. The problem is that you always have the limitation of memory access speed.


My vision has no shared memory, some sort of specialised IPC mechanism and a bulk storage sub-system.


Too many devices all accessing memory at the same time can swamp the memory bus (we see this on Videocore during video encode for example when encoding 1080p30 H264, whilst also rotating/updating the display and doing 3D at the same time - needs sneaky priority adjustments of the bus arbitors).


Another good example of splitting the workload!


But the alternative of having separate memory then introduces coherency problems.


The hand over is of discrete tasks so there should be no requirement for shared memory.

I think the 'trick' is to build such mechanisms in to the foundations of the OS - I could get someone to build me a Explorer/Finder replacement that can do such things but it would be another layer on top of the very tall wobbly cake.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23874
Joined: Sat Jul 30, 2011 7:41 pm

Re: Windows on Pi?

Fri May 04, 2012 8:44 am

nmcc said:


JamesH said:


You are basically talking about a GPU with lots of different HW blocks for different tasks, but expanded to include non-graphical tasks. A slightly more complicated SoC in effect. The problem is that you always have the limitation of memory access speed.


My vision has no shared memory, some sort of specialised IPC mechanism and a bulk storage sub-system.


Too many devices all accessing memory at the same time can swamp the memory bus (we see this on Videocore during video encode for example when encoding 1080p30 H264, whilst also rotating/updating the display and doing 3D at the same time - needs sneaky priority adjustments of the bus arbitors).


Another good example of splitting the workload!


But the alternative of having separate memory then introduces coherency problems.


The hand over is of discrete tasks so there should be no requirement for shared memory.

I think the 'trick' is to build such mechanisms in to the foundations of the OS - I could get someone to build me a Explorer/Finder replacement that can do such things but it would be another layer on top of the very tall wobbly cake.


Problem with IPC/similar to access memory is that it's Slowwwwwwwwwww.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

brian_reiter
Posts: 35
Joined: Fri Jan 06, 2012 7:49 am
Contact: Website

Re: Windows on Pi?

Fri May 04, 2012 8:53 am

Sounds a bit like a general purpose cluster with some form of supervisory node running the primary graphics terminal. Effectively built in load balancing.

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4258
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Windows on Pi?

Fri May 04, 2012 9:07 am


Problem with IPC/similar to access memory is that it's Slowwwwwwwwwww.


Which is why I mentioned data-flow.

Memory has no theoretical purpose; it is there to support the technology — to store instructions and partial results.

An efficient data-flow architecture either doesn't need memory or, more practically, efficiently distributes it between cores. It does not need to use IPC to access memory because the memory is directly accessible to the core that needs it, and only that core. The small amount of memory that is required by more than one core can be provided by IPC at reduced speed — but not horribly reduced since a hardware IPC channel is the same speed as a memory interface. Or there could be clusters of cores around some shared memory, which would be no slower than modern multi-core machines.

User avatar
nick.mccloud
Posts: 804
Joined: Sat Feb 04, 2012 4:18 pm

Re: Windows on Pi?

Fri May 04, 2012 10:31 am

JamesH said:


Problem with IPC/similar to access memory is that it's Slowwwwwwwwwww.


Agreed, but if I farmed out a 2 hour download task plus a half dozen 30+ minute compression tasks and a video re-encode task (a typical scenario for me) to a couple of machines on the network, I don't care about the 100mS delay in getting feedback/task status!

I'm not thinking about a real-time architecture, I'm thinking about what cause the fan on my MacBook Pro to start that tells me I've asked too much of it and that my main foreground task is going to be dragging it's heels as a consequence.

tibmeister
Posts: 3
Joined: Mon Jul 02, 2012 8:58 pm

Re: Windows on Pi?

Sat Aug 25, 2012 4:58 am

So ran across this thread and thought I'd throw my two cents in. Short answer to will Windows 8 RT even run on Rpi? Most likely not. The drivers issues alone negate this (WDDM comparability required), much less the other hardware requirements that Microsoft has laid out. Would be interesting but I'd say stick with Linux on Rpi.

ghans
Posts: 7874
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Windows on Pi?

Sat Aug 25, 2012 6:40 am

No.
The best we can hope for are improvements in Qemu /Qemu+WINE.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

Return to “General discussion”