====== Тексты ядра Unix Sixth Edition ====== (Май 1975) Взято с сайта [[http://minnie.tuhs.org/UnixTree/ | The Unix Heritage Society]]. ===== /usr/sys ===== * [[unix-history:unix-v6:usr:sys:buf.h | buf.h]] --- структуры buf и devtab * [[unix-history:unix-v6:usr:sys:conf.h | conf.h]] --- структуры bdevsw и cdevsw * [[unix-history:unix-v6:usr:sys:file.h | file.h]] --- структура file * [[unix-history:unix-v6:usr:sys:filsys.h | filsys.h]] --- структура filsys * [[unix-history:unix-v6:usr:sys:ino.h | ino.h]] --- структура inode для утилит check, df, dump * [[unix-history:unix-v6:usr:sys:inode.h | inode.h]] --- структура inode для ядра * [[unix-history:unix-v6:usr:sys:param.h | param.h]] --- настраиваемые константы параметров ядра * [[unix-history:unix-v6:usr:sys:proc.h | proc.h]] --- структура proc * [[unix-history:unix-v6:usr:sys:reg.h | reg.h]] --- индексы регистров процессора в стеке * [[unix-history:unix-v6:usr:sys:run | run]] --- shell-скрипт для компиляции ядра * [[unix-history:unix-v6:usr:sys:seg.h | seg.h]] --- определения для аппаратной системы управления памятью * [[unix-history:unix-v6:usr:sys:systm.h | systm.h]] --- разные переменные и структуры ядра * [[unix-history:unix-v6:usr:sys:text.h | text.h]] --- структура text * [[unix-history:unix-v6:usr:sys:tty.h | tty.h]] --- структуры clist и tty * [[unix-history:unix-v6:usr:sys:user.h | user.h]] --- структура USER ===== /usr/sys/conf ===== * [[unix-history:unix-v6:usr:sys:conf:data.s | data.s]] * [[unix-history:unix-v6:usr:sys:conf:m40.s | m40.s]] --- ассемблерная часть для PDP-11/40 * [[unix-history:unix-v6:usr:sys:conf:m45.s | m45.s]] --- ассемблерная часть для PDP-11/45 или PDP-11/70 * [[unix-history:unix-v6:usr:sys:conf:mkconf.c | mkconf.c]] --- утилита создания файла конфигурации * [[unix-history:unix-v6:usr:sys:conf:sysfix.c | sysfix.c]] --- утилита обработки образа ядра ===== /usr/sys/dmr ===== Система ввода-вывода и драйверы устройств. Каталог назван по имени [[http://cm.bell-labs.com/who/dmr/ | Денниса М. Ритчи]]. * [[unix-history:unix-v6:usr:sys:dmr:bio.c | bio.c]] --- функции блочного ввода-вывода * [[unix-history:unix-v6:usr:sys:dmr:cat.c | cat.c]] --- GP DR11C driver used for C/A/T * [[unix-history:unix-v6:usr:sys:dmr:dc.c | dc.c]] --- DC-11 driver * [[unix-history:unix-v6:usr:sys:dmr:dh.c | dh.c]] --- DH-11 driver * [[unix-history:unix-v6:usr:sys:dmr:dhdm.c | dhdm.c]] --- DM-BB driver * [[unix-history:unix-v6:usr:sys:dmr:dhfdm.c | dhfdm.c]] --- DM-BB fake driver * [[unix-history:unix-v6:usr:sys:dmr:dn.c | dn.c]] --- DN-11 ACU interface * [[unix-history:unix-v6:usr:sys:dmr:dp.c | dp.c]] --- DP-11 Synchronous interface driver * [[unix-history:unix-v6:usr:sys:dmr:hp.c | hp.c]] --- RP04 disk driver * [[unix-history:unix-v6:usr:sys:dmr:hs.c | hs.c]] --- RS03/04 disk driver * [[unix-history:unix-v6:usr:sys:dmr:ht.c | ht.c]] --- TJU16 tape driver * [[unix-history:unix-v6:usr:sys:dmr:kl.c | kl.c]] --- KL/DL-11 driver * [[unix-history:unix-v6:usr:sys:dmr:lp.c | lp.c]] --- LP-11 Line printer driver * [[unix-history:unix-v6:usr:sys:dmr:mem.c | mem.c]] --- memory special file * [[unix-history:unix-v6:usr:sys:dmr:partab.c | partab.c]] --- массив partab * [[unix-history:unix-v6:usr:sys:dmr:pc.c | pc.c]] --- PC-11 Paper tape reader/punch driver * [[unix-history:unix-v6:usr:sys:dmr:rf.c | rf.c]] --- RF disk driver * [[unix-history:unix-v6:usr:sys:dmr:rk.c | rk.c]] --- RK disk driver * [[unix-history:unix-v6:usr:sys:dmr:rp.c | rp.c]] --- RP disk driver * [[unix-history:unix-v6:usr:sys:dmr:sys.c | sys.c]] --- indirect driver for controlling tty * [[unix-history:unix-v6:usr:sys:dmr:tc.c | tc.c]] --- TC-11 DECtape driver * [[unix-history:unix-v6:usr:sys:dmr:tm.c | tm.c]] --- TM tape driver * [[unix-history:unix-v6:usr:sys:dmr:tty.c | tty.c]] --- general TTY subroutines * [[unix-history:unix-v6:usr:sys:dmr:vs.c | vs.c]] --- Screw Works interface via DC-11 * [[unix-history:unix-v6:usr:sys:dmr:vt.c | vt.c]] --- VT01 driver via DR11C to 11/20 ===== /usr/sys/ken ===== Файловая система и системные вызовы. Каталог назван по имени [[http://cm.bell-labs.com/who/ken/ | Кена Томпсона]]. * [[unix-history:unix-v6:usr:sys:ken:alloc.c | alloc.c]] -- выделение места на диске * [[unix-history:unix-v6:usr:sys:ken:clock.c | clock.c]] --- драйвер аппаратного таймера * [[unix-history:unix-v6:usr:sys:ken:fio.c | fio.c]] --- открытие/закрытие i-узла * [[unix-history:unix-v6:usr:sys:ken:iget.c | iget.c]] --- чтение/запись/создание i-узла * [[unix-history:unix-v6:usr:sys:ken:main.c | main.c]] --- старт системы * [[unix-history:unix-v6:usr:sys:ken:malloc.c | malloc.c]] --- выделение памяти * [[unix-history:unix-v6:usr:sys:ken:nami.c | nami.c]] --- функция namei() -- поиск i-узла по имени файла * [[unix-history:unix-v6:usr:sys:ken:pipe.c | pipe.c]] -- реализация канала (pipe, иногда переводят как "труба") * [[unix-history:unix-v6:usr:sys:ken:prf.c | prf.c]] --- вывод сообщений на консоль * [[unix-history:unix-v6:usr:sys:ken:rdwri.c | rdwri.c]] --- чтение/запись файла * [[unix-history:unix-v6:usr:sys:ken:sig.c | sig.c]] --- реализация сигналов * [[unix-history:unix-v6:usr:sys:ken:slp.c | slp.c]] --- переключение процессов * [[unix-history:unix-v6:usr:sys:ken:subr.c | subr.c]] --- вспомогательные функции * [[unix-history:unix-v6:usr:sys:ken:sys1.c | sys1.c]] --- системные вызовы exec(), exit(), wait(), fork(), sbreak() * [[unix-history:unix-v6:usr:sys:ken:sys2.c | sys2.c]] --- системные вызовы read(), write(), open(), creat(), close(), seek(), link(), mknod(), sleep() * [[unix-history:unix-v6:usr:sys:ken:sys3.c | sys3.c]] --- системные вызовы stat(), fstat(), dup(), mount(), umount() * [[unix-history:unix-v6:usr:sys:ken:sys4.c | sys4.c]] --- остальные системные вызовы * [[unix-history:unix-v6:usr:sys:ken:sysent.c | sysent.c]] --- таблица системных вызовов * [[unix-history:unix-v6:usr:sys:ken:text.c | text.c]] --- своппинг * [[unix-history:unix-v6:usr:sys:ken:trap.c | trap.c]] --- обработка аппаратных ловушек (traps)