The UNIX system has been in wide use for over 20 years, and has helped to define many areas of computing.
Post
When all the storage sites have seen the delete, the inode can be reallocated by the site which has control of that inode (i.e. the storage site of the original create).
so this is legitimately the reason you want inodes like internally right? to do localized resource indexing! and like ok, but:
- if that's the purpose of the inode, then don't fucking expose it to userspace? if i use an inode that way, it's not gonna be in my dirents!
- the user still deserves an external inode! generate it completely differently! recycle it in its own way!
Solutions to the number representation and byte ordering problems have not yet been implemented.
LMAO
holy shit they made a virtual chroot for subprocess execution. THESE MOTHERFUCKERS MADE DOCKER!
Basically the scheme consists of four parts:
I'M READY I'M FUCKING READY
so like not only does clearly hint at some of the work we would do like 40 years later with spack to codify shared library ABI, you could even argue for the direct thread from this to my proposal to systemd to force upfront declaration of their dlopen() deps!!
a special kind of directory (hereafter referred to as a hidden directory)
nobody talks about this
Keep a per-process inherited context for these hidden directories.
this is specifically for ABI translation. this is pretty obviously the future
Give users and programs an escape mechanism to make hidden directories visible so they can be examined and specific entries manipulated.
this is literally something pouzin has literally said
not only does this naming scheme allow us to store and name load modules for different sites, but allows us to transparently run a requested command on the site for which a load module exists.
multiplatform binary!!!!! fat pex files!!!!!!
the pants guy and i worked on a groundbreaking fucking project together right as i left twitter very similar to this local module resolution work (it involved the network too) and we both found each other working on very similar followup projects several years later
nerd sniping john sirois is one of my proudest feats
omg bruh
The only exception is remote access to raw, non-character devices and these can be accessed by executing processes remotely.
THEY DID RPC IN 1981!!!! I DID RPC IN 2021!!!!
Interprocess communication (ipc) is often a controversial subject in a single machine operating system, with many differing opinions.
In a distributed environment, the requirements of error handling impose a number of additional requirements that help make design decisions, potentially easing disagreements.
"yeah we were too busy solving hard problems to disagree"
In LOCUS, the initial ipc effort was further simplified by the desire to provide a network-wide ipc facility which is fully compatible with the single machine functions that were already present in Unix.
FUCK i really badly need to do something this cool again so i can say a line this hot
Their semantics in LOCUS are identical to those seen on a single machine Unix system, even when processes are resident on different machines in LOCUS.
every NFS mount ever spontaneously returns SIGBUS
ok i absolutely need to find this dissertation they just cited
Walker, B.J., Issues of Network Transparency and File Replication in Distributed Systems: LOCUS, Ph.D. Dissertation, Computer Science Department, University of California, Los Angeles, 1983
acm is sending me to a broken proquest link but i now phd dissertations are saved somewhere
i know someone at georgia tech i could ask them. or i could try the library of congress LMAO
literally this is the cite
Just providing these seemingly simple ipc facilities was non-trivial, however. Details of the implementation are given in [WALK83].
they're taunting me. i must find it
LOCUS permits one to execute programs at any site in the network, subject to permission control, in a manner just as easy as executing the program locally.
see this is why DARPA wouldn't go for it. ARPAnet hates permissioned systems. they all hate that shit. vint cerf is a google vp and this is exactly how LLM scrapers act when you permission them out of your face
The mechanism is entirely transparent, so that existing software can be executed either locally or remotely, with no change to that software.
P A N T S
A A
N N
T T
S S
The decision about where the new process is to execute is specified by information associated with the calling process.
trying to reach through the screen again because i finally found someone who cares
"structured advice list" all they need to say is dependency graph now
see here's the thing they knew they were building a goddamn operating system and that's one thing i didn't realize at the time
but their unix is obviously just my bazel
yeah so they did absolutely do better than me 40 years earlier and that's on me to catch up
The semantics of the available functions by which processes interact determines, to a large extent, the difficulty involved in supporting a transparent process facility.
posix reading my email screaming crying throwing up
The most difficult part of these functions' semantics is their expectation of shared memory.
TRUTHNUKE!!!!!!!
@hipsterelectron yup yup. immutability and object scoping, i propose. compilers that understand memory behavior. high-level dope!
Virtually all processes read and write substantial amounts of data per system call.
@hipsterelectron should we analyze/describe task resource behavior like on a rusty old mainframe? yes!
so funny story
As a result, most collections of Unix processes designed to execute on a single machine run very well when distributed on LOCUS.
this with pants and bazel except bazel literally only works in the "cloud". and the pants capacity for recursive/monadic tasks (dynamic dependency generation e.g. resolving a lockfile) is specifically how we could do outline compiles with twitter rsc locally and then farm scalac out to finish the job. so you control it locally and get results locally, and the cloud is used as extra capacity instead of controlling your organizational capacity
so google really didn't like that
literally these corps are nothing when we dream together. that was 2019 when google killed rust and pants because we showed them up and demonstrated their attempts to RCE every internet user with chrome and every software user with bazel were perhaps not such noble schemes to protect users against evil!
perhaps it's strange that the surveillance company who graciously negotiates TLS certificates for you keeps describing network code as tricky and unsafe! perhaps when they graciously offer a DRM ✅ that requires you to leave your python packages alone in a room with their server before publishing to pypi that........you are not keeping your users safe with the ✅!
(the astral engineer who slanders zip files wrote the microsoft DRM and removed pgp keys from pypi.)