├── .gitignore ├── README.md ├── boot ├── Makefile.linux ├── boot.S ├── console.c ├── console.h ├── loader.c └── multiboot.h ├── clean.sh ├── compile.sh ├── floppy.img ├── gdbinit ├── kernel ├── Makefile.linux ├── dev │ ├── console.c │ ├── console.h │ ├── floppy.c │ ├── floppy.h │ ├── keyboard.c │ └── keyboard.h ├── fs │ ├── fat12.c │ ├── fat12.h │ ├── fs.c │ ├── fs.h │ ├── sysfs.c │ └── sysfs.h ├── include │ ├── dma.h │ ├── io.h │ ├── limits.h │ ├── stdarg.h │ ├── string.h │ ├── syscall.h │ ├── system.h │ ├── task.h │ ├── timer.h │ ├── traps.h │ └── types.h ├── init │ ├── head.S │ └── main.c ├── kernel │ ├── asm.S │ ├── io.c │ ├── sys_close.c │ ├── sys_exec.c │ ├── sys_exit.c │ ├── sys_getdate.c │ ├── sys_getpid.c │ ├── sys_getticks.c │ ├── sys_kill.c │ ├── sys_open.c │ ├── sys_opendir.c │ ├── sys_pstat.c │ ├── sys_read.c │ ├── sys_readdir.c │ ├── sys_reboot.c │ ├── sys_seek.c │ ├── sys_sleep.c │ ├── sys_wait.c │ ├── sys_write.c │ ├── syscall_entry.c │ ├── task.c │ ├── timer.c │ └── traps.c ├── lib │ ├── printk.c │ ├── string.c │ └── vsprintf.c └── mm │ ├── memory.c │ └── memory.h ├── map2idc.pl ├── run.sh ├── st.idc ├── user ├── Makefile.badapple ├── Makefile.eval ├── Makefile.pi ├── Makefile.queens ├── Makefile.sh ├── app │ ├── badapple.c │ ├── eval.c │ ├── pi.c │ ├── queens.c │ └── sh.c ├── include │ ├── stdarg.h │ ├── string.h │ ├── syscall.h │ ├── tinix.h │ └── types.h └── lib │ ├── _doscan.c │ ├── printf.c │ ├── scanf.c │ ├── sprintf.c │ ├── sscanf.c │ ├── string.c │ ├── syscall.c │ └── vsprintf.c └── 设计与实现.doc /.gitignore: -------------------------------------------------------------------------------- 1 | floppy.img 2 | tmp 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/README.md -------------------------------------------------------------------------------- /boot/Makefile.linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/Makefile.linux -------------------------------------------------------------------------------- /boot/boot.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/boot.S -------------------------------------------------------------------------------- /boot/console.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/console.c -------------------------------------------------------------------------------- /boot/console.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/console.h -------------------------------------------------------------------------------- /boot/loader.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/loader.c -------------------------------------------------------------------------------- /boot/multiboot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/boot/multiboot.h -------------------------------------------------------------------------------- /clean.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/clean.sh -------------------------------------------------------------------------------- /compile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/compile.sh -------------------------------------------------------------------------------- /floppy.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/floppy.img -------------------------------------------------------------------------------- /gdbinit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/gdbinit -------------------------------------------------------------------------------- /kernel/Makefile.linux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/Makefile.linux -------------------------------------------------------------------------------- /kernel/dev/console.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/console.c -------------------------------------------------------------------------------- /kernel/dev/console.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/console.h -------------------------------------------------------------------------------- /kernel/dev/floppy.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/floppy.c -------------------------------------------------------------------------------- /kernel/dev/floppy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/floppy.h -------------------------------------------------------------------------------- /kernel/dev/keyboard.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/keyboard.c -------------------------------------------------------------------------------- /kernel/dev/keyboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/dev/keyboard.h -------------------------------------------------------------------------------- /kernel/fs/fat12.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/fat12.c -------------------------------------------------------------------------------- /kernel/fs/fat12.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/fat12.h -------------------------------------------------------------------------------- /kernel/fs/fs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/fs.c -------------------------------------------------------------------------------- /kernel/fs/fs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/fs.h -------------------------------------------------------------------------------- /kernel/fs/sysfs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/sysfs.c -------------------------------------------------------------------------------- /kernel/fs/sysfs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/fs/sysfs.h -------------------------------------------------------------------------------- /kernel/include/dma.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/dma.h -------------------------------------------------------------------------------- /kernel/include/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/io.h -------------------------------------------------------------------------------- /kernel/include/limits.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/limits.h -------------------------------------------------------------------------------- /kernel/include/stdarg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/stdarg.h -------------------------------------------------------------------------------- /kernel/include/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/string.h -------------------------------------------------------------------------------- /kernel/include/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/syscall.h -------------------------------------------------------------------------------- /kernel/include/system.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/system.h -------------------------------------------------------------------------------- /kernel/include/task.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/task.h -------------------------------------------------------------------------------- /kernel/include/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/timer.h -------------------------------------------------------------------------------- /kernel/include/traps.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/traps.h -------------------------------------------------------------------------------- /kernel/include/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/include/types.h -------------------------------------------------------------------------------- /kernel/init/head.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/init/head.S -------------------------------------------------------------------------------- /kernel/init/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/init/main.c -------------------------------------------------------------------------------- /kernel/kernel/asm.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/asm.S -------------------------------------------------------------------------------- /kernel/kernel/io.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/io.c -------------------------------------------------------------------------------- /kernel/kernel/sys_close.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_close.c -------------------------------------------------------------------------------- /kernel/kernel/sys_exec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_exec.c -------------------------------------------------------------------------------- /kernel/kernel/sys_exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_exit.c -------------------------------------------------------------------------------- /kernel/kernel/sys_getdate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_getdate.c -------------------------------------------------------------------------------- /kernel/kernel/sys_getpid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_getpid.c -------------------------------------------------------------------------------- /kernel/kernel/sys_getticks.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_getticks.c -------------------------------------------------------------------------------- /kernel/kernel/sys_kill.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_kill.c -------------------------------------------------------------------------------- /kernel/kernel/sys_open.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_open.c -------------------------------------------------------------------------------- /kernel/kernel/sys_opendir.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_opendir.c -------------------------------------------------------------------------------- /kernel/kernel/sys_pstat.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_pstat.c -------------------------------------------------------------------------------- /kernel/kernel/sys_read.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_read.c -------------------------------------------------------------------------------- /kernel/kernel/sys_readdir.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_readdir.c -------------------------------------------------------------------------------- /kernel/kernel/sys_reboot.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_reboot.c -------------------------------------------------------------------------------- /kernel/kernel/sys_seek.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_seek.c -------------------------------------------------------------------------------- /kernel/kernel/sys_sleep.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_sleep.c -------------------------------------------------------------------------------- /kernel/kernel/sys_wait.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_wait.c -------------------------------------------------------------------------------- /kernel/kernel/sys_write.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/sys_write.c -------------------------------------------------------------------------------- /kernel/kernel/syscall_entry.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/syscall_entry.c -------------------------------------------------------------------------------- /kernel/kernel/task.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/task.c -------------------------------------------------------------------------------- /kernel/kernel/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/timer.c -------------------------------------------------------------------------------- /kernel/kernel/traps.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/kernel/traps.c -------------------------------------------------------------------------------- /kernel/lib/printk.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/lib/printk.c -------------------------------------------------------------------------------- /kernel/lib/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/lib/string.c -------------------------------------------------------------------------------- /kernel/lib/vsprintf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/lib/vsprintf.c -------------------------------------------------------------------------------- /kernel/mm/memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/mm/memory.c -------------------------------------------------------------------------------- /kernel/mm/memory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/kernel/mm/memory.h -------------------------------------------------------------------------------- /map2idc.pl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/map2idc.pl -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/run.sh -------------------------------------------------------------------------------- /st.idc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/st.idc -------------------------------------------------------------------------------- /user/Makefile.badapple: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/Makefile.badapple -------------------------------------------------------------------------------- /user/Makefile.eval: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/Makefile.eval -------------------------------------------------------------------------------- /user/Makefile.pi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/Makefile.pi -------------------------------------------------------------------------------- /user/Makefile.queens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/Makefile.queens -------------------------------------------------------------------------------- /user/Makefile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/Makefile.sh -------------------------------------------------------------------------------- /user/app/badapple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/app/badapple.c -------------------------------------------------------------------------------- /user/app/eval.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/app/eval.c -------------------------------------------------------------------------------- /user/app/pi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/app/pi.c -------------------------------------------------------------------------------- /user/app/queens.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/app/queens.c -------------------------------------------------------------------------------- /user/app/sh.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/app/sh.c -------------------------------------------------------------------------------- /user/include/stdarg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/include/stdarg.h -------------------------------------------------------------------------------- /user/include/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/include/string.h -------------------------------------------------------------------------------- /user/include/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/include/syscall.h -------------------------------------------------------------------------------- /user/include/tinix.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/include/tinix.h -------------------------------------------------------------------------------- /user/include/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/include/types.h -------------------------------------------------------------------------------- /user/lib/_doscan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/_doscan.c -------------------------------------------------------------------------------- /user/lib/printf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/printf.c -------------------------------------------------------------------------------- /user/lib/scanf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/scanf.c -------------------------------------------------------------------------------- /user/lib/sprintf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/sprintf.c -------------------------------------------------------------------------------- /user/lib/sscanf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/sscanf.c -------------------------------------------------------------------------------- /user/lib/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/string.c -------------------------------------------------------------------------------- /user/lib/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/syscall.c -------------------------------------------------------------------------------- /user/lib/vsprintf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/user/lib/vsprintf.c -------------------------------------------------------------------------------- /设计与实现.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bajdcc/tinix/HEAD/设计与实现.doc --------------------------------------------------------------------------------