<whitequark>
>Getting Started With The Future Systems Legacy
<whitequark>
that's not very optimistic
<hl>
the division of IBM that produced what ultimately became i was the 'Future Systems Division'
<hl>
i.e., a bluesky thinking effort
<hl>
IBM i is still absurdly advanced by contemporary standards in some ways but there's no getting around the fact that it's also kind of legacy in many ways
<whitequark>
oh!
<whitequark>
also yeah i'm reading it and yeah
<whitequark>
like can we have that already? kthx
<whitequark>
especially typed filesystems
pie_ has joined #glasgow
pie_ has quit [Remote host closed the connection]
pie_ has joined #glasgow
<gruetzkopf>
i'll have two first-gen AS/400 systems soon
<hl>
gruetzkopf: ##ibmi for advice
<gruetzkopf>
great topic line :D
* jn__
joins
<whitequark>
can we talk about that topic line
<hl>
whitequark: I'm just disappointed someone removed 'Philosophical discussions about the Teletubbies also allowed' from it
<hl>
(this actually happened once)
<whitequark>
only once?
<whitequark>
i'm disappointed
<hl>
unfortunately yes
<whitequark>
hl: read the page; interesting system
<whitequark>
i'm not sure if it's quite as advanced given that these ideas have been bouncing around for a whole lot of time
<whitequark>
it's more that posix is hopelessly obsolete
<hl>
agreed
<hl>
did you see my recent articles on OS desigN?
<whitequark>
just like x86 got virtual memory how many years after pdp-8?
<whitequark>
oh thank god someone actually criticizes plan 9
<whitequark>
i thought i'd never see this day
<whitequark>
oh yeah, powershell is brilliant
<whitequark>
if it had verbs that are useful on linux (like netlink!) then i'd use it as my login shell
<hl>
yeah
<hl>
the only real issue with powershell is it's a layer on top of the OS, rather than the OS - you can cd into the registry or WIM or whatever in powershell, ideally you could do that in applications too
<hl>
but yes, powershell was actually designed by someone who understood that shell pipes are actually dataflow engines, and that there's more to life than untyped plain text
<whitequark>
preach
<whitequark>
untyped plain text is one of the worst things about unix
<hl>
i mean I've witnessed people who are very drunk on the "UNIX is the best we can ever do" kool-aid, and when someone proposed pipes passing something with actual structure, they're all "that's not unix!!!"
<whitequark>
well yes that's the point
<whitequark>
trying to shoehorn things into posix is so depressing
<whitequark>
like i bet someone will eventually get pipes to pass json
<hl>
and everyone implements posix. even things which aren't unix. IBM i actually had an AIX compatibility environment called PASE tacked onto it years ago and depressingly, more development gets done there now. z/OS supports POSIX now
<whitequark>
i think what would work is building your own fiefdom on top of POSIX that actually makes sense, but is compatible with legacy systems
<whitequark>
then strangle them
<whitequark>
microsoft style
<hl>
(despite the fact that last I checked z/OS traditionally didn't have much conception of files; its equivalent notion, 'dataset', is a fixed-length allocation on disk thus really a partition)
<whitequark>
seL4 is soooort of doing that
<hl>
(no idea what z/OS does now though)
<hl>
whitequark: yeah, I have an OS concept which is currently just in my head, based on seL4
<hl>
whitequark: the nice thing about seL4 is that if a thread does illegal operations, page faults, unknown syscalls, etc., it all just gets treated as an IPC send to some other thread supervising that thread... which means theoretically, you could implement linux syscall ABI compatibility without even modifying the kernel
<hl>
it also amuses me how seL4 treats VMs as really just a slightly different type of thread. because that's all it comes down to - a difference in the interface exposed to the code running in it
<hl>
...cool
<whitequark>
i think they broke the port bootstrap dance since
<whitequark>
i think it might be possible to just go via launchd instead? not sure, not a macos expert
<hl>
whitequark: and then there's solaris/illumos, which implemented the linux syscall ABI, along with zones, a container system which can actually be relied upon to be secure (unlike linux's), meaning that joyent actually used it to offer multitenancy without needing VMs
<whitequark>
oh come on, people offer multitenancy on openvz too
<whitequark>
(yes i know it's bad)
<hl>
oh god openvz
<hl>
so, have you read about CHERI?
<whitequark>
of course
<whitequark>
wait, do you follow me on twitter?
<hl>
I don't, but someone linked to your twitter today hence why I showed up here to respond to it
<hl>
I don't actually have a twitter account, so heh
<whitequark>
ah, right
<whitequark>
so one of the motivations for my CPU research project is making it possible to add CHERI as a microcode update
<hl>
oooh
<whitequark>
like, *just* running ARM and x86 binaries isn't very interesting
<whitequark>
more of a cool party trick
<hl>
so, CHERI is very interesting. It kind of sidesteps some of the ergonomic issues microkernels have
<whitequark>
but i want to tape out silicon that makes it possible to do research that hasn't even started when it arrives from the fab
<hl>
e.g. passing large buffers between processes
<whitequark>
yeah
<ar>
hl: a friend of mine, also an irc troll, works on CHERI
<whitequark>
"also an irc troll" is a pretty unkind description for... anyone
<ar>
whitequark: he actually acknowledges that
<hl>
for example, how do you implement POSIX write() on seL4? the buffer may not be page-aligned. You pretty much need to have some main server which has all memory mapped, and do a copy, AFAICT. with CHERI it's just... pass a cap, done. Makes everything so much more flexible than VM and gets rid of switching costs
<whitequark>
yeah
<whitequark>
i agree entirely
<whitequark>
and one reason i avoid transmeta-style JITs is well, how the fuck do you prove a JIT's correctness?
<hl>
whitequark: of course, you "can" do this in software rather than hardware with stuff like Singularity - wrote an entire OS in .NET, meaning they could turn off the MMU (and actually got better performance due to no TLB misses)
<hl>
IBM i is ofc another example of this
<whitequark>
but a microcoded engine would be entirely amenable to existing SAT-style provers, not to say more powerful methods
<hl>
as is wasm
<whitequark>
except you can't turn off the MMU anymore
<hl>
whitequark: on x86-64? yeahhhh, I noticed that
<whitequark>
no
<whitequark>
on anything that speculates
<hl>
hmm
<whitequark>
encrypted memory is one of a few apriori reliable ways to fight speculative side channels
<whitequark>
it's not even very good, but it claws back quite a lot of space
<ar>
whitequark: btw, found this today while looking for something else entirely, but i still need to find the docking station: https://i.imgur.com/xEEiEoj.jpg
<whitequark>
ar: meanwhile someone on twitter found me a 802.11ad router
<whitequark>
has a Tag-Connect on it too lol, and an ARC core so I can debug it with Glasgow if I wanted
<whitequark>
I'm more excited about the router tho
<whitequark>
it looks exactly like your bog standard SOHO design. SPI flash I can dump and dissect
<ali_as>
What is the actual router that uses that chip?
<whitequark>
ali_as: IgniteNet Metrolinq
<whitequark>
i think it's a mesh thing?
carl0s has joined #glasgow
pie_ has quit [Ping timeout: 258 seconds]
pie_ has joined #glasgow
<kc8apf>
whitequark: you've seen Intel's Total Memory Encryption (TME) and MKTME, yes?
<whitequark>
kc8apf: yep. it was very funny
<whitequark>
i came up with a design where PTEs are associated with keys, speculating (no pun intended. actually scratch that, it's a good pun) that it will solve some read side channel issues
<whitequark>
and a few hours later someone informs me intel made MKTME public in late '18
<kc8apf>
Yet no hardware seems to implement TME or MKTME
<kc8apf>
Linux is just _now_ figuring out how to add MKTME
<whitequark>
yeah they're probably scrambling to stick AES into their memory controller right now?
<whitequark>
well, maybe a year ago.
pie__ has joined #glasgow
<kc8apf>
likely
pie_ has quit [Ping timeout: 248 seconds]
<gruetzkopf>
iirc game consoles started doing this way earlier
pie___ has joined #glasgow
pie__ has quit [Read error: Connection reset by peer]