在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Orange+S:一个操作系统的实现 有光盘.zip

Orange+S:一个操作系统的实现 有光盘.zip

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:151.92M
  • 下载次数:16
  • 浏览次数:87
  • 发布时间:2021-12-07
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
《Orange S:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。本书分上下两篇,共11章。其中每一章都以前一章的工作成果为基础,实现一项新的功能。而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
【实例截图】
【核心代码】
4744300845395344377.zip
└── Orange S:一个操作系统的实现(有光盘)
├── Bochs-2.5.zip
├── nasm-2.07-installer.exe
└── ORANGE’S:一个操作系统的实现
├── ORANGE’S:一个操作系统的实现.pdf
└── Orange's一个操作系统的实现(随书光盘)
├── chapter1
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   └── boot.asm
│   └── b
│   ├── a.img
│   ├── bochsrc
│   └── boot.asm
├── chapter10
│   ├── a
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   ├── b
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   ├── c
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── command
│   │   │   ├── echo.c
│   │   │   ├── Makefile
│   │   │   ├── pwd.c
│   │   │   └── start.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   ├── d
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── command
│   │   │   ├── echo.c
│   │   │   ├── Makefile
│   │   │   ├── pwd.c
│   │   │   └── start.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exec.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── stat.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── exec.c
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   └── e
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── command
│   │   ├── echo.c
│   │   ├── Makefile
│   │   ├── pwd.c
│   │   └── start.asm
│   ├── fs
│   │   ├── disklog.c
│   │   ├── link.c
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── exec.c
│   │   ├── exit.c
│   │   ├── fork.c
│   │   ├── getpid.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── stat.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── syslog.c
│   │   ├── unlink.c
│   │   ├── vsprintf.c
│   │   ├── wait.c
│   │   └── write.c
│   ├── Makefile
│   ├── mm
│   │   ├── exec.c
│   │   ├── forkexit.c
│   │   └── main.c
│   └── scripts
│   ├── genlog
│   └── splitgraphs
├── chapter11
│   ├── a
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── hdboot.asm
│   │   │   ├── hdloader.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── command
│   │   │   ├── echo.c
│   │   │   ├── Makefile
│   │   │   ├── pwd.c
│   │   │   └── start.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exec.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── lseek.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── stat.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── exec.c
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   ├── b
│   │   ├── 80m.img.gz
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── hdboot.asm
│   │   │   ├── hdldr.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── command
│   │   │   ├── echo.c
│   │   │   ├── Makefile
│   │   │   ├── pwd.c
│   │   │   └── start.asm
│   │   ├── fs
│   │   │   ├── disklog.c
│   │   │   ├── link.c
│   │   │   ├── main.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   └── read_write.c
│   │   ├── grubinst
│   │   ├── include
│   │   │   ├── stdio.h
│   │   │   ├── string.h
│   │   │   ├── sys
│   │   │   │   ├── config.h
│   │   │   │   ├── console.h
│   │   │   │   ├── const.h
│   │   │   │   ├── fs.h
│   │   │   │   ├── global.h
│   │   │   │   ├── hd.h
│   │   │   │   ├── keyboard.h
│   │   │   │   ├── keymap.h
│   │   │   │   ├── proc.h
│   │   │   │   ├── protect.h
│   │   │   │   ├── proto.h
│   │   │   │   ├── sconst.inc
│   │   │   │   └── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── hd.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── systask.c
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── close.c
│   │   │   ├── exec.c
│   │   │   ├── exit.c
│   │   │   ├── fork.c
│   │   │   ├── getpid.c
│   │   │   ├── lseek.c
│   │   │   ├── misc.c
│   │   │   ├── open.c
│   │   │   ├── printf.c
│   │   │   ├── read.c
│   │   │   ├── stat.c
│   │   │   ├── string.asm
│   │   │   ├── syscall.asm
│   │   │   ├── syslog.c
│   │   │   ├── unlink.c
│   │   │   ├── vsprintf.c
│   │   │   ├── wait.c
│   │   │   └── write.c
│   │   ├── Makefile
│   │   ├── mm
│   │   │   ├── exec.c
│   │   │   ├── forkexit.c
│   │   │   └── main.c
│   │   └── scripts
│   │   ├── genlog
│   │   └── splitgraphs
│   └── c
│   ├── 100m.img
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── hdboot.asm
│   │   ├── hdldr.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── command
│   │   ├── echo.c
│   │   ├── Makefile
│   │   ├── pwd.c
│   │   └── start.asm
│   ├── fs
│   │   ├── disklog.c
│   │   ├── link.c
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── exec.c
│   │   ├── exit.c
│   │   ├── fork.c
│   │   ├── getpid.c
│   │   ├── lseek.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── stat.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── syslog.c
│   │   ├── unlink.c
│   │   ├── vsprintf.c
│   │   ├── wait.c
│   │   └── write.c
│   ├── Makefile
│   ├── mm
│   │   ├── exec.c
│   │   ├── forkexit.c
│   │   └── main.c
│   └── scripts
│   ├── genlog
│   ├── invalidate.hd
│   └── splitgraphs
├── chapter2
│   ├── linux
│   │   ├── a.img
│   │   ├── bochsrc
│   │   └── boot.asm
│   └── win
│   ├── a.img
│   ├── bochsrc.bxrc
│   └── run.bat
├── chapter3
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── pm.inc
│   │   ├── pmtest1.asm
│   │   └── pmtest1b.asm
│   ├── b
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest2.asm
│   ├── c
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest3.asm
│   ├── d
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest4.asm
│   ├── e
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   ├── pmtest5a.asm
│   │   ├── pmtest5.asm
│   │   ├── pmtest5b.asm
│   │   └── pmtest5c.asm
│   ├── f
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest6.asm
│   ├── g
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── lib.inc
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest7.asm
│   ├── h
│   │   ├── bochsrc
│   │   ├── freedos.img
│   │   ├── lib.inc
│   │   ├── Makefile
│   │   ├── pm.img
│   │   ├── pm.inc
│   │   └── pmtest8.asm
│   └── i
│   ├── bochsrc
│   ├── freedos.img
│   ├── lib.inc
│   ├── Makefile
│   ├── pm.img
│   ├── pm.inc
│   ├── pmtest9a.asm
│   ├── pmtest9.asm
│   ├── pmtest9b.asm
│   └── pmtest9c.asm
├── chapter4
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   └── Makefile
│   ├── b
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   ├── loader.asm
│   │   └── Makefile
│   └── c
│   ├── a.img
│   ├── bochsrc
│   ├── boot.asm
│   ├── loader.asm
│   └── Makefile
├── chapter5
│   ├── a
│   │   └── hello.asm
│   ├── b
│   │   ├── bar.c
│   │   ├── foo.asm
│   │   └── Makefile
│   ├── c
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   ├── fat12hdr.inc
│   │   ├── kernel.asm
│   │   ├── loader.asm
│   │   └── Makefile
│   ├── d
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   ├── fat12hdr.inc
│   │   ├── kernel.asm
│   │   ├── lib.inc
│   │   ├── loader.asm
│   │   ├── load.inc
│   │   ├── Makefile
│   │   └── pm.inc
│   ├── e
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   ├── fat12hdr.inc
│   │   ├── kernel.asm
│   │   ├── loader.asm
│   │   ├── load.inc
│   │   ├── Makefile
│   │   └── pm.inc
│   ├── f
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot.asm
│   │   ├── const.h
│   │   ├── fat12hdr.inc
│   │   ├── kernel.asm
│   │   ├── kliba.asm
│   │   ├── loader.asm
│   │   ├── load.inc
│   │   ├── pm.inc
│   │   ├── protect.h
│   │   ├── start.c
│   │   ├── string.asm
│   │   └── type.h
│   ├── g
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   ├── loader.asm
│   │   │   └── Makefile
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── protect.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── kernel.asm
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   └── string.asm
│   │   ├── Makefile
│   │   └── Makefile.boot
│   ├── h
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   ├── Makefile
│   │   └── Makefile.1
│   └── i
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── include
│   │   ├── const.h
│   │   ├── global.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── string.h
│   │   └── type.h
│   ├── kernel
│   │   ├── global.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── protect.c
│   │   └── start.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   └── string.asm
│   ├── Makefile
│   └── Makefile.1
├── chapter6
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── b
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel1.asm
│   │   │   ├── kernel2.asm
│   │   │   ├── kernel3.asm
│   │   │   ├── kernel4.asm
│   │   │   ├── kernel5.asm
│   │   │   ├── kernel.final.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── c
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel1.asm
│   │   │   ├── kernel2.asm
│   │   │   ├── kernel3.asm
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── d
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── e
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── f
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── g
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── h
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── i
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── j
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── k
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── protect.c
│   │   │   └── start.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── l
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── m
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── n
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── o
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── p
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── q
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   └── r
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── include
│   │   ├── const.h
│   │   ├── global.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── global.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   └── syscall.asm
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   └── string.asm
│   └── Makefile
├── chapter7
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── b
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   └── syscall.asm
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── c
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── d
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── e
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── f
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── g
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── h
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── i
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── j
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── k
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── l
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── m
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   ├── n
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   └── tty.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   └── string.asm
│   │   └── Makefile
│   └── o
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── include
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── global.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   └── string.asm
│   └── Makefile
├── chapter8
│   ├── a
│   │   ├── a.img
│   │   ├── bochsrc
│   │   ├── boot
│   │   │   ├── boot.asm
│   │   │   ├── include
│   │   │   │   ├── fat12hdr.inc
│   │   │   │   ├── load.inc
│   │   │   │   └── pm.inc
│   │   │   └── loader.asm
│   │   ├── include
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── global.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   ├── string.h
│   │   │   ├── tty.h
│   │   │   └── type.h
│   │   ├── kernel
│   │   │   ├── clock.c
│   │   │   ├── console.c
│   │   │   ├── global.c
│   │   │   ├── i8259.c
│   │   │   ├── kernel.asm
│   │   │   ├── keyboard.c
│   │   │   ├── main.c
│   │   │   ├── printf.c
│   │   │   ├── proc.c
│   │   │   ├── protect.c
│   │   │   ├── start.c
│   │   │   ├── syscall.asm
│   │   │   ├── systask.c
│   │   │   ├── tty.c
│   │   │   └── vsprintf.c
│   │   ├── lib
│   │   │   ├── kliba.asm
│   │   │   ├── klib.c
│   │   │   ├── misc.c
│   │   │   └── string.asm
│   │   └── Makefile
│   └── _base_
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── include
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── global.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   └── string.asm
│   └── Makefile
└── chapter9
├── a
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   └── main.c
│   ├── include
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── fs.h
│   │   ├── global.h
│   │   ├── hd.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── systask.c
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   └── string.asm
│   └── Makefile
├── b
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   └── main.c
│   ├── include
│   │   ├── config.h
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── fs.h
│   │   ├── global.h
│   │   ├── hd.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── systask.c
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   └── string.asm
│   └── Makefile
├── c
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   └── main.c
│   ├── include
│   │   ├── config.h
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── fs.h
│   │   ├── global.h
│   │   ├── hd.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── systask.c
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   └── string.asm
│   └── Makefile
├── d
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   └── main.c
│   ├── include
│   │   ├── config.h
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── fs.h
│   │   ├── global.h
│   │   ├── hd.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   ├── string.h
│   │   ├── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── printf.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── syscall.asm
│   │   ├── systask.c
│   │   ├── tty.c
│   │   └── vsprintf.c
│   ├── lib
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   └── string.asm
│   └── Makefile
├── e
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   ├── main.c
│   │   ├── misc.c
│   │   └── open.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   └── vsprintf.c
│   ├── Makefile
│   └── tmp
│   ├── f.c
│   └── Makefile
├── f
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── vsprintf.c
│   │   └── write.c
│   └── Makefile
├── g
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   ├── disklog.c
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── genlog
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── getpid.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── syslog.c
│   │   ├── vsprintf.c
│   │   └── write.c
│   ├── Makefile
│   └── splitgraphs
├── h
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   ├── disklog.c
│   │   ├── link.c
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── getpid.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── syslog.c
│   │   ├── unlink.c
│   │   ├── vsprintf.c
│   │   └── write.c
│   ├── Makefile
│   └── scripts
│   ├── genlog
│   └── splitgraphs
├── i
│   ├── 80m.img.gz
│   ├── a.img
│   ├── bochsrc
│   ├── boot
│   │   ├── boot.asm
│   │   ├── include
│   │   │   ├── fat12hdr.inc
│   │   │   ├── load.inc
│   │   │   └── pm.inc
│   │   └── loader.asm
│   ├── fs
│   │   ├── disklog.c
│   │   ├── link.c
│   │   ├── main.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   └── read_write.c
│   ├── include
│   │   ├── stdio.h
│   │   ├── string.h
│   │   ├── sys
│   │   │   ├── config.h
│   │   │   ├── console.h
│   │   │   ├── const.h
│   │   │   ├── fs.h
│   │   │   ├── global.h
│   │   │   ├── hd.h
│   │   │   ├── keyboard.h
│   │   │   ├── keymap.h
│   │   │   ├── proc.h
│   │   │   ├── protect.h
│   │   │   ├── proto.h
│   │   │   ├── sconst.inc
│   │   │   └── tty.h
│   │   └── type.h
│   ├── kernel
│   │   ├── clock.c
│   │   ├── console.c
│   │   ├── global.c
│   │   ├── hd.c
│   │   ├── i8259.c
│   │   ├── kernel.asm
│   │   ├── keyboard.c
│   │   ├── main.c
│   │   ├── proc.c
│   │   ├── protect.c
│   │   ├── start.c
│   │   ├── systask.c
│   │   └── tty.c
│   ├── lib
│   │   ├── close.c
│   │   ├── getpid.c
│   │   ├── kliba.asm
│   │   ├── klib.c
│   │   ├── misc.c
│   │   ├── open.c
│   │   ├── printf.c
│   │   ├── read.c
│   │   ├── string.asm
│   │   ├── syscall.asm
│   │   ├── syslog.c
│   │   ├── unlink.c
│   │   ├── vsprintf.c
│   │   └── write.c
│   ├── Makefile
│   └── scripts
│   ├── genlog
│   └── splitgraphs
└── j
├── 80m.img.gz
├── a.img
├── bochsrc
├── boot
│   ├── boot.asm
│   ├── include
│   │   ├── fat12hdr.inc
│   │   ├── load.inc
│   │   └── pm.inc
│   └── loader.asm
├── fs
│   ├── disklog.c
│   ├── link.c
│   ├── main.c
│   ├── misc.c
│   ├── open.c
│   └── read_write.c
├── include
│   ├── stdio.h
│   ├── string.h
│   ├── sys
│   │   ├── config.h
│   │   ├── console.h
│   │   ├── const.h
│   │   ├── fs.h
│   │   ├── global.h
│   │   ├── hd.h
│   │   ├── keyboard.h
│   │   ├── keymap.h
│   │   ├── proc.h
│   │   ├── protect.h
│   │   ├── proto.h
│   │   ├── sconst.inc
│   │   └── tty.h
│   └── type.h
├── kernel
│   ├── clock.c
│   ├── console.c
│   ├── global.c
│   ├── hd.c
│   ├── i8259.c
│   ├── kernel.asm
│   ├── keyboard.c
│   ├── main.c
│   ├── proc.c
│   ├── protect.c
│   ├── start.c
│   ├── systask.c
│   └── tty.c
├── lib
│   ├── close.c
│   ├── getpid.c
│   ├── kliba.asm
│   ├── klib.c
│   ├── misc.c
│   ├── open.c
│   ├── printf.c
│   ├── read.c
│   ├── string.asm
│   ├── syscall.asm
│   ├── syslog.c
│   ├── unlink.c
│   ├── vsprintf.c
│   └── write.c
├── Makefile
└── scripts
├── genlog
└── splitgraphs

430 directories, 2350 files

标签:

实例下载地址

Orange+S:一个操作系统的实现 有光盘.zip

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警