OS/161 Source Layout

about OS/161 | about System/161 | project news | publications | license | credits
download | guides and resources | documentation | for instructors | bugs | mailing lists

OS/161 2.x layout (as of 1.99.08)

src              
  mk Makefile fragments and build system support
design Design notes and documents
kern Kernel
  conf Kernel configuration and source file lists
compile Kernel compile directories
dev Device drivers
  generic Drivers for generic/abstract (non-hardware) devices
lamebus Drivers for System/161's LAMEbus devices
fs File systems
  sfs The Simple File System
semfs Special file system providing semaphores for user programs
gdbscripts Some scripts for use with gdb
include Header files
  kern Header files exported to userlevel
lib Library and support code
main Bootup sequencing and kernel menu
proc Process subsystem
synchprobs Frameworks for synchronization problems assignment
syscall System call layer
test In-kernel test code
thread Kernel-level threading system
vfs Virtual File System interface and file-system-independent code
vm Virtual memory
arch Architecture-specific or machine-specific material
  mips Stuff for MIPS
  conf MIPS-specific kernel configuration
include MIPS-specific header files
  kern MIPS-specific header files exported to userlevel
locore Low-level trap and interrupt code for MIPS
syscall MIPS-specific system call material
thread MIPS-specific thread system support
vm MIPS-specific virtual memory support (and dumbvm)
  sys161 Stuff for System/161
  conf System/161-specific kernel configuration
dev System/161-specific device and bus support
include System/161-specific header files
main System/161-specific boot code
userland Userland
  bin Sources for programs in /bin (general utilities)
include Header files
lib System libraries
  crt0 C startup code
libc C standard library
  arch Machine-specific code
stdio Implementations of functions from <stdio.h>
stdlib Implementations of functions from <stdlib.h>
string Implementations of functions from <string.h>
syscalls Stubs for issuing system calls
time Implementations of functions from <time.h>
unix Implementations of functions from <unistd.h> and other Unix-specific standard headers
libtest Support material for testbin
hostcompat Material needed for host-* versions of programs on some host OSes
sbin Sources for programs in /sbin (super-user utilities)
testbin Sources for programs in /testbin (assorted test code)
man Documentation
common Code shared between kernel and userland
  gcc-millicode Material to support gcc-generated code
libc C standard library material used in both the kernel and userland
  arch Machine-specific code
printf The printf implementation
stdlib Implementations of functions from <stdlib.h>
string Implementations of functions from <string.h>
build Files generated by/during userland compilation

OS/161 1.x layout

(coming soon)