实例介绍
现在的Linux操作系统动辄百万行代码,而Linux0.11的代码量不超过2万行,却已经具备操作系统的基本功能,可以说是麻雀虽小但五脏俱全了。有兴趣阅读Linux源码的朋友,不妨从Linux0.11入手。压缩包里的源码已经添加了中文注释,并且汇编部分已经改写成了现在大学里普遍教授的MASM。阅读时还可以参考赵炯的《Linux内核完全注释》补充相关知识。最后推荐一个论坛:OldLinux
【实例截图】
【核心代码】
16359647458762730429.7z
└── linux0.11
├── boot
│ ├── bootsect.s
│ ├── head.s
│ └── setup.s
├── build
│ └── build.cpp
├── fs
│ ├── bitmap.c
│ ├── bitmap.c.bak
│ ├── block_dev.c
│ ├── buffer.c
│ ├── buffer.c.bak
│ ├── char_dev.c
│ ├── exec.c
│ ├── fcntl.c
│ ├── file_dev.c
│ ├── file_table.c
│ ├── inode.c
│ ├── ioctl.c
│ ├── Makefile
│ ├── namei.c
│ ├── namei.c.bak
│ ├── open.c
│ ├── pipe.c
│ ├── read_write.c
│ ├── stat.c
│ ├── super.c
│ └── truncate.c
├── include
│ ├── a.out.h
│ ├── asm
│ │ ├── io.h
│ │ ├── memory.h
│ │ ├── memory.h.bak
│ │ ├── segment.h
│ │ ├── system.h
│ │ ├── system.h.bak
│ │ └── y_segment.h
│ ├── const.h
│ ├── ctype.h
│ ├── errno.h
│ ├── fcntl.h
│ ├── linux
│ │ ├── config.h
│ │ ├── fdreg.h
│ │ ├── fs.h
│ │ ├── hdreg.h
│ │ ├── head.h
│ │ ├── kernel.h
│ │ ├── mm.h
│ │ ├── sched.h
│ │ ├── sys.h
│ │ └── tty.h
│ ├── set_seg.h
│ ├── signal.h
│ ├── stdarg.h
│ ├── stddef.h
│ ├── string.h
│ ├── sys
│ │ ├── stat.h
│ │ ├── times.h
│ │ ├── types.h
│ │ ├── utsname.h
│ │ └── wait.h
│ ├── termios.h
│ ├── time.h
│ ├── unistd.h
│ └── utime.h
├── init
│ ├── main.c
│ └── readme.txt
├── kernel
│ ├── asm.s
│ ├── blk_drv
│ │ ├── blk.h
│ │ ├── floppy.c
│ │ ├── floppy.c.bak
│ │ ├── hd.c
│ │ ├── hd.c.bak
│ │ ├── ll_rw_blk.c
│ │ ├── Makefile
│ │ └── ramdisk.c
│ ├── chr_drv
│ │ ├── console.c
│ │ ├── console.c.bak
│ │ ├── keyboard.h
│ │ ├── keyboard.S
│ │ ├── Makefile
│ │ ├── Release
│ │ ├── rs_io.s
│ │ ├── serial.c
│ │ ├── tty_io.c
│ │ └── tty_ioctl.c
│ ├── exit.c
│ ├── fork.c
│ ├── Makefile
│ ├── math
│ │ ├── Makefile
│ │ └── math_emulate.c
│ ├── mktime.c
│ ├── panic.c
│ ├── printk.c
│ ├── Release
│ ├── sched.c
│ ├── signal.c
│ ├── sys.c
│ ├── system_call.s
│ ├── traps.c
│ └── vsprintf.c
├── lib
│ ├── close.c
│ ├── ctype.c
│ ├── dup.c
│ ├── errno.c
│ ├── execve.c
│ ├── _exit.c
│ ├── Makefile
│ ├── malloc.c
│ ├── open.c
│ ├── Release
│ ├── setsid.c
│ ├── string.c
│ ├── wait.c
│ └── write.c
├── mm
│ ├── Makefile
│ ├── memory.c
│ ├── memory.c.bak
│ └── page.s
└── VC
├── bin
│ ├── ld.exe
│ ├── ld_script.txt
│ ├── ML.ERR
│ ├── ML.EXE
│ └── ml.txt
├── bochsout.txt
├── bootsect.dep
├── bootsect.dsp
├── bootsect.dsp.bak
├── bootsect.mak
├── bootsect.plg
├── build.dep
├── build.dsp
├── build.dsp.bak
├── build.mak
├── build.plg
├── Debug
├── Documents
│ ├── Documents.dep
│ ├── Documents.dsp
│ ├── Documents.mak
│ ├── ml编译选项.txt
│ ├── PC IO端口地址分配.CPP
│ ├── Release
│ ├── VC编译选项.txt
│ ├── vlink链接选项.txt
│ └── 微机中断的资料.cpp
├── keyboard.i
├── ld.bat
├── link.txt
├── linux_0_11.dsw
├── linux_0_11.dsw.bak
├── linux_0_11.ncb
├── linux_0_11.opt
├── makefile
├── Release
│ ├── boot
│ │ └── head.o
│ ├── fs
│ │ ├── bitmap.asm
│ │ ├── bitmap.o
│ │ ├── block_dev.asm
│ │ ├── block_dev.o
│ │ ├── buffer.asm
│ │ ├── buffer.o
│ │ ├── char_dev.asm
│ │ ├── char_dev.o
│ │ ├── exec.asm
│ │ ├── exec.o
│ │ ├── fcntl.asm
│ │ ├── fcntl.o
│ │ ├── file_dev.asm
│ │ ├── file_dev.o
│ │ ├── file_table.asm
│ │ ├── file_table.o
│ │ ├── inode.asm
│ │ ├── inode.o
│ │ ├── ioctl.asm
│ │ ├── ioctl.o
│ │ ├── namei.asm
│ │ ├── namei.o
│ │ ├── open.asm
│ │ ├── open.o
│ │ ├── pipe.asm
│ │ ├── pipe.o
│ │ ├── read_write.asm
│ │ ├── read_write.o
│ │ ├── stat.asm
│ │ ├── stat.o
│ │ ├── super.asm
│ │ ├── super.o
│ │ ├── truncate.asm
│ │ ├── truncate.o
│ │ └── vc60.idb
│ ├── init
│ │ ├── main.asm
│ │ ├── main.o
│ │ └── vc60.idb
│ ├── kernel
│ │ ├── asm.o
│ │ ├── blk_drv
│ │ │ ├── floppy.asm
│ │ │ ├── floppy.o
│ │ │ ├── hd.asm
│ │ │ ├── hd.o
│ │ │ ├── ll_rw_blk.asm
│ │ │ ├── ll_rw_blk.o
│ │ │ ├── ramdisk.asm
│ │ │ ├── ramdisk.o
│ │ │ └── vc60.idb
│ │ ├── chr_drv
│ │ │ ├── console.asm
│ │ │ ├── console.o
│ │ │ ├── keyboard.o
│ │ │ ├── rs_io.o
│ │ │ ├── serial.asm
│ │ │ ├── serial.o
│ │ │ ├── tty_io.asm
│ │ │ ├── tty_ioctl.asm
│ │ │ ├── tty_ioctl.o
│ │ │ ├── tty_io.o
│ │ │ └── vc60.idb
│ │ ├── exit.asm
│ │ ├── exit.o
│ │ ├── fork.asm
│ │ ├── fork.o
│ │ ├── math
│ │ │ ├── math_emulate.asm
│ │ │ ├── math_emulate.o
│ │ │ └── vc60.idb
│ │ ├── mktime.asm
│ │ ├── mktime.o
│ │ ├── panic.asm
│ │ ├── panic.o
│ │ ├── printk.asm
│ │ ├── printk.o
│ │ ├── sched.asm
│ │ ├── sched.o
│ │ ├── signal.asm
│ │ ├── signal.o
│ │ ├── sys.asm
│ │ ├── sys.o
│ │ ├── system_call.o
│ │ ├── traps.asm
│ │ ├── traps.o
│ │ ├── vc60.idb
│ │ ├── vsprintf.asm
│ │ └── vsprintf.o
│ ├── ld_system.map
│ ├── lib
│ │ ├── close.asm
│ │ ├── close.o
│ │ ├── ctype.asm
│ │ ├── ctype.o
│ │ ├── dup.asm
│ │ ├── dup.o
│ │ ├── errno.asm
│ │ ├── errno.o
│ │ ├── execve.asm
│ │ ├── execve.o
│ │ ├── _exit.asm
│ │ ├── _exit.o
│ │ ├── malloc.asm
│ │ ├── malloc.o
│ │ ├── open.asm
│ │ ├── open.o
│ │ ├── setsid.asm
│ │ ├── setsid.o
│ │ ├── string.asm
│ │ ├── string.o
│ │ ├── vc60.idb
│ │ ├── wait.asm
│ │ ├── wait.o
│ │ ├── write.asm
│ │ └── write.o
│ ├── mm
│ │ ├── memory.asm
│ │ ├── memory.o
│ │ ├── page.o
│ │ └── vc60.idb
│ ├── system
│ ├── system.map
│ └── system.pch
├── setup.dep
├── setup.dsp
├── setup.dsp.bak
├── setup.dsw
├── setup.mak
├── setup.ncb
├── setup.opt
├── setup.plg
├── system.dep
├── system.dsp
├── system.dsp.bak
├── system.dsw
├── system.mak
├── system.ncb
├── system.opt
├── system.plg
└── vlink.bat
33 directories, 279 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论