MIT has a UNIX-like operating system called [XV6](https://pdos.csail.mit.edu/6.828/2012/xv6.html) for teaching OS design.

It's in the spirit of UNIX v6, but it's written for multicore Intel x86 machines in ANSI C.

If you're interested in studying UNIX for teaching or learning OS design, xv6 is a great starting point.

Yes, xv6 is great. The original post here already has a brief section on the code from xv6/pipe.c, which made for pleasant reading after I had just finished working my way through the 6E code.

I also looked at the pipe implementation in Minix, which is a (non-trivial) variant of John S. Dyson's implementation that the BSDs share. It is implemented as a server (in the microkernel sense), so there's quite some added complexity there in handling "vmount"s and locking, but there are still some familiar elements of the code too, such as the "put it all together with flags" code in create_pipe().

https://github.com/Stichting-MINIX-Research-Foundation/minix...

For something even further along these lines, there's also the pipe implementation from Plan9, which at first glance felt so unfamiliar that I wasn't sure I was looking in the right place:

https://9p.io/sources/plan9/sys/src/9/port/devpipe.c