diff options
Diffstat (limited to 'public/emacs-as-an-os.html')
-rw-r--r-- | public/emacs-as-an-os.html | 55 |
1 files changed, 55 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..da8c904 --- /dev/null +++ b/public/emacs-as-an-os.html @@ -0,0 +1,55 @@ +<!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 + my work 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> |