Fuchsia, a new operating system
141–150 of 175 posts
Re: Fuchsia, a new operating system
#142[As I have several growing in the garden, this is an important development]
Re: Fuchsia, a new operating system
#143Earlier quoted context omitted.
Redox is microkernelish, and used to have a lot of unsafe, but has cut it down significantly. You'd be surprised :) That said, this is pretty much an open research question at this point, so you're right to be skeptical. (I would also argue that unsafe Rust has more _unspecified_ behavior than C, but not more undefined behavior, but until we get those semantics truly nailed down, can't say for sure. See above "open r…
I took a quick peek at the redox source code and found kernel mode audio and network drivers. This is not a microkernel. As for UB: Maybe it has less, but that which exists (e.g. noalias on mut refs) is very dangerous.
Like Steve said, the exact nature of this UB isn't completely specified yet (as in, when it actually is UB), so it is dangerous right now, but that's just temporary.
Re: Fuchsia, a new operating system
#144Fuchsia is not a combination of pink and purple. It is the color your brain comes up with when it sees contradictory color signals (such as very high and very low wavelengths without the appropriate middle stimulation). It's the only color not in the rainbow. As you can see from this additive color program ( http://trycolors.com/?try=1&ffb5d9=0&c31cff=0 ), pink and purple create a lavender color. Whereas fuscia is wh…
Wrong.
I hate this argument about pink/fuchsia being "special".
most colors are not in the rainbow. most colors are what our brain comes up with when it gets contradictory signals. However, most colors are "close enough" to a color that's in the rainbow. Pink isn't. But this is very subjective and depends on the culture you originate from -- for example, in Japan green and blue are often regarded to be shades of the same color. I'm sure that similar things can happen with pink and red. If you've grown up with the same word for pink and red, thought of them as the same color, and only later learned names for the individuals shades, you'd probably say that pink is in the rainbow (and perhaps some subdivision of blue is not)
Re: Fuchsia, a new operating system
#145Re: Fuchsia, a new operating system
#146I'm calling it now: this is for augmented reality displays and similar. You want an RTOS for loss and predictable latency. And current GUIs aren't really suited to 3D environments you can walk around inside. This is Google's next Android, with a low latency rendering pipeline for the next generation of mobile devices.
Wouldn't that be nice after Google has affirmed again and again that Java would be the only supported way to develop Android apps, even though they keep Dart funded internally... Hey, I'll bite. Let's see.
Re: Fuchsia, a new operating system
#147Earlier quoted context omitted.
Maybe the cultural problem is actually that people like you expect open source projects to be like companies except that you don't have to give them money? Most open source code is written by someone because they want it and then they release it so others can see the code. Of course there's a take-it-or-leave-it attitude... why would they care if you take it? They don't get anything if you take it, you taking it was…
That's a huge problem. Some times we end up shitty solutions to problems because the people who wrote the software do not care to fix its bugs and there's a lack of investment in creating better solutions because the free, open source solutions exist. Just look at the state of version control software. Other times we end up with a good, expensive commercial product and a free, crappy open source product with a huge g…
What's your point regarding versin control software?
Re: Fuchsia, a new operating system
#148Earlier quoted context omitted.
The LK inner construct is ~15KB. I don't think you could use Rust's safety features and get that size for the LK portion. Maybe the Magenta portion of it though. "Magenta has a capability-based security model. In LK all code is trusted." Pony lang is a PL using capability-based concepts too.
> I don't think you could use Rust's safety features and get that size for the LK portion. What do you mean? Rust's safety features are mostly compile-time; it shouldn't have implications for binary size. https://github.com/helena-project/tock is an RTOS that runs on an Atmel SAM4L Cortex-M4, and is about ~30kb in size, in my understanding. But that's for the whole OS...
The point I attempted to make is that when you go small, and pare away what you used to create it, you could have used C and verified it with a certifier/prover. How does Rust address this goal? Truly curious, since I just started learning Rust. I program in C, not C++.
How does your example of the RTOS on the Cortex-M4 at ~30KB compare in complexity to LK at ~15KB in terms of what they deliver in that package size?
Re: Fuchsia, a new operating system
#149Earlier quoted context omitted.
> I don't think you could use Rust's safety features and get that size for the LK portion. What do you mean? Rust's safety features are mostly compile-time; it shouldn't have implications for binary size. https://github.com/helena-project/tock is an RTOS that runs on an Atmel SAM4L Cortex-M4, and is about ~30kb in size, in my understanding. But that's for the whole OS...
You're right about binary size. I shouldn't have worded it that way. The point I attempted to make is that when you go small, and pare away what you used to create it, you could have used C and verified it with a certifier/prover. How does Rust address this goal? Truly curious, since I just started learning Rust. I program in C, not C++. How does your example of the RTOS on the Cortex-M4 at ~30KB compare in complexit…
> How does Rust address this goal?
Currently? Not as well. There's no total proof framework for Rust yet, it's too early. In a few years? The same way, but with more "proven" by default, without the extra tooling. Tool maturity is certainly one of the areas where C has a leg-up on Rust, by virtues of being decades older.Re: Fuchsia, a new operating system
#150Earlier quoted context omitted.
I love Rust immensely, and it is perhaps my favorite programming language as of late. However. This is a microkernel. There is very, very little code inside a microkernel which, if written in Rust, would not end up inside an unsafe block. You are building the safe abstractions here; that code is inherently unsafe. You could use Rust as a C replacement, but it is a worse C than C, and unsafe rust contains more perils…
You could probably write one in forth though ;p, what's good enough for EFI is good enough for the kernel. (You'd end up with a lot of inline assembly probably though, but hey that's less complicated than C++.)