The UNIX system has been in wide use for over 20 years, and has helped to define many areas of computing.
Post
The socket mechanism requires extensions to the traditional UNIX I/O system calls to provide the associated naming and connection semantics.
i'm 100000% gonna claim sockets as inspo
the filesystem section now. no mention of read() and write() being immediately globally visible
Within their home directories, users can create directories as easily as they can regular files. Thus, a user can build arbitrarily complex subhierarchies.
they lean on the user and perms system here but you can't really build a subhierarchy safely without interference because everything is always globally visible lmao
A three-level access-control mechanism is provided for the protection of files.
pathetic
there is half a page on how path length limitations lead to breakage
the long filenames first introduced in 4.2BSD practically eliminate it.
PATH_MAX still exists
The kernel provides many ancillary services, such as buffer management, message routing, standardized interfaces to the protocols, and interfaces to the network interface drivers
for the use of the various network protocols.
network gets all the toys. buffer management????
The CSRG chose TCP/IP as the first network to incorporate into the socket IPC framework, because a 4.1 BSD-based implementation was publicly available from a DARPA-sponsored project at Bolt, Beranek, and Newman (BBN).
a terrible day in history
god i'm so mad networking gets to describe routing protocols but i can't route my own i/o to my own disk????
The kernel can be logically divided into a top half and a bottom half
Processes cooperate in the sharing of system resources, such as the CPU.
well they don't really cooperate. they're forced to work
The top and bottom halves of the kernel also work together in implementing certain system operations, such as I/O.
sure. valid ✅
Typically, the top half will start an I/O operation, then relinquish the processor; then the requesting process will sleep, awaiting notification from the bottom half that the I/O request has completed.
there is nothing else that can be done
System performance requires that the kernel minimize the overhead in fielding and dispatching a system call.
unimaginative
god i really wish C would just return the int instead of this errno shit
NETWORKING GETS TO INTERRUPT THE KERNEL TOO????
It is also possible to write programs that deliberately synchronize with the system clock to outwit the scheduler.
lol
kind of incredibly strange that stat counting would be implemented by a clock interrupt which stops everything instead of filling up a log buffer of event counts???