summaryrefslogtreecommitdiff
path: root/public/emacs-as-an-os.html
diff options
context:
space:
mode:
Diffstat (limited to 'public/emacs-as-an-os.html')
-rw-r--r--public/emacs-as-an-os.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/public/emacs-as-an-os.html b/public/emacs-as-an-os.html
new file mode 100644
index 0000000..f0602c1
--- /dev/null
+++ b/public/emacs-as-an-os.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Emacs as an operating system — Luke T. Shumaker</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="assets/style.css">
+ <link rel="alternate" type="application/atom+xml" href="./index.atom" name="web log entries"/>
+</head>
+<body>
+<header><a href="/">Luke T. Shumaker</a> » <a href=/blog>blog</a> » emacs-as-an-os</header>
+<article>
+<h1 id="emacs-as-an-operating-system">Emacs as an operating system</h1>
+<p>This was originally published on <a
+href="https://news.ycombinator.com/item?id=6292742">Hacker News</a> on
+2013-08-29.</p>
+<p>Calling Emacs an OS is dubious, it certainly isn’t a general purpose
+OS, and won’t run on real hardware. But, let me make the case that Emacs
+is an OS.</p>
+<p>Emacs has two parts, the C part, and the Emacs Lisp part.</p>
+<p>The C part isn’t just a Lisp interpreter, it is a Lisp Machine
+emulator. It doesn’t particularly resemble any of the real Lisp
+machines. The TCP, Keyboard/Mouse, display support, and filesystem are
+done at the hardware level (the operations to work with these things are
+among the primitive operations provided by the hardware). Of these, the
+display being handled by the hardware isn’t particularly uncommon,
+historically; the filesystem is a little stranger.</p>
+<p>The Lisp part of Emacs is the operating system that runs on that
+emulated hardware. It’s not a particularly powerful OS, it not a
+multitasking system. It has many packages available for it (though not
+until recently was there a official package manager). It has reasonably
+powerful IPC mechanisms. It has shells, mail clients (MUAs and MSAs),
+web browsers, web servers and more, all written entirely in Emacs
+Lisp.</p>
+<p>You might say, “but a lot of that is being done by the host operating
+system!” Sure, some of it is, but all of it is sufficiently low level.
+If you wanted to share the filesystem with another OS running in a VM,
+you might do it by sharing it as a network filesystem; this is necessary
+when the VM OS is not designed around running in a VM. However, because
+Emacs OS will always be running in the Emacs VM, we can optimize it by
+having the Emacs VM include processor features mapping the native OS,
+and have the Emacs OS be aware of them. It would be slower and more code
+to do that all over the network.</p>
+
+</article>
+<footer>
+ <aside class="sponsor"><p>I'd love it if you <a class="em"
+ href="/sponsor/">sponsored me</a>. It will allow me to continue
+ <a class="em" href="/imworkingon/">my work</a> on the GNU/Linux
+ ecosystem. Thanks!</p></aside>
+
+<p>The content of this page is Copyright © 2013 <a href="mailto:lukeshu@lukeshu.com">Luke T. Shumaker</a>.</p>
+<p>This page is licensed under the <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a> license.</p>
+</footer>
+</body>
+</html>