只为小站
首页
域名查询
文件下载
登录
首页
自己动手写操作系统
自己动手写操作系统
上传者:
wuyihao1
|
上传时间: 2026-05-19 08:52:19
|
文件大小: 62.6MB
|
文件类型: ZIP
本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。 折叠 作品目录 第1章 马上动手写一个最小的"操作系统"1 1.1 准备工作1 1.2 10分钟完成的操作系统1 1.3 Boot Sector3 1.4 代码解释3 1.5 水面下的冰山5 1.6 回顾6 第2章 搭建你的工作环境7 2.1 虚拟计算机(Virtual PC)7 2.1.1 Virtual PC初体验8 2.1.2 创建你的第一个Virtual PC9 2.1.3 虚拟软盘研究12 2.1.4 虚拟软盘实战14 2.2 编译器(NASM & GCC)18 2.3 安装虚拟Linux19 2.4 在虚拟Linux上访问Windows文件夹26 2.5 安装虚拟PCDOS26 2.6 其他要素29 2.7 Bochs29 2.7.1 Bochs vs. Virtual PC vs. VMware30 2.7.2 Bochs的使用方法31 2.7.3 用Bochs进行调试33 2.7.4 在Linux上开发34 2.8 总结与回顾36 第3章 保护模式(Protect Mode)37 3.1 认识保护模式37 3.1.1 GDT(Global Descriptor Table) 42 3.1.2 实模式到保护模式,不一般的jmp45 3.1.3 描述符属性47 3.2 保护模式进阶50 3.2.1 海阔凭鱼跃50 3.2.2 LDT(Local Descriptor Table)58 3.2.3 特权级62 3.3 页式存储82 3.3.1 分页机制概述83 3.3.2 编写代码启动分页机制84 3.3.3 PDE和PTE85 3.3.4 cr388 3.3.5 回头看代码88 3.3.6 克勤克俭用内存90 3.3.7 进一步体会分页机制100 3.4 中断和异常107 3.4.1 中断和异常机制109 3.4.2 外部中断111 3.4.3 编程操作8259A113 3.4.4 建立IDT116 3.4.5 实现一个中断117 3.4.6 时钟中断试验119 3.4.7 几点额外说明121 3.5 保护模式下的I/O122 3.5.1 IOPL122 3.5.2 I/O许可位图(I/O Permission Bitmap)123 3.6 保护模式小结123 第4章 让操作系统走进保护模式125 4.1 突破512字节的限制125 4.1.1 FAT12126 4.1.2 DOS可以识别的引导盘131 4.1.3 一个最简单的Loader132 4.1.4 加载Loader入内存133 4.1.5 向Loader交出控制权142 4.1.6 整理boot.asm142 4.2 保护模式下的"操作系统"144 第5章 内核雏形146 5.1 用NASM在Linux下写Hello World146 5.2 再进一步,汇编和C同步使用148 5.3 ELF(Executable and Linkable Format)150 5.4 从Loader到内核155 5.4.1 用Loader加载ELF155 5.4.2 跳入保护模式161 5.4.3 重新放置内核170 5.4.4 向内核交出控制权175 5.4.5 操作系统的调试方法176 5.5 扩充内核184 5.5.1 切换堆栈和GDT184 5.5.2 整理我们的文件夹191 5.5.3 Makefile191 5.5.4 添加中断处理200 5.5.5 两点说明218 5.6 小结219 第6章 进程221 6.1 迟到的进程221 6.2 概述222 6.2.1 进程介绍222 6.2.2 未雨绸缪--形成进程的必要考虑222 6.2.3 参考的代码224 6.3 最简单的进程224 6.3.1 简单进程的关键技术预测225 6.3.2 第一步--ring0→ring1227 6.3.3 第二步--丰富中断处理程序243 6.3.4 进程体设计技巧254 6.4 多进程256 6.4.1 添加一个进程体256 6.4.2 相关的变量和宏257 6.4.3 进程表初始化代码扩充258 6.4.4 LDT260 6.4.5 修改中断处理程序261 6.4.6 添加一个任务的步骤总结263 6.4.7 号外:Minix的中断处理265 6.4.8 代码回顾与整理269 6.5 系统调用280 6.5.1 实现一个简单的系统调用280 6.5.2 get_ticks的应用286 6.6 进程调度292 6.6.1 避免对称--进程的节奏感292 6.6.2 优先级调度总结300 第7章 输入/输出系统302 7.1 键盘302 7.1.1 从中断开始--键盘初体验302 7.1.2 AT、PS/2键盘304 7.1.3 键盘敲击的过程304 7.1.4 解析扫描码309 7.2 显示器325 7.2.1 初识TTY325 7.2.2 基本概念326 7.2.3 寄存器328 7.3 TTY任务332 7.3.1 TTY任务框架的搭建334 7.3.2 多控制台340 7.3.3 完善键盘处理346 7.3.4 TTY任务总结354 7.4 区分任务和用户进程354 7.5 printf357 7.5.1 为进程指定TTY357 7.5.2 printf()的实现358 7.5.3 系统调用write()361 7.5.4 使用printf()363 后记366
文件下载
立即下载
资源详情
[{"title":"( 1 个子文件 62.6MB ) 自己动手写操作系统","children":[{"title":"自己动手写操作系统.pdf <span style='color:#111;'> 62.60MB </span>","children":null,"spread":false}],"spread":true}]
评论信息
其他资源
最优阵列处理技术 全文、课后习题及配套程序 仅一个压缩包
奇异值阈值SVT算法的matlab代码
[汤蕴璆 编著] 2014年
基于LabVIEW的液罐监测与控制系统
james3.0邮件服务器及配置说明
PCIe规范各版本合集(1.0a、2.0、2.1、3.0)
软件工程 医院挂号系统大作业
星座图扩展法(Active Constellation Extension,ACE)降低OFDM时域信号的PAPR
深度学习文本识别数据集
iOS6能用的onedrive客户端 越狱版
planning权限实施操作手册.docx
尚观教育嵌入式4个月培训课堂笔记
基于51单片机语音点滴报警系统设计(包含原理图源程序)
tomcat-redis-session-8-8.5-9.rar
自制8位计算机benblue芯片数据手册.zip
数据库图书管理系统JAVA代码
Light Factory AE插件
获取鼠标单击处图像的灰度值以及坐标
群论在物理学中的应用
Android密码保险箱
新闻发布系统后台(asp+access)
UE4最新(2018年)最新离线帮助文档+API
免责申明
【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录
购买积分
下载历史
恢复订单
相关资源标签
热门下载
ChinaMeteorologicalDataHandler.R
空间谱估计理论与算法------程序.rar
基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
C4.5决策树算法的Python代码和数据样本
Android小项目——新闻APP(源码)
全国道路网SHP数据.zip
cublas64_11.dll cublasLt64_11.dll cusolver64_11.dll
模型预测控制MPC(模型预测电流控制,MPCC)的simulink仿真,2016b版本
计算机专业实习日记+实习周记+实习总结
基于OpenCV的车牌号码识别的Python代码(可直接运行)
MTALAB NSGA2算法
基于S函数的BP神经网络PID控制器及Simulink仿真和对应代码模型.zip
基于傅里叶算子的手势识别的完整源代码(Python实现,包含样本库)
工程伦理_李正风,丛杭青,王前_北京:清华大学出版社 , 2016.08_P329.pdf
Alternative A2DP Driver 1.0.5.1 无限制版
最新下载
最新版adb工具1.0.36
PSCAD V5 电路设计与仿真从入门到精通
汇顶量产测试工具GTPV4.6.15.6
思科防火墙ASAv镜像文件.rar
电工杯历年优秀论文.rar
Android ffmpeg .a .so库(ffmpeg 4.4.1)
DBA 攻坚 左手Oracle右手MySQL
jdk1.8 64位官方正式版 jdk-8u91-windows
Converge Console 4.15.0.1.exe
硬盘ID序列号修改器