[HN Gopher] Plan 9 Desktop Guide
       ___________________________________________________________________
        
       Plan 9 Desktop Guide
        
       Author : signa11
       Score  : 216 points
       Date   : 2021-10-04 10:51 UTC (2 days ago)
        
 (HTM) web link (pspodcasting.net)
 (TXT) w3m dump (pspodcasting.net)
        
       | glangdale wrote:
       | This is worse than retrocomputing; it's necrocomputing, a
       | pathetic attempt to mate with the corpse of a dead concept
       | operating system. Instead of drawing any interesting lessons from
       | Plan 9 for OS and distributed system design, it's an attempt to
       | turn a burned-out wreck into a daily driver, generally by
       | redefining driving as "sitting in a car and making brrr noises".
       | 
       | They are remarkably honest about it: "There is no advanced auto-
       | completion of program names and flags, like hipster zsh and fish
       | users might be accustomed to. But this really isn't an issue
       | since Plan 9 has virtually no programs or flags to speak of, as
       | you will discover soon enough."
       | 
       | Those with any kind of spidey sense for going down tech rabbit
       | holes might also notice how front-and-center features for, ummn,
       | connecting/emulating computers _not_ running Plan 9 are in this
       | guide.
       | 
       | Randomly cutting into the document presents you with a plethora
       | of the usual fetishization of the fact that a nearly useless
       | operating system, window manager, etc. doesn't take nearly as
       | many LoC as something that more than a handful of people use, not
       | to mention a giant list of things that you apparently shouldn't
       | do, like use files made in Office: "There are a great many office
       | suits (sic) on most operating systems, and other office utilities
       | besides too numerous to count. So many are the choices in fact
       | that it's easy to forget that "office" is just a fancy word for
       | working with text."
       | 
       | It seems to close on some daft explication of how everything can
       | be a database and how you don't need a real one, presumably after
       | having invested thousands of words on how you don't need a
       | spreadsheet, don't need a web browser, don't need an office
       | suite, etc.
       | 
       | I cannot think of anything that captures the spirit of Plan 9
       | less than attempting to revive a dead, nearly 30 year old
       | operating system and pretend that it's a useful daily driver. At
       | the time Plan 9 was built it was a quirky and _clean_ take on
       | technology of the time, built on cutting edge and interesting
       | hardware. At a time when distributed systems in Unix (not really
       | Linux, then) were a tooth-grinding exercise in frozen NFS mounts
       | and awkward, irritating incompatibilities, Plan 9 was a breath of
       | fresh air. Honoring its spirit would be building a new operating
       | system that applies this kind of simplicity to modern hardware (a
       | hell of a task) - and learns from its mistakes, not trying to set
       | up a homestead in this utter wreck.
        
         | tcmart14 wrote:
         | I think in order to achieve your final point, these kinds of
         | things are necessary. I agree that it would be great to see a
         | project that revives the core concepts of Plan9 in a modern
         | sense, however, you have to attract people and give them a
         | baseline for what that is. You do that by introducing people to
         | Plan9. Talk about its features and how it does things. Stir
         | enough interest then go, "Hey, lets either take the code base
         | and modernize it into a full fledged modern OS" or "Lets start
         | from scratch with the target of where Plan9 would be today if
         | it got decent user adoption back then." That or get a Linux or
         | BSD dev to play with Plan9, finding a feature they really like,
         | then they go, "Hey, I think I can implement that feature over
         | here."
        
         | witheld wrote:
         | Operating systems grinded to a halt a decade before Plan 9 came
         | out. I wish what you were saying was true, I wish that I didn't
         | have to use a teletype emulator on Linux with no real mouse
         | support, I wish I could do unprivileged resource organization
         | (I'll give you ten minutes to try 'unshare', bind mounts, and
         | "unionfs" on Linux before giving up).
         | 
         | It is pathetic that operating systems have remained crap for 30
         | years, but given that nothing has moved forward, there's no
         | reason not to start with the newest operating system we have:
         | Plan 9.
        
         | thuccess129 wrote:
         | Seems the above posting is botty. Text generated by one of
         | those Ai influop language models? Anyway, you can decide for
         | yourself if Plan 9 is for you by following along the 9SDF Boot
         | Camp. They are two weeks in and the journey ends 10dec. A lot
         | of quality of life experiences is lost stepping from a modern
         | GNU Emacs/Linux/BSD platform to gain the 9p simplicity concept
         | oriented connectivity. Apple could do worse than transition
         | macOS from its FreeBSD foundation to Plan 9 coupling with a
         | variety of new ISA. Compiling to multiple objtypes on Plan 9
         | would put a smile on Larry Tesler up there in heaven seated
         | next to Steve Jobs doing a demo.
        
           | xeeeeeeeeeeenu wrote:
           | >Seems the above posting is botty. Text generated by one of
           | those Ai influop language models?
           | 
           | How so? GP's post may be a little bit too harsh, but it's
           | definitely well written and coherent.
        
             | Koshkin wrote:
             | Yeah, I wish I could unflag it.
        
               | shadowgovt wrote:
               | I've decided to vouch it, but as basic criticism: the
               | purpose of this site is intellectual curiosity, and
               | criticizing Plan 9 as "dead" is the opposite of
               | intellectual curiosity.
               | 
               | Even dead things are worth studying, if for no other
               | reason than to explore the question of why everyone _isn
               | 't_ using them (in Plan 9's case, it has a lot more to do
               | with accident of history than any technical
               | limitations... Once POSIX standardized what a UNIX-like
               | OS that managed processes and allowed IPC looked like,
               | everything close-to-but-not-that became also-ran, no
               | matter its technical merits. Esperanto is a fine
               | language, but useless if almost everyone you meet knows
               | English instead).
        
               | Koshkin wrote:
               | The rant was about making Plan 9 out as something
               | potentially useful as a daily driver.
        
               | butterisgood wrote:
               | And here I sit, using it daily, and productively.
               | 
               | Strange that.
               | 
               | I will agree it's not for everyone, but I still wouldn't
               | put my mom on Linux either (not for a desktop...
               | absolutely not).
        
               | MisterTea wrote:
               | If plan 9 were dead it wouldn't have a fork that receives
               | patches on a near daily basis with an active community.
        
         | shrubble wrote:
         | The Cisco PIX firewall OS was built on top of Plan9.
         | 
         | It was developed by a single developer.
         | 
         | Perhaps the use of Plan9 can spark a similar good idea?
         | 
         | After all 'art cannot be created in the absence of limitations'
         | ...
        
         | the_only_law wrote:
         | And you are so deeply affected by this why?
         | 
         | It's just a guide on how to do things with an operating system.
         | The author isn't even really advocating it's use as a daily
         | driver, just providing instruction for how to do so, if someone
         | was so inclined. There's nothing in there that's warrants a
         | multi-paragraph whining about OP is using something.
         | 
         | There seems to be a very negative option towards retrocomputing
         | on HN unless it related to bitching about electron or resource
         | usage, but this is the most virile I've seen it.
        
         | butterisgood wrote:
         | I'm reminded of the rant given by Billy Madison during the
         | academic decathlon.
        
           | nix23 wrote:
           | Let's watch that movie in a WSL2 machine from the Windows
           | partition :)
        
         | anthk wrote:
         | Thanks to plan9 we have 9p and UTF-8 today.
         | 
         | Also, rant whatever you want, but importing /net it's far
         | better than all of the IPTABLES NAT crap you have to write in
         | order to have an usable system build on top of stacked crap
         | again and again.
         | 
         | 9front is the future, and not that turd based on half baked
         | networked file systems from Sun named NFS, or worse, Java as
         | the 'standard' of enterprise 'computing'.
         | 
         | Don't let me start on X11, Bash having /dev/tcp and so on.
         | 
         | Or having to use VNC instead of X11's forwarding in order to be
         | usable today (Or NX, Xpra...), thus, defying the basic scheme
         | of X11's client/server model.
        
           | lizknope wrote:
           | https://en.wikipedia.org/wiki/Everything_is_a_file
           | 
           | Why is the socket interface the way it is? Why isn't it like
           | /dev/tcp in bash?
           | 
           | I tried Plan 9 about 10 years ago. Since then I use VPNs
           | everyday and it can be tricky to setup at times.
           | 
           | The Plan 9 concept of just importing /net from the VPN
           | machine as a union overlay is so elegant.
           | 
           | https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#Combinin.
           | ..
        
             | anthk wrote:
             | >Why is the socket interface the way it is? Why isn't it
             | like /dev/tcp in bash?
             | 
             | That's wrong. /dev/tcp or /dev/udp should be devices
             | themselves, not a fake one for bash.
        
               | lizknope wrote:
               | I know the one in bash is fake but I'm saying that
               | /dev/tcp and /dev/udp could be filesystems like /dev or
               | /proc
               | 
               | Open /dev/tcp/google.com/80 or /dev/tcp/192.168.1.1/22 or
               | whatever.
               | 
               | Instead of having your web server start as root and then
               | do some UID switching to drop priveleges why not have it
               | start as a non priveleged user from the beginning?
               | 
               | The ports under 1024 are reserved for root but how about
               | we get rid of that and have files for every port number?
               | Then use chown and chmod to set permissions and only let
               | the httpd user account read and write to port 80?
        
         | jpm9 wrote:
         | Whatever suckiness Plan 9 has, it's either incomparable to
         | other systems, or it is not worth caring about, or if it is,
         | something can most likely be done about it with relatively
         | little effort, and if not, you can always run multiple
         | operating systems in parallel.
        
         | justin66 wrote:
         | The funny part about this comment is, if one filters out all
         | the bitter and out of place adjectives it reads like you're
         | describing a worthwhile and fun educational exercise.
        
         | itomato wrote:
         | Yeah, but they have Glenda.
        
       | rcarmo wrote:
       | This is by far the most comprehensive Plan 9 walkthrough I've
       | read in the past couple of years.
       | 
       | I've been running a Raspberry Pi as an all-in-one Plan 9 setup
       | for a long while now (as a sort of catch-all minimalist dev
       | environment/console), and the two main showstoppers for me have
       | been:
       | 
       | - The reliance on a three button mouse, which makes it impossible
       | to use Plan 9 on a modern laptop without finagling with modifier
       | keys (no, I don't want to go back to using a mouse, thanks).
       | 
       | - The utter lack of any minimally usable browser (I know, the
       | browser would be larger than the OS, but it is a major issue for
       | any kind of work today).
       | 
       | It is an excellent system to dig into and learn from, but there
       | are many paper cuts when using it daily: SSH/terminals work
       | differently, VNC/Remote Desktop clients are... weird, etc. (rd
       | sort of works, and sort of doesn't, and without it really working
       | I can't even read documentation online unless it's plaintext).
       | 
       | All in all, this is a great thing to see as I hope new things are
       | built atop Plan 9 (when it makes sense), but as a minimal desktop
       | environment I've moved to Openbox + xterm + Firefox, and have
       | been pondering setting up Chromium OS on a beefier Raspberry Pi,
       | since most "consoles" are just web-based these days anyway...
        
         | shadowgovt wrote:
         | +1 on the browser issue. So much of basic development these
         | days requires a browser (I'm even using one to read this Plan 9
         | Desktop Guide) that not having one hosted by the OS moves the
         | OS from "Desktop development" to "Embedded system development"
         | for all practical purposes for me.
        
           | anthk wrote:
           | Browsrs? Just get this and read it with page.
           | 
           | https://doc.cat-v.org/plan_9/9.intro.pdf
        
             | shadowgovt wrote:
             | Sorry, I never received this suggestion on Plan9 because I
             | can't read Hacker News without a browser... ;)
             | 
             | (... and so on and so on. HTTP, as a protocol, has eaten
             | the world. A "desktop" anything without a native browser in
             | it really sticks out.)
        
               | ori_b wrote:
               | Turns out that you can browse hacker news (and a lot of
               | the internet) fairly well from both netsurf and mothra.
               | 
               | [Posted from 9front.]
        
               | anthk wrote:
               | A PSP, Lynx or Opera Mini 4 user agent may do wonders.
               | 
               | webfs(4) supports custom ones.
        
               | anthk wrote:
               | >HTML, as a protocol
               | 
               | Ahem.
        
               | shadowgovt wrote:
               | Thank you; corrected. :)
        
         | eldersnake wrote:
         | I've only been trying Plan 9 (via 9front) the past few days,
         | just in a VM, but I agree about the mouse. My mouse hand cramps
         | up very easily, and I've become so accustomed to keyboard
         | driven interfaces (I use dwm as my window manager, for example)
         | it almost feels weird using a mouse so much.
         | 
         | Definitely a very interesting system though.
        
           | butterisgood wrote:
           | Some people in the community are playing around with a rio
           | replacement.
           | 
           | https://shithub.us/sigrid/riow/HEAD/info.html
           | 
           | This has some keyboard shortcuts etc.
        
         | Kototama wrote:
         | It's probably unfair to compare Plan9 to "modern" operating
         | systems. Why not talk about everything it got right and smart
         | instead of all the things which behave differently than what
         | our expectations set?
        
           | gonzus wrote:
           | I want to answer trying to interpret the GP. For me, I _want_
           | to be able to tinker with Plan 9. I _love_ everything I have
           | read about it. But I also need a practical environment where
           | this is possible. I would love to be able to do minimal
           | (frugal?) development work on a pi running Plan 9, but the
           | lack of a browser, an editor that feels familiar (at least
           | for a while, until I learn the ropes) and the languages I
           | want to tinker with, it is very hard to get going.
        
             | enriquto wrote:
             | You can install it on a virtual machine and start playing.
        
           | Cloudef wrote:
           | The strong point of plan9 is the universal IPC. This kills
           | the need for a separate clients and servers that communicate
           | with their own protocols to get access to remote resource.
           | You can simply import / export anything, this isn't limited
           | to static content as daemons can also export virtual
           | resources. It also makes lots of programs unnecessary as
           | traditional shell tools can access and modify resources and
           | even system settings. Sort of like sysfs on linux but more on
           | steroids.
           | 
           | Plan9 was also far ahead with sandboxing by having
           | namespaces, which means you can expose restricted views of
           | the "filesystem" to each process. Since in plan9 there's no
           | ioctls and every resource access is simply read/write syscall
           | (even networking!), restricting the "filesystem" is all you
           | need to restrict what a process can do on your system.
        
           | ThinkBeat wrote:
           | Plan9 is a more "modern" operating systems than UNIX.
           | WindowsNT is also a more modern operating system than UNIX.
           | 
           | In so far as when they were created long after UNIX. And
           | Plan9 certainly was at some point hoped to be a successor.
           | 
           | That did not happen.
           | 
           | and the new ideas they had.
        
             | jhbadger wrote:
             | Although Windows NT was in many ways a version of the
             | operating system VMS that failed against UNIX including
             | having the same main architect, Dave Cutler, who hated
             | everything about UNIX and who refused to learn from its
             | success. Plan 9 on the other hand was created by some of
             | the very same people who created UNIX. It learned from UNIX
             | and while it failed, it failed because to most people UNIX
             | was "good enough" and the improvements of Plan 9 weren't
             | compelling enough to switch.
        
           | rcarmo wrote:
           | I'm just pointing out the shortcomings I found. I've been
           | using it and keeping tabs on resources for Plan 9 and Inferno
           | since 2014:
           | 
           | - https://taoofmac.com/space/os/plan9
           | 
           | ...so I do know a lot about it in practice. It's just that,
           | also in practice, nearly ten years of tinkering with it have
           | been mesmerising, mostly fun, but not useful enough for my
           | particular use cases. YMMV.
        
         | cesarb wrote:
         | > The reliance on a three button mouse, which makes it
         | impossible to use Plan 9 on a modern laptop without finagling
         | with modifier keys
         | 
         | Some modern laptops which have both a touchpad and a trackpoint
         | or similar have two sets of mouse buttons, with the top one
         | (for the trackpoint) having three buttons. The Wikipedia
         | article (https://en.wikipedia.org/wiki/Trackpoint) has a list
         | of models (note however that, for some models, it's optional so
         | you can have it either with or without the trackpoint) and a
         | couple of pictures of these laptops with two sets of mouse
         | buttons.
        
         | jjuel wrote:
         | > The reliance on a three button mouse, which makes it
         | impossible to use Plan 9 on a modern laptop without finagling
         | with modifier keys (no, I don't want to go back to using a
         | mouse, thanks).
         | 
         | Thinkpad ;)
        
       | hulitu wrote:
       | So it is or it is not possible to run X11 on Plan 9 ? The article
       | says that it runs twm and then later that it is possible to run
       | linux program through an emulation layer.
        
         | nrr wrote:
         | It's complicated. The port of X11 that the article talks about
         | is the one that's on the old Bell Labs web site[0], and it
         | never really worked all that well for me.
         | 
         | Linuxemu is something of a research project, and I don't recall
         | it working all that well either.
         | 
         | You can get a Unix-alike (e.g., OpenBSD) running under 9front's
         | vmx(1), and that will get you access to X11, albeit not running
         | natively atop a Plan 9 kernel, which is likely not what you're
         | after.
         | 
         | 0: http://9p.io/plan9/addons.html
        
         | butterisgood wrote:
         | More than 10 years ago I ran one by fgb named "equis".
         | 
         | Only reference I can find quickly is here
         | https://plan9.io/wiki/plan9/x11_installation/index.html
         | 
         | I used it with the linux emulation layer someone was building
         | to run Mozilla on Plan 9, but none of those were continued as
         | far as I know.
        
       | Koshkin wrote:
       | Here is another informative post on Oberon, Plan 9, and Inferno:
       | 
       | https://blog.tsr-podcast.com/index.php/2021/05/13/episode-76...
       | 
       | (Much of the Plan 9 UI was borrowed from Oberon.)
       | 
       | http://www.projectoberon.com/
        
         | MisterTea wrote:
         | > (Much of the Plan 9 UI was borrowed from Oberon.)
         | 
         | The Acme UI is heavily based on Oberon. The current plan 9 UI
         | is Rio, a window multiplexer and manager.
        
       | smhenderson wrote:
       | As with a lot of people here, one of my first thoughts was, "yes,
       | but how do I browse the web?". So after reading a bit, then
       | skimming and skipping a bit, I found the section on mothra and
       | abaco. By far my favorite line in the article is:
       | 
       |  _Recently, NetSurf has been ported to Plan 9 by the 9front
       | developers. The browser is slow and glitchy with a ton of bugs,
       | and thus provides a fairly convincing web 2.0 experience._
       | 
       | Based on this alone I think I shall give Plan 9 another try in
       | the not too distant future!
        
         | anthk wrote:
         | Or better, skip the web completely and read HN over gopher:
         | gopher://hngopher.com
         | 
         | HN works under Links, so it could work under Mothra.
        
           | RealStickman_ wrote:
           | Gopher =/= the web
        
       | butterisgood wrote:
       | Been using 9front on a Raspberry pi for many months as my primary
       | coding environment.
       | 
       | Thinking about getting a better workstation for it, but so far,
       | there's no real problem using a raspberry pi. (and you just don't
       | need a ton of resources to make it work really well!)
       | 
       | This article is great and has very few errors. I won't point any
       | out as they'd just be some old curmudgeonly person pointing out
       | historical inaccuracies that don't really matter that much to a
       | "here's how you can use Plan 9/9front".
       | 
       | Really nice!
       | 
       | I've been particularly excited about Plan 9 and 9front since the
       | MIT licensing that happened this year. Great outcome, and I wish
       | it'd have happened 10 years sooner!
        
       | ThinkBeat wrote:
       | I really wish this would have become a major force.
       | 
       | It has a lot of great architecture that would make it a preferred
       | platform in these "cloud", "distributed" ways.
       | 
       | Smack Erlang and Elxir on it and you got something.
        
         | butterisgood wrote:
         | Someone's working on Zig, but I'm not sure how much time they
         | have.
         | 
         | Also, if I had more time, I'd get Zig working on it too.
         | 
         | There's always Go, and it works pretty well too!
        
       | iszomer wrote:
       | SDF recently started hosting a Plan 9 bootcamp.
       | 
       | https://sdf.org/plan9
        
         | georgeoliver wrote:
         | Love this idea!                 Plan9 wants a network
         | Plan9 wants to be distributed       Plan9 wants a community
         | 
         | I've always heard about Plan9's networking, does this include
         | having good leverage for tasks like audio streaming?
        
           | butterisgood wrote:
           | People were just streaming to twitch from 9front not very
           | long ago (within the last month).
           | 
           | So I assume so.
        
       | genpfault wrote:
       | So what's the Plan 9 filesystem interface for GPUs and/or 3D
       | acceleration?
        
         | MisterTea wrote:
         | None. Send patches. Though, there are ideas floating around and
         | supposedly someone working on something but its vaporware as of
         | now.
         | 
         | A plan 9 interface to a GPU would have to be as general as
         | possible by excluding API specific interfaces. This way you
         | have a GPGPU interface which you build applications/api's on
         | top of.
         | 
         | edit: Here's a very back of napkin idea that was lightly
         | discussed recently,
         | https://marc.info/?l=9fans&m=162965057312200&w=2
        
       | rawoke083600 wrote:
       | There is just something about these 'old' Operating Systems that
       | takes me back to my super geeky youth :)
       | 
       | Sitting in my bedroom with my 386 and trying to install Linux
       | from stiffies and getting IPChains to dnsmasq/forward basically
       | share the dial up connection for 'the house' lol the other 386 !
       | 
       | #GoodTimes :)
        
       | pjmlp wrote:
       | A Plan 9 site that actually talks about Inferno as well, there is
       | some hope after all.
        
         | Koshkin wrote:
         | > _there is some hope after all_
         | 
         | Inferno was created as a potential Java competitor. That hope
         | is long gone.
        
           | pjmlp wrote:
           | My point was that plenty of Plan 9 fan sites ignore Inferno,
           | so there is some hope that it isn't a trend.
        
           | anthk wrote:
           | Imagine today an OS from Google built on top of
           | Linux+Inferno, or well, maybe, Golang and a custom UI.
        
             | pjmlp wrote:
             | Well, we have to contend ourselves with the Java/Kotlin,
             | JavaScript and Dart flavours, of which Android is probably
             | the closest, although quite twisted implementation.
             | 
             | However I do like the idea, either a Goberon or Ginferno
             | version of Go's influences, but that is above all just
             | nostalgia, they wouldn't be the same, and the time has
             | pasted when their ideas were new.
        
         | rcarmo wrote:
         | I've actually found Inferno a lot more interesting than Plan 9.
         | Dis is very, very neat, and I sort of wish we had modern
         | runtimes for it.
        
           | pjmlp wrote:
           | Same here, another similar endveour around the time was the
           | Amiga reboot attempt as TAO,
           | 
           | https://arstechnica.com/gadgets/2018/03/a-history-of-the-
           | ami...
           | 
           | https://www.eetimes.com/amiga-reborn-via-tao-alliance/
        
             | ghostDancer wrote:
             | First time about TAO, was in EDGE magazine in the early 90s
             | IIRC about their OS TAOS sounded something from the future
             | , could run on different processor even over a network,
             | they had it running on a machine using transputers. It
             | looked like sci-fi to me.
        
           | patrec wrote:
           | What do you see as significant advantages of Dis over WASM?
           | [edit: my guess would be channel support, but it would be
           | interesting to hear more about that]
        
             | MisterTea wrote:
             | Its not so much dis but the whole concept of an OS built on
             | top of a VM. This means the entirety of user space is
             | portable across platforms. There is no way to run native
             | code.
             | 
             | It is possible to port wasm to inferno and replace dis.
             | That could open up some interesting possibilities. You
             | could write code in any language, spit out wasm and run it
             | on any cpu/OS via inferno.
        
               | pjmlp wrote:
               | Welcome to Burroughs (nowadays ClearPath MCP), Xerox PARC
               | workstations, UCSD Pascal, Lilith, Oberon, IBM i and
               | z/OS, and a couple more.
               | 
               | J2ME, Windows Phone 7, watchOS and Android are arguably
               | the closest to it in mainstream computing.
        
               | MisterTea wrote:
               | > J2ME, Windows Phone 7, watchOS and Android are arguably
               | the closest to it in mainstream computing.
               | 
               | From my pointy of view none of these come close. The
               | interesting part of Inferno is that it only runs Dis
               | code. It can not exec native code. All the platforms you
               | listed save for j2me (which is not anything like inferno
               | save for being a vm) are OS's which run native code or
               | exec a vm.
        
               | pjmlp wrote:
               | https://en.m.wikipedia.org/wiki/Burroughs_large_systems
               | 
               | The Xerox PARC machines used a microcoded CPU, where the
               | required interpreter was loaded before Smalltalk, Mesa,
               | Mesa/Cedar, Interlisp-D.
               | 
               | Pascal USCD computers used mostly an interpreter, with
               | exception of Convex Computer, which also had AOT
               | compilation.
               | 
               | IBM i and z/OS have language environments, which has
               | allowed several applications to survive multiple hardware
               | generations without ever being recompiled, besides the
               | AOT done at installation time.
               | 
               | Windows Phone 7, only allowed for Silverlight and XNA
               | based games, native code was reserved to Microsoft.
               | 
               | WatchOS uses Apple's special bitcode flavour.
               | 
               | Inferno also executes native code, kernel and Dis
               | implementation.
               | 
               | EDIT: Inferno's source code,
               | https://bitbucket.org/inferno-os
        
       | codedokode wrote:
       | Here is what I thought after reading an article: Linux should
       | provide an API for drivers. So that the drivers can be reused by
       | other OS like FreeBSD or Plan9. If you are making a new OS, it is
       | prohibitively expensive to reinvent the USB stack, write your own
       | ACPI interpreter or port millions of lines of code. There should
       | be an API, otherwise these drivers don't differ much from
       | proprietary drivers.
       | 
       | Other OS like Windows, Android or MacOS implement such an API.
       | Therefore it is possible. I think that truly open source drivers
       | should be available for everyone, not only to the users of one
       | specific kernel.
        
         | coliveira wrote:
         | I also wonder why other OSs don't implement a Linux binary
         | interface for drivers, so they can reuse at least some Linux
         | drivers.
        
           | remexre wrote:
           | I think the answer to both of these is that the Linux driver
           | interface on Linux changes over time!
        
             | coliveira wrote:
             | Sure, but even in this case it is better to change an
             | interface and be able to benefit from all the drivers
             | written for Linux.
        
         | kryptiskt wrote:
         | There already is an example of such an API, it's possible to
         | use NetBSD drivers outside the NetBSD kernel with its rump
         | kernel feature: https://research.csiro.au/tsblog/using-rump-
         | kernels-to-run-u...
        
         | ori_b wrote:
         | The millions of lines of code aren't inherent.
         | 
         | Here's the ACPI interpreter:
         | 
         | http://git.9front.org/plan9front/plan9front/HEAD/sys/src/lib...
         | 
         | And the USB stack, user and kernel side:
         | 
         | http://git.9front.org/plan9front/plan9front/HEAD/sys/src/cmd...
         | http://git.9front.org/plan9front/plan9front/HEAD/sys/src/9/p...
         | http://git.9front.org/plan9front/plan9front/HEAD/sys/src/9/p...
         | 
         | Even the crazy shit, like wifi drivers, are relatively small:
         | 
         | http://git.9front.org/plan9front/plan9front/HEAD/sys/src/9/p...
         | 
         | Linux code is unpleasant. I don't want to deal with it.
         | 
         | Give me clear, well-written docs instead.
        
       ___________________________________________________________________
       (page generated 2021-10-06 23:01 UTC)