Linked by ddc_ on Sat 24th May 2014 23:27 UTC
OSNews, Generic OSes

On May 23 Francisco J. Ballesteros announced a new operating system on the 9fans mailing list. Clive is influenced by the Nix (not to be confused with NixOS) and Plan 9 operating systems, featuring "zx" - a universal resource access protocol conceptually similar to Plan 9. The system is written in a modified version of the Go language.

More details are available in the design paper and in the manual.

Order by: Score:
interesting connection
by Jondice on Sun 25th May 2014 14:28 UTC
Jondice
Member since:
2006-09-20

Interesting that an OS worked on by the developer of Go lang was reimplemented by someone else in Go lang.

Reply Score: 5

RE: interesting connection
by jockm on Sun 25th May 2014 15:03 UTC in reply to "interesting connection"
jockm Member since:
2012-12-22

He already did it once, perhaps he saw no point in doing it again ;)

Reply Score: 4

RE: interesting connection
by kwan_e on Mon 26th May 2014 00:05 UTC in reply to "interesting connection"
kwan_e Member since:
2007-02-18

Let's hope Go doesn't end up like Plan 9.

Reply Score: 3

Seriously...
by fretinator on Sun 25th May 2014 23:32 UTC
fretinator
Member since:
2005-07-06

I hope the front doesn't fall off.

Reply Score: 2

Eh? Really?
by Dekonega on Mon 26th May 2014 13:15 UTC
Dekonega
Member since:
2009-07-28

Wow, actual OS news in OSnews. What is this blasphemy? Not to mention that the project talked about in the article is very interesting.

Edited 2014-05-26 13:16 UTC

Reply Score: 0

Jondice
Member since:
2006-09-20

As jockm pointed out elsewhere, it is the lack of a web browser. Interestingly and unfortunately enough, every major browser engine (Opera, Gecko, IE, Webkit) is written in C++.

I imagine a modern browser engine in C (or another supported language like OCaml or Go) would have to be written from scratch. Probably easier to port a C++ compiler to Plan9, though that would surely open its own can of worms for the Plan9 philosophers (well, apparently there was a C++ compiler in the 2nd edition).

Edited 2014-05-26 13:26 UTC

Reply Score: 3

jockm Member since:
2012-12-22

Thank you for that. I wouldn't be too hard on Clive just yet though. It is a little research OS, intended to explore the Plan9 ideas in a somewhat different way, and with a more modern language. I don't think the creator(s) are intending to attract users just yet.

I don't think they even have a graphics layer just yet, but I could be wrong.

Plan9 however is presented as a complete, mature, market ready OS that users can/should use. The lack of a modern web browser there is a major limitation, as I pointed out.

There is no reason you can't write a good modern web browser in Go, it would just be a lot of work. The Clive folk would also have to avoid the metaphor trap that seemed to stop the Plan 9 folk. So long as they stop at a HTTP driver/protocol and let the app process the HTML, etc internally they should be fine. However if they want to let the OS process the HTML then they will get nowhere.

Because as I pointed out elsewhere, metaphor based systems can't handle everything the real world throws at them. Metaphors are lean, the world isn't.

Reply Score: 3

Jondice Member since:
2006-09-20

You're right, I'm not really trying to be hard on Clive (it is impressive) - just wanted to point out that no particular progress has been made in this direction.

Also, while I agree C++ is not the best language for an OS, browser, or systems programming in general, I'm not really sure that Go is either ... but that's just my opinion. There are always trade-offs. It is probably a lot better than C and definitely C++ for this application, so it is exciting.

It seems to me Rust or better yet ATS would be more well suited. If I find the time, I'd like to try to port ATS to work on Plan9. It could be very easy, as it only needs a C compiler and it is known to work with GCC, clang, and TinyCC.

Reply Score: 3

tanishaj Member since:
2010-12-22

As jockm pointed out elsewhere, it is the lack of a web browser. Interestingly and unfortunately enough, every major browser engine (Opera, Gecko, IE, Webkit) is written in C++.

I imagine a modern browser engine in C (or another supported language like OCaml or Go) would have to be written from scratch. Probably easier to port a C++ compiler to Plan9, though that would surely open its own can of worms for the Plan9 philosophers (well, apparently there was a C++ compiler in the 2nd edition).


Yes, GCC 3.0 was ported to the second edition. I am not sure if the Plan 9 guys would be any happier with Rust. That would make Servo an option for the web browser I suppose.

https://github.com/mozilla/servo

Reply Score: 3

thegman Member since:
2007-01-30

As jockm pointed out elsewhere, it is the lack of a web browser. Interestingly and unfortunately enough, every major browser engine (Opera, Gecko, IE, Webkit) is written in C++.

I imagine a modern browser engine in C (or another supported language like OCaml or Go) would have to be written from scratch. Probably easier to port a C++ compiler to Plan9, though that would surely open its own can of worms for the Plan9 philosophers (well, apparently there was a C++ compiler in the 2nd edition).


I quite agree, a modern web browser, is practically unimplementable in a clean room environment. The codebase for Gecko engine (just the engine, not the browser itself), is about 10 millions lines. That does not include dependencies like OpenSSL.

So basically, if you want to write a web browser in a clean room way, using a language like Go, it's not going to happen.

That's not Clive's fault, or Plan 9's for that matter. The problem is with the colossal (over)complexity of the web. I think we'll always see a lack if adoption of innovation in user-facing Operating Systems whilst the web is a dependency, as in reality, it's not an open standard to be implemented. Really the modern web is a few black boxes like WebKit, Gecko etc. which you hope you can port to your new OS.

If you can't, you're not getting a good web browser on your platform.

Reply Score: 1

Curious PDF
by renox on Mon 26th May 2014 13:30 UTC
renox
Member since:
2005-07-06

In the PDF, he wrote "The Nix OS shows that
applications can run without interference from the OS in machine cores.", I wonder if he is not confusing Nix OS and barrelfish?

Nix OS is a Linux distribution with a different packaging/configuration tool AFAIK it has nothing to do with 'running without interference from the OS in machine cores'..

Reply Score: 1

RE: Curious PDF
by witold.bolt on Mon 26th May 2014 13:53 UTC in reply to "Curious PDF"
witold.bolt Member since:
2009-04-17

Do not confuse Nix OS with ... other Nix OS. See this:
https://code.google.com/p/nix-os/

"Nix is a new multicore OS based on Plan9."

Reply Score: 2

RE[2]: Curious PDF
by Bobthearch on Mon 26th May 2014 15:25 UTC in reply to "RE: Curious PDF"
Bobthearch Member since:
2006-01-27

Oh jeez, that's going to be confusing, like having three different and unrelated operating systems (or operating system-like programs) named QubeOS, QubesOS, and QubeOS.

WHY???

Edited 2014-05-26 15:29 UTC

Reply Score: 2

RE[3]: Curious PDF
by jockm on Mon 26th May 2014 17:12 UTC in reply to "RE[2]: Curious PDF"
jockm Member since:
2012-12-22

Perhaps because they didn't go looking to see if the name was used by anyone else? The Go language creators were apparently unaware (or didn't care) that there was another language with the same name.

Plan 9/Inferno used a number of terms for hell or the places of the dead. Inferno, Limbo, Dis, etc. Nix just follows in that tradition.

Reply Score: 3

running plan9 in unix (lightweight)
by Jondice on Wed 28th May 2014 05:58 UTC
Jondice
Member since:
2006-09-20

Tangentially related, but ...

You can run plan9 as a unix process by using 9vx. First time I heard about this, despite it being around for many years.

Reply Score: 2