On Fuchsia, a newly created process has nothing. A newly created process cannot access any kernel objects, cannot allocate memory, and cannot even execute code. Of course, such a process isn’t very useful, which is why we typically create processes with some initial resources and capabilities.
Most commonly, a process starts executing some code with an initial stack, some command line arguments, environment variables, a set of initial handles. One of the most important initial handles is the
PA_VMAR_ROOT
, which the process can use to map additional memory into its address space.
Not the most detailed description just yet, but Fuchsia seems to be getting fleshed out more and more.
Hoping we will get more stories like this one – It is refreshing to hear about a new kernel/operating system. Not that I dislike nostalgia yet I wish for real improvements in user experience rather than just rehashing of old ideas.
It appears that approaches/concepts for improving inherent computing security are being explored. This is a great start.
Seconded, I would’ve been happier if the interesting ideas and projects came from smaller projects – but anything is better than nothing.
Strict sandboxing with service-only access to the outside world? Binary drivers that don’t block kernel updates? Fuschia absolutely looks like the heir apparent to Android, because it’s aimed squarely at Android’s shortcomings.
Also don’t forget that sometimes the work done on these research projects will then be used on advancing current systems.
Still done in C.
And will continue to be until new languages mature and can offer the same or better performance to size ratio, unfortunately.
darknexus,
They already can match and sometimes beat it though. For example GNU’s fortran compiler is often able to produce better code than idiomatic C using GNU C on average. The main reasons for choosing C are social rather than technical. It’s simply the best supported systems programming language in existence.
Edited 2017-06-20 14:50 UTC
Ada does that already.