Live data from Hacker News

Fuchsia: a new operating system

lwn.net

201–210 of 324 posts

Re: Fuchsia: a new operating system

#201
post #9

What makes Fuchsia different then so many other attempts at writing a new OS? They aren't writing a new OS, at least, not in the complete sense. They are using the IPC system developed in and extracted from Chrome. They are drawing everything in userspace with fast graphics render but the logic for all system components written in Dart from the Flutter project. They use musl for the libc. They are using the little ke…

I wonder if they intend to keep Flutter as the primary UI toolkit, or if that was just used out of convenience. If this really ends up being an Android & Chrome OS replacement, and a large portion of code being written for it also ran natively on iOS, that'd be fantastic. Maybe even cool enough to get me to use Dart ;)

Dart has really picked up a lot of traction in the past few years. If you do end up using Dart, I've got the perfect server-side framework for you to try out... ;)

https://github.com/angel-dart/angel/wiki

Re: Fuchsia: a new operating system

#202
post #131

Earlier quoted context omitted.

How is it in turns of speed? On one hand, the website says that it's compiled to native code (so it can be same speed/faster than Java), but on the other hand, it's based on a soft-type language, which makes optimization difficult (even with V8, JS is still slower than native code). Side question: I understand that Dart was soft-typed because it was supposed to replace/compile to JS, but what advantage does soft-type…

Even the original, untyped, Dart was designed to be easier to optimize that JavaScript (e.g. it's class based, not prototype based, so the runtime doesn't have t work as much to optimize object access). Recently Dart has added a strong mode ( https://github.com/dart-archive/dev_compiler/blob/master/STR... , http://news.dartlang.org/2017/01/sound-dart-and-strong-mode.... ). One of the reasons for strong mode is to ena…

I'm going to save these links for the next time I get downvoted for saying that js object system and dynamic typing suck for performance :).

When JS performance threads come up I always mention that JS will never be as fast as Go/Java. Some people have a tantrum when I explain these issues. The sources I usually cite are dense and people just continue to downvote without reading them.

Re: Fuchsia: a new operating system

#203
post #39

Earlier quoted context omitted.

>They are drawing everything in userspace with fast graphics render... Dumb question, does this mean that it's limited to software rendering only? You need to go through the kernel to talk to the GPU, right?

No. GPUs typically work over the PCIE bus, and one can talk to PCIE via user space as well. In legacy systems like Linux the mapping of virtual to physical address and generation of scatter-gather-lists (SGLs) resided in the kernel. If one moves the same functionality to the user space without loss in performance (which is what magenta seems to do), there's no benefit to kernel GPU drivers. Then there's the whole "GP…

Unfortunately, the GPL mafia is right, and hardware vendors will continue to abuse their users with proprietary blobs unless they are forced into change.

Re: Fuchsia: a new operating system

#204
post #195

Earlier quoted context omitted.

Yes? I haven't played games in a while, but when I did, crashes were frequent enough to be annoying, and ~100% of the time it was video drivers.

Right, but that's my point. You're playing a game and the display crashes — I guess it's nice in theory that the rest of your system stayed up, but you're still more than likely just going to reboot, no? If not, how exactly do you plan to restart the graphics process?

Lot's of options here:

ssh from my phone and restart the driver.

Go to a fallback ui, and restart the driver.

Have a system util notice the driver is misbehaving incorrectly, and restart it.

Re: Fuchsia: a new operating system

#205
post #98
post #59

Earlier quoted context omitted.

Not often someone says lean and VS Code in the same statement.

Yeah I used to use Atom. I know Vim is what I should use for "lean" but it's not easy to use. I did see some pretty themes 'space wrap' or something like that.

s/Vim/EMACS/ and you're correct. Unless you want to learn Vi, Vim is not what you want; rather EMACS is what you want, and I will agree wholeheartedly that it is "not easy to use."

Re: Fuchsia: a new operating system

#206
post #25
post #14

Earlier quoted context omitted.

Why Linux kernel can support lots of CPU architectures in mainline tree but somehow requires to make a fork for each handset made by all these home appliance manufacturers? If you let all these vacuum cleaner companies to fork Fuschia, they'll fork it and put their "unique features" right into microkernel.

It's because all the stupid vendors refuse to share anything, and won't publish their sources for the various device drivers needed. So every time there's some new flash chip or whatever, there's a custom closed-source device driver for it which doesn't get mainlined or updated for newer kernel revisions, and devices with that chip are forever stuck on an ancient kernel version. There's only two ways around this: 1)…

For all your complaints about lack of a stable ABI, when you run Linux on a PC most of the hardware just works, most of it without out-of-tree drivers. (In some areas like graphics proprietary drivers give you a better experience, but even there typically there is some baseline support in tree.)

The reason this is possible on the PC and not on phones is because there are more standard hardware interfaces that don't exist in the ARM world. The lack of that is why the phone vendors need to do a lot of custom work.

Re: Fuchsia: a new operating system

#207
post #98

Earlier quoted context omitted.

Yeah I used to use Atom. I know Vim is what I should use for "lean" but it's not easy to use. I did see some pretty themes 'space wrap' or something like that.

Vim is well known for its bloated, messy codebase. I'd hardly call it "lean".

It's a messy C codebase, which is orders of magnitude leaner than a clean electron codebase.

Re: Fuchsia: a new operating system

#208

I've been waiting for this to be released. I suppose everyone has been. Capabilities . Like fine grain locks, these are very powerful and very hard to get right. That's the lesson from Hydra, the 432, .... No, it's not a hard mechanism for the microkernel to get right; it's a hard policy for the application programmer to get right. However, that's probably more of an opportunity rather than meant as a criticism. Our…

To be fair, this is not the entirety of C++ but C++ following the Google C++ Style Guide, which limits use to a more manageable subset of the language. For instance, exceptions, which can be especially hairy in a language with manual memory management, is prohibited. Take a look at the Fuchsia codebase. The code is really quite clean and readable.

Random muse, but God damn I love Google's code quality.

Compared to the midnight bamboo forest my company built. A challenging codebase, not by its merits but because you need to be clever just to find your way through.

Anyone know if Google is hiring webforms developers?

Re: Fuchsia: a new operating system

#209
post #195

Earlier quoted context omitted.

Yes? I haven't played games in a while, but when I did, crashes were frequent enough to be annoying, and ~100% of the time it was video drivers.

Right, but that's my point. You're playing a game and the display crashes — I guess it's nice in theory that the rest of your system stayed up, but you're still more than likely just going to reboot, no? If not, how exactly do you plan to restart the graphics process?

Windows automatically restarts the GPU driver after a crash; the screen goes black for a few seconds and then all the windows come back up. It can also upgrade the GPU driver without a reboot. It's not used often but it's pretty handy.

Re: Fuchsia: a new operating system

#210

Earlier quoted context omitted.

I think this is a symptom of internal rivalries at Google. Seems like a combination of Dart (arch-rival to Go) and ChromeOS (arch-rival to Android). That's not necessarily a bad thing -- Google's M.O. has always been to try lots of different things at once. But it may mean they literally don't have a solid long-term plan for it yet.

"arch-rivals"? That's overly dramatic. Go and Dart are hardly competing with each other, as are ChromeOS and Android.

I was being a little tongue-in-cheek, sure, but only slightly. They're both fairly recent languages, both representing a vision of how to fix the mistakes of the past. I'm sure the leaders of the teams see each other as rivals.
Post reply on HN