'Fuchsia Is Not Linux': Google Publishes Documentation Explaining Their New OS (xda-developers.com)
An anonymous reader quotes a report from XDA Developers: You've probably seen mentions of the Fuchsia operating system here and there since it has been in development for almost 2 years. It's Google's not-so-secretive operating system which many speculate will eventually replace Android. We've seen it grow from a barely functional mock-up UI in an app form to a version that actually boots on existing hardware. We've seen how much importance Google places on the project as veteran Android project managers are starting to work on it. But after all of this time, we've never once had either an official announcement from Google about the project or any documentation about it -- all of the information thus far has come as a result of people digging into the source code.
Now, that appears to be changing as Google has published a documentation page called "The Book." The page aims to explain what Fuchsia, the "modular, capability-based operating system" is and is not. The most prominent text on that page is a large section explaining that Fuchsia is NOT Linux, in case that wasn't clear already. Above that are several readme pages explaining Fuchsia's file systems, boot sequence, core libraries, sandboxing, and more. The rest of the page has sections explaining what the Zircon micro-kernel is and how the framework, storage, networking, graphics, media, user interface, and more are implemented.
Now, that appears to be changing as Google has published a documentation page called "The Book." The page aims to explain what Fuchsia, the "modular, capability-based operating system" is and is not. The most prominent text on that page is a large section explaining that Fuchsia is NOT Linux, in case that wasn't clear already. Above that are several readme pages explaining Fuchsia's file systems, boot sequence, core libraries, sandboxing, and more. The rest of the page has sections explaining what the Zircon micro-kernel is and how the framework, storage, networking, graphics, media, user interface, and more are implemented.
It looks like an interesting kernel using microkernel ideas. It should be interesting if they can get around the latency for process switching and message passing.
Stupid name. Dead on arrival.
I object to power without constructive purpose. --Spock
Um, no. Never heard of it.
Fuchsia is not Linux
Translation: Fuchsia is Linux. We took Linux and hacked away at it to make Fuchsia. Because Oracle won in court recently, we're being a bit more careful at covering our tracks this time.
So you are in front of the ads sooner.
Domestic spying is now "Benign Information Gathering"
Naming their manuscript "The Book". I mean God is merciful but taking the same name as His manuscript just might be smiteworthy.
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
The villagers quaked, dropped their tools and ran for the safety of the caves in the hills, for that most feared of creatures, that most fearsome and angry of bearded protean gods, Richard Stallman, was stirring.
The world's burning. Moped Jesus spotted on I50. Details at 11.
...and that's FINL!
-Forrest Cameranesi, Geek of all Trades
"I am Sam. Sam I am. I do not like trolls, flames, or spam."
I recall the Amiga working that way. input.device was the highest priority task in the system. I may, however, recall incorrectly, it was a long time ago.
I don't care about your karma, I don't care about what's hip. --Weird Al
Zircon has a unified system to manage the lifetime of, and control access to, all kernel objects. It feels very much like the Windows kernel. The way Zircon uses handles, and the zx_object_wait_one() and zx_object_wait_many() functions, really show the Windows influence. I personally think this is a Good Thing -- my disagreements with Windows lie mostly in user mode -- but YMMV.
Just to be clear... I'm not saying Zircon is a Windows clone -- just that I see clear influence from Windows.
Well, you're not really asking that the system never have priority over the user. You're asking that your interactive task have priority over everything else. The system is responsible for reading what you type on the keyboard, for example, so in that case the system should have a very high priority so that it can service your interactive task.
I suspect that what is bothering you is a process that is blocked on I/O, or your computer is starved for resources and swapping (which means everything gets blocked on I/O).
Ultimately this comes down to the system attempting to keep all of the promises it's already made to you. Most of the time these promises are buffered writes which it has in RAM, and is pushing to your really slow USB drive or SD card as fast as it can. You interrupt it, but this does not interrupt the promises already made.
Ultimately the fix is adding more expensive hardware, like a disk that won't make you wait.
Bruce Perens.
https://github.com/fuchsia-mir...
It's an MIT based open source license
So, this can join GNU Hurd and Genode in the queue of things that we all need, but nobody (else) knows it yet. I look forward to running on of these, some day, so I can ditch the virus scanners, and surf the web in perfect safety... downloading and running whatever I want without worry.
Well, you're not really asking that the system never have priority over the user. You're asking that your interactive task have priority over everything else. The system is responsible for reading what you type on the keyboard, for example, so in that case the system should have a very high priority so that it can service your interactive task.
If only it was so simple, but in fact it's far worse than this. Not only does the OP want the interactive task to have priority to all possible resources over everything else, but that this priority inherits from this task to every task that is blocking it, including those access over all possible inter-task-communication methods. At the very minimum, it means that all of those IPC mechanisms need to be 'priority aware' and the kernel needs to arbitrate this correctly. It also means that all tasks must migrate away from any IPC mechanisms that don't have the structure to encapsulate the concept of a 'blocking request' -- shmem probably has to go.
In other words, it's not enough to give my topmost process the highest priority to the disk, but if that process reaches to any other process, say a system service, then that process must, for the lifetime when it is services the request from the topmost process, also (temporarily) be granted highest disk priority. In a POSIXy world where processes often connect via (local, not AF) sockets, this means that the socket mechanism itself needs to somehow figure out if the request is blocking or if it is 'background priority'.
I think you just proved his point. You sound like a computer engineer and those things sound "worse" to you, because that isn't how it has been done in the past. It does make sense to prioritize the interactive task, and all resources that the interactive task uses, even down to the system level. It may not be possible with current systems, but that is computer engineer thinking. It may not be a good idea either.
Actually, you're asking for the OS to break its promises in the name of interactivity uber alles. So, the system throws away its buffered I/O. What goes wrong after that? Quite a lot, actually.
Bruce Perens.
Bet the only thing not patented already or copyrighted is the name of the OS lol
Jack of all trades,master of none
It wasn't Linux. It was the Java code surrounding it.
Running with Linux for over 20 years!
Funny, as an ex Amigan, how often it comes up when Future, Faster, Better is mentioned, the Amiga comes up.
CS 101. You are referring to deadly embraces and wait/stall times queuing depth.
Interrupt handling is a complex thing.
IBM has already mapped all the considerations -thats why ZOS is reliable.
CPU Failure
Power fail
Memory Fail
Quiesce hardware
VM semaphores
SLIP trace
We are still waiting for toy operating systems and garden variety PC chps to catch up to DEC rabbits or VM/CMS,
> Mac OS is certified UNIX dumbass.
MacOS deviates from other Unixen so badly at anything but the lowest level that a MacOS user would find the differences an intolerable level of consistency.
They annoy AIX admins too.
A Pirate and a Puritan look the same on a balance sheet.
> ...what need is there ever for Linux? Just use UNIX, right?
I tried back in the day. The commercial Unix distributions didn't support commodity hardware. I would have paid the Iron price for them too. I drew the line at rebuilding my PC with unnecessarily expensive parts.
A Pirate and a Puritan look the same on a balance sheet.
Pronounced "Fucks Ya".
Not sure about Real Unix (I've only played with the BSDs a little as CLI-only vms) but the differences between OS X and Linux when you hit the command line are pretty interesting - and annoying. Things like "user preference directories for Firefox and VirtualBox and ... are possibly in 3 different places, with no consistency". My Linux workstation died last December, I grabbed a nice older iMac (mid-2011) with 16gb ram and tried using OS X for 2 weeks, using my normal applications since they are all cross platform or have drop in near identical replacements. Wiped the drive,installed Debian, restored my ~/ and haven't looked back. Nice hardware. LOVE the monitor, and I'm afraid to look at the new ones the graphics guys down the hall have (I can't afford to go buy one....). The OS though is just Too Different for me to deal with when I'm busy with trying to get back to being productive at work.
Don't blame me, I voted for Kodos
FINL is not Linux.
Even better FINAL.
FINAL is not a Linux
Some drink at the fountain of knowledge. Others just gargle.
Makes sense you didn't mention BB10. I was floored when I heard YouTube video playing while not the main app didn't play on iOS but was easily done on BB10. Until low battery power save kicks in, the OS is responsive.
Y U argue with Bruce Perens?
I'm amazed that he finds time to waste on /. anymore. Thanks for chiming in Bruce!
kill -9 pid
Simple.
Or if it was really you that started it,
kill -9 %1
Get you's' a *nix!
If you read the white papers on HURD architecture, they're quite clear that we don't need it, and everybody knows it already. ;)
Don't know about the task priority but the Amiga UI was definitely amazingly responsive, and that was with a 7.16 MHz CPU (I had a RAM expansion that pushed the total to a whopping 1.5 MB). Sure, the Amiga 1000 didn't have virtual memory, or networking, but my current machine has 4 cores, each running over 300 times the clock speed, 20,000 (!) times the RAM, and software that still sometimes forgets that the person is the most important part of personal computing.
How is the most deployed kernel in existence a failure?
"I really must insist you call it GNUschia."
My amazing wife - Artist, Author, Philosopher - Laurie M
So it'll be about as open source as iOS?
Based on, not based off.
Wasn't the BSD licence there 20 years earlier?
Sent from my ASR33 using ASCII
I think I'll go with microkernels are the fuchsia.
No, they are a naturally expressive programming paradigm to and in expressing the problem, which acknowledges the cost of programming effort.
Fuch that sia.
Our reign has gone on long enough. Indeed. Summon the meteors.
The question is: why make such an effort when Linux is already there and can be modified to your needs.
One reason may be, that there is something you want to do fundamentally different, so it's easier to start a new project than change the old one to your needs.
Another thing may be that they want to get rid of (L)GPL-Licensed parts in their OS, and that may well be the more important motive here.
See here how the android website argues for other licenses than LGPL for User space apps:
https://source.android.com/set...
It could even be a move to prepare for a proprietary branch (the sources for which they have complete copyrights, i.e. that didn't incorporate patches from outside, can always be licensed under an additional license) and in the long run have a completely closed source OS.
This is just wild speculations since IANAL, but it might be be interesting what lawyers make of the change in licensing.
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
So if I embrace it, it would be "my GNUschia"?
A couple of years ago, a BlackBerry fan posted a comment saying that Google and BlackBerry were working on a new OS that would replace Android and BB10. It now looks to me like he may have been right. And that may have been why David Kleidermacher, BlackBerry's former director of security, left BlackBerry to work for Google. I imagine he's in charge of the securing the new OS. When I read that BB fan's post, I imagined that the data-mining code would be put into modules that would be loaded by Google for their devices, and unloaded by BlackBerry for their devices. I'm looking forward to seeing how it turns out.
I use linux at work and Mac OS X privately, never stumbled into issues with bash or other tools.
I wonder what problems/differencces do you encounter?
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Every year a good percentage of computer science and computer engineering undergrads write a small kernel for their coursework. It's not hard to write a kernel that solves a narrow set of requirements. When you have an every expanding scope, like in the Linux world, it gets hard. Linux has to run kiosks, mobile phones, desktops and supercomputers. And it's probably not the best possible kernel for any one of those problems, and certainly more complex than a kernel designed for a single specific purpose.
Why do we need Google Fuchsia? We don't really. But a whole lot of people leverage Little Kernel for their projects (my own company is using LK in 3 totally different ways). I blame LK for projects like Fuschia as it has turned into sort of a DIY Operating System kit.
If Linux and the BSDs are too complicated or you're just looking for some kernel you can hack up to meet your own special needs:
* NewOS
* Xv6 - a teaching OS. but people have patches for virtual memory and other goodies
* LK (little kernel) and for an example of a fork TLK (Trusted Little Kernel). LK is quite a good starting place for an aspiring osdev'r
* basekernel - rough starting place for making your own kernel
* FUZIX - a UNIX-like kernel geared toward 8-bit CPUs. but can be ported to bigger CPUs (there is a 68K port for example)
* TinyOS
* Femto OS - a kernel suitable for multitasking on small microcontrollers
* PonyOS - a graphical OS for people who love ponies (OMG Ponies). If you're looking for a more serious version see Toaruos.
There are hundreds of these hobby and learning OSes and several more complete and better established ones (like FreeRTOS).
“Common sense is not so common.” — Voltaire
If the entire source code for iOS is freely available to anyone and you're free to do pretty much anything you want with it, sure.
A so called open source OS, that is really just a thrown over the wall every so often OS. That I can't contribute to. Great !
If you want OS innovation maybe rust OS is a better place to look.
Mostly with restoring settings/profile data from my Linux system for the same apps under OS X - like Firefox, Thunderbird, Geany, Netbeans, etc
Don't blame me, I voted for Kodos
Yeah, that is understandable.
I tried to find where Thunderbird saves its settings, because I need to delete an SMTP/IMAP configuration, but failed so far (on Linux).
Netbeans might have an "export settings" and "import settings" option. Most IDEs have that.
Good luck!
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
waiting for the next google updates............