At a conceptual level, yes. SASOS256 isn't constrained by particular hardware until it gets instantiated/expressed as such.
"coyotos on x86-64" which is what you're talking about is so constrained.
There's a philosophical detour available into what constitutes an "address space." The x86-64 architecture provides its
own onion of addresses relative to address spaces, and the reasons that onion exist certainly apply to your project.
Within SASOS256, there is such an onion as well, running simultaneously with content addressability and using
the same ample 256-bit address space for the identifiers, but extended addresses use two of the 256-bit atoms.
Immutable a/k/a "content-defined" addresses are simply the hash of the content octets, and are always one atom.
Mutable addresses carry "meaning" and SASOS256 defines a discipline of concat(topic, aspect) as how to create such addresses.
For instance, a local runtime could define a topic that means "all information associated with this topic is private
so we don't share it with other runtimes and we don't even share the address of the topic with other runtimes, so
we can trust that we are the only context that can either write or read aspects of this topic" which essentially turns
the topic into a read/write capability on all L-values associated with the topic, without bothering with safeguards
against deliberate attack via methods that cheat by observing virtual bus behavior and so on.
Letting capabilities be addresses in the same space as everything else creates a "copy vulnerability" even if 256-space
is large enough for "guess vulnerability" to be unworkable. "Access a specific unsigned mutable" seems like the
smallest-grained deniable privilege in an access control system, for both read and write access, separately or bundled.
If the system has a reliable membrane around it preventing attackers from inspecting the internal state, topic address
secrecy is sufficient and access control list checking isn't needed. Without an opaque membrane, the operation delivering
unsigned mutable functionality will need to check for membership of the source of the read or write message in
an allowed-sources set. Assuming an opaque membrane certainly simplifies design greatly.
Some mutable addresses are cryptographically signed, such that all L-values the holder of a secret key may modify
are addressed with concat(public key, salt) where salt is a meaningful identifier. This makes the write operation the only
operation restricted at an ontic level: knowing the secret key implies capability to replace the value of a signed mutable.
"meaning depends on context" seems axiomatic in discussions of authority for meaning.
"Coyotos on SASOS256" could be a worthy thought experiment, for nothing more than getting clarity about where
the authority boundaries are in the swizzling/unswizzling operations, and the boundaries between installed Coyotos
installations. In the original SASOS Coyotos, which was designed without hardware-provided privilege features
as I understand it, the system addresses were shared over all installations, right? In SASOS256, an implementation
of an x86-64 emulator would have a Word256 that could be applied to a content-derived address to essentially
boot up the machine. For practical purposes, it would probably be more useful to provide a suite of Word256 operations
(a/k/a Op256 methods) that allow specifying an execution context conforming with a known OS, allowing running
unmodified foreign executables.
Am I making sense?
David