Nixers Book Club - Book #6: Introduction to Operating Systems Abstractions - Community & Forums Related Discussions

Users browsing this thread: 1 Guest(s)
josuah
Long time nixers
## Chapter 1

The group-based permission system is interesting, and solves the "shared directory" problem, which is a very common one: have one directory in read-write access by anyone in the group.

It looks simple, but with UNIX-style permissions, by default umask 022, not only files will be created with the wrong group (it would have to be setup by hand) but also they would be not modifiable by the group (due to the umask).

Plan 9 behaves the same way as UNIX after
Code:
chmod -R g+s /
and
Code:
umask 002
for all users : the +s mode provokes inheritance of groups on newly created files, and 002 make the new files read/write by the groups.

In fact there is not even chown(1) in plan 9, just chgrp(1).

## Chapter 2

The plan 9 cross-compilers are really nice. And look at what we find in Go source code history...
https://github.com/golang/go/tree/go1/src/cmd

Russ Cox worked long on getting Plan 9 commands everywhere, starting with the compilers to build everything else, so it was a good base for Go.

From the book, "demand paging" is quite enlightening, and constitute a good counterpart to dynamic libraries : since everything is made by composable programs that are reused by different purposes, there is only one instance of the program's code (.text section) in total.

In the end, filesystems seems offer the same feature-set that shared libraries are offering on non-plan9 world, except communicating through 9p instead of the ABI : more expensive (requires carefully placing the features across FS so there is not too much 9p protocol overhead, which is extremely low locally!), but more generic and isolated.


Messages In This Thread
RE: Nixers Book Club - Book #6: Introduction to Operating Systems Abstractions - by josuah - 13-11-2021, 06:22 AM