commit 13341472a5bec536a67ae9f94327be049325e4b03a83094fc8eb17983b0cc4ab
Author: yihanwu1024 <yihanwu1024>
Date: Fri Oct 17 00:00:00 2025 +0000
create proposal for a nonlinear operating system
diff --git a/055fec7d09664840ea3cc0f60487fe987c58a979544dbc9084ad98184266bc49 b/055fec7d09664840ea3cc0f60487fe987c58a979544dbc9084ad98184266bc49
new file mode 100644
index 0000000..14e020b
--- /dev/null
+++ b/055fec7d09664840ea3cc0f60487fe987c58a979544dbc9084ad98184266bc49
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="055fec7d09664840ea3cc0f60487fe987c58a979544dbc9084ad98184266bc49">
+<para>Reference must not be made to things that exist, but only to things that have been experienced.</para>
+</formalpara>
diff --git a/202c97c111d18457b3228ce0b0e2e264e10730d13ca4836fb9b6e60279f408b9 b/202c97c111d18457b3228ce0b0e2e264e10730d13ca4836fb9b6e60279f408b9
new file mode 100644
index 0000000..8b2824c
--- /dev/null
+++ b/202c97c111d18457b3228ce0b0e2e264e10730d13ca4836fb9b6e60279f408b9
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="202c97c111d18457b3228ce0b0e2e264e10730d13ca4836fb9b6e60279f408b9">
+<title>Nonlinearity and the Computer Ecosystem</title>
+<para>Here I talk about the benefits, the cost, and the difficulties I expect.</para>
+<para>The benefits of nonlinearity include:</para>
+<itemizedlist>
+<listitem>
+<para>(Malleability) The ease of changing and composing software, since intermediate state is now available.</para>
+</listitem>
+<listitem>
+<para>Availability of the nonlinar feature set: provenance, I/O control, replay.</para>
+</listitem>
+<listitem>
+<para>The operating system is more explainable.</para>
+</listitem>
+<listitem>
+<para>Storing input increases resilience to external failures.
+By <quote>caching</quote> as much as possible, the user can be sure that anything that has been downloaded can be viewed again, even if the data center is up in flames.</para>
+</listitem>
+</itemizedlist>
+<para>The cost of nonlinearity can be summarized as three points.
+They are immediate, but not without nuanced details:</para>
+<itemizedlist>
+<listitem>
+<para>Amount of storage space.
+Fortunately, nonlinearity requires just space, not throughput or IOPS.
+It even requires less write longevity in favor of amount of space.
+All of these combined, the real cost can be significantly lower than a naive estimate.</para>
+</listitem>
+<listitem>
+<para>Security commitment.
+<quote>Do not store it if you cannot secure it.</quote> In addition to regular meaningful data, there is also non-meaningful security-related data.
+Storing certain security-related data will effectively remove some security features.
+For one, forward secrecy is rendered pointless, since the nondeterministic input used to derive the session key is now stored in the history along with the private key, rather than destroyed as intended.</para>
+</listitem>
+<listitem>
+<para>Potential more work of using history, compared to getting information that is available on demand.</para>
+</listitem>
+</itemizedlist>
+<para>Apart from the cost, there are some difficulties for nonlinearity at the society level.
+Risking repetition across other submissions, it is included for completeness:</para>
+<itemizedlist>
+<listitem>
+<para>Our metaphysical assumptions are too many and too deeply rooted.
+Using an operating system which categorically rejects metaphysical assumptions will be cumbersome.</para>
+</listitem>
+<listitem>
+<para>More emphasis is put on time complexity than space complexity in theoretical computer science education, according to my own experience.
+This makes it harder for students to understand the value of space in computing.</para>
+</listitem>
+<listitem>
+<para>A rigid society encourages thinking in terms of workflows rather than resources and experience.
+The former has comparative advantage when it works, even though the latter is more adaptive.</para>
+</listitem>
+</itemizedlist>
+</section>
diff --git a/242649c1cd1ce1c3dcf4a3bb410a203354667d227bffa6d32e2b89c01bdfc648 b/242649c1cd1ce1c3dcf4a3bb410a203354667d227bffa6d32e2b89c01bdfc648
new file mode 100644
index 0000000..5b37928
--- /dev/null
+++ b/242649c1cd1ce1c3dcf4a3bb410a203354667d227bffa6d32e2b89c01bdfc648
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<section xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://docbook.org/ns/docbook" xml:id="242649c1cd1ce1c3dcf4a3bb410a203354667d227bffa6d32e2b89c01bdfc648">
+<title>Nonlinearity and History in Cognition</title>
+<para>When it comes to personal computing, we require a lot of flexibility.
+But even meticulously designed tools regularly fail to meet some of the most natural user expectations.</para>
+<para>In order to figure this out, let us start with a truth:</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="4f68acd223fd153f33e2c1fa4698721051065cf75933438361260d19c0a19b2a"/>
+<para>We would probably not disagree with this statement.
+So we change the data to reflect what exists in the real world.
+But very quickly, we have a lot of things that exist only by inference.
+Sometimes, the inference is wrong.
+Even if the inference is correct, we may still want to change to a different inference, and we lament at the schema migration.</para>
+<para>Oh, no!</para>
+<para>Is the truth false?
+After a lot of frustration, we may start to accept that:</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="948c802b933d48e5e4c119355d1bc1255999702c32441e16794f9cd9ab5d4459"/>
+<include xmlns="http://www.w3.org/2001/XInclude" href="055fec7d09664840ea3cc0f60487fe987c58a979544dbc9084ad98184266bc49"/>
+<para>But I think there is a stronger argument and, as a philosopher, I feel compelled to write it down.
+Here is an illustration without any philosophical jargon.
+Although I am not citing any work here, much credit should go to Immanuel Kant and his influence.
+The distilled idea is quite standalone and close to common sense.</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="de953caa1c41f7f9423f54dba246a3d67964fa5cd6dd4f307dcdf39cc3f52f4b"/>
+<para>Here are some observations:</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="e2f1986cd578bafe848f4b72fc719c367882aa6563d1a4b89a19ba5fe36af5d5"/>
+<para>All of these, in essence, require a property diametrically opposite to what current information systems have.
+Current systems, including but not limited to operating systems, are linear in the sense that data is fundamentally mutable, and space in any environment is fundamentally fixed, unless explicitly allocated.
+I call such a von Neumann operating system for its resemblance to the von Neumann computer architecture.
+My proposal is nonlineaity, in which data is immutable and space is automatically allocated.
+The linear-nonlinear comparison is very similar to the imperative-functional comparison in the programming language world.</para>
+<para>My philosophical thesis can be summarized in one sentence:</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="6b744acddaa177057bace0c2f8921d704cde85bb1816f6eb39862010fc597502"/>
+</section>
diff --git a/4f68acd223fd153f33e2c1fa4698721051065cf75933438361260d19c0a19b2a b/4f68acd223fd153f33e2c1fa4698721051065cf75933438361260d19c0a19b2a
new file mode 100644
index 0000000..3f68f38
--- /dev/null
+++ b/4f68acd223fd153f33e2c1fa4698721051065cf75933438361260d19c0a19b2a
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="4f68acd223fd153f33e2c1fa4698721051065cf75933438361260d19c0a19b2a">
+<para>To use a system is to change the data in it.</para>
+</formalpara>
diff --git a/591512d35940dede2b48d63de251f165d5621f2f14de5f0f8467fbbe6b524df7 b/591512d35940dede2b48d63de251f165d5621f2f14de5f0f8467fbbe6b524df7
new file mode 100644
index 0000000..1396d0b
--- /dev/null
+++ b/591512d35940dede2b48d63de251f165d5621f2f14de5f0f8467fbbe6b524df7
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="591512d35940dede2b48d63de251f165d5621f2f14de5f0f8467fbbe6b524df7">
+<title>Nonlinear Operating System</title>
+<para>Looking forward to implement the nonlinear vision, I propose my technical thesis:</para>
+<include xmlns="http://www.w3.org/2001/XInclude" href="91b058acb09da9057371d0c38532101fe1da5b962e5fc713f365639100f08f12"/>
+<para>First, there should be a desired feature set of a nonlinear operating system.
+These features are intentionally stated in a way compatible with both functional and imperative programming paradigms.</para>
+<itemizedlist>
+<listitem>
+<para>Provenance: Any execution result (return value and output) knows what execution (program and input) produced it.</para>
+</listitem>
+<listitem>
+<para>I/O control: All input is stored, and all I/O is audited.</para>
+</listitem>
+<listitem>
+<para>(A result of the first two features) Replay: Any execution can be run again, producing identical behavior.</para>
+</listitem>
+</itemizedlist>
+<para>Next, a design of this proposed operating system can be as simple as:</para>
+<itemizedlist>
+<listitem>
+<para>The OS is an event store and an execution engine with I/O control.</para>
+</listitem>
+<listitem>
+<para>Input data, which can include executable programs, is ground truth and not supposed to be deleted.
+All other things are cache.</para>
+</listitem>
+<listitem>
+<para>Once the execution starts, it has access to anything it can find by reference in the event store, subject to audit.</para>
+</listitem>
+<listitem>
+<para>Result is returned by the OS posting the output of execution, including the provenance, as a non-input event on the event store.</para>
+</listitem>
+<listitem>
+<para>Real-world output must be queued for approval, and the approval result is not available to the program.</para>
+</listitem>
+<listitem>
+<para>Reactive execution is by the OS pattern matching on the event store.</para>
+</listitem>
+<listitem>
+<para>The only synchronization primitive is the global event store, which can be watched by pattern matching.</para>
+</listitem>
+</itemizedlist>
+<para>Much of the event store is left undefined, because a formal system needs to be designed for its pattern matching, and this should be the major portion of theoretical work.
+The hope is that when this formal system is in place, it is possible to write any program with only the global event store as the synchronization primitive.</para>
+<para>Feedback is thoroughly welcome on any part of the operating system architecture.</para>
+</section>
diff --git a/6b744acddaa177057bace0c2f8921d704cde85bb1816f6eb39862010fc597502 b/6b744acddaa177057bace0c2f8921d704cde85bb1816f6eb39862010fc597502
new file mode 100644
index 0000000..b3c0c3f
--- /dev/null
+++ b/6b744acddaa177057bace0c2f8921d704cde85bb1816f6eb39862010fc597502
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="6b744acddaa177057bace0c2f8921d704cde85bb1816f6eb39862010fc597502">
+<para>Nonlinearity (history and its automatic space allocation) is a basic feature of intelligence, hence it should also be a basic feature of a personal computer.</para>
+</formalpara>
diff --git a/850af1a7cd34a85cd26159c01d62f55e6720592d70a42a8101e89b3ffe364558 b/850af1a7cd34a85cd26159c01d62f55e6720592d70a42a8101e89b3ffe364558
new file mode 100644
index 0000000..dd5baec
--- /dev/null
+++ b/850af1a7cd34a85cd26159c01d62f55e6720592d70a42a8101e89b3ffe364558
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<article xmlns="http://docbook.org/ns/docbook" xml:id="850af1a7cd34a85cd26159c01d62f55e6720592d70a42a8101e89b3ffe364558">
+<title>Nonlinearity, or, Can Operating System Be Liberated from the von Neumann Paradigm?</title>
+<include xmlns="http://www.w3.org/2001/XInclude" href="242649c1cd1ce1c3dcf4a3bb410a203354667d227bffa6d32e2b89c01bdfc648"/>
+<include xmlns="http://www.w3.org/2001/XInclude" href="591512d35940dede2b48d63de251f165d5621f2f14de5f0f8467fbbe6b524df7"/>
+<include xmlns="http://www.w3.org/2001/XInclude" href="202c97c111d18457b3228ce0b0e2e264e10730d13ca4836fb9b6e60279f408b9"/>
+</article>
diff --git a/91b058acb09da9057371d0c38532101fe1da5b962e5fc713f365639100f08f12 b/91b058acb09da9057371d0c38532101fe1da5b962e5fc713f365639100f08f12
new file mode 100644
index 0000000..7332c2e
--- /dev/null
+++ b/91b058acb09da9057371d0c38532101fe1da5b962e5fc713f365639100f08f12
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="91b058acb09da9057371d0c38532101fe1da5b962e5fc713f365639100f08f12">
+<para>Nonlinearity is best implemented within the operating system.</para>
+</formalpara>
diff --git a/948c802b933d48e5e4c119355d1bc1255999702c32441e16794f9cd9ab5d4459 b/948c802b933d48e5e4c119355d1bc1255999702c32441e16794f9cd9ab5d4459
new file mode 100644
index 0000000..0702b91
--- /dev/null
+++ b/948c802b933d48e5e4c119355d1bc1255999702c32441e16794f9cd9ab5d4459
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="948c802b933d48e5e4c119355d1bc1255999702c32441e16794f9cd9ab5d4459">
+<para>To use a system is to add data to it.</para>
+</formalpara>
diff --git a/de953caa1c41f7f9423f54dba246a3d67964fa5cd6dd4f307dcdf39cc3f52f4b b/de953caa1c41f7f9423f54dba246a3d67964fa5cd6dd4f307dcdf39cc3f52f4b
new file mode 100644
index 0000000..ce4f150
--- /dev/null
+++ b/de953caa1c41f7f9423f54dba246a3d67964fa5cd6dd4f307dcdf39cc3f52f4b
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<example xmlns="http://docbook.org/ns/docbook" xml:id="de953caa1c41f7f9423f54dba246a3d67964fa5cd6dd4f307dcdf39cc3f52f4b">
+<para>An intelligent creature has no trouble reflecting on its recent trail of thought.
+With sufficient tools such as pen and paper, it can do this for as long as it wants.
+It infers things using whatever rules it wants to use, and being a scientific-minded creature, the rules are under scrutiny, too.
+Therefore, the creature uses the tools in such a way that every derived fact has a provenance.</para>
+<para>If this intelligent creature has a computer, it rightfully asks for the same features its mind already has.
+The most necessary thing for the creature is that any state in any operating system has a previous state, and this state can be saved for future inspection.</para>
+<para>Now that a history is established, each time a reasoning step is taken, everything can be interpreted anew by considering the additional result.</para>
+</example>
diff --git a/e2f1986cd578bafe848f4b72fc719c367882aa6563d1a4b89a19ba5fe36af5d5 b/e2f1986cd578bafe848f4b72fc719c367882aa6563d1a4b89a19ba5fe36af5d5
new file mode 100644
index 0000000..d74851f
--- /dev/null
+++ b/e2f1986cd578bafe848f4b72fc719c367882aa6563d1a4b89a19ba5fe36af5d5
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<formalpara xmlns="http://docbook.org/ns/docbook" xml:id="e2f1986cd578bafe848f4b72fc719c367882aa6563d1a4b89a19ba5fe36af5d5">
+<para>
+<orderedlist>
+<listitem>
+<para>A universal provenance feature is justified by the possibility of experience alone, and is as necessary as experience itself.</para>
+</listitem>
+<listitem>
+<para>Intelligence is progressive.</para>
+<orderedlist>
+<listitem>
+<para>In the cognitive process, new space is continuously allocated, without existing space deallocated.
+The creature would be severely disabled if its mind is space-limited.</para>
+</listitem>
+<listitem>
+<para>History subsumes all concepts and data, making them meaningful to the creature.
+In other words, everything must be understood in the context of cognitive history.</para>
+</listitem>
+</orderedlist>
+</listitem>
+<listitem>
+<para>Instead of maintaining state, intelligence maintains attention: the selection of useful data for the latest task.</para>
+</listitem>
+</orderedlist>
+</para>
+</formalpara>