水木
水木
发布于 2024-08-24 / 16 阅读
0

30天自制操作系统

链接: https://pan.baidu.com/s/1joqsRxpEBiN2XPnktQxUTw?pwd=4ig8 提取码: 4ig8

店铺: 人民邮电出版社官方旗舰店
出版社: 人民邮电出版社
ISBN:9787115287960
商品编码:10051368492266
出版时间:2022-04-01
字数:1063
审图号:9787115287960

更多参数>>



内容介绍

  《30天自制操作系统》是*本兼具趣味性、实用性与学习性的操作系统图书。作者从计算机的构造、汇编语言、C语言开始解说,让读者在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后*可以制作出*个具有窗口系统的32位多任务操作系。   《30天自制操作系统》适合操作系统爱好者和程序设计人员阅读。


作者介绍

川合秀实(Hidemi Kawai),生于*975年,是*位以"轻量化"编程思想见长的"非主流"开 发者。2000年因自行开发的OSASK项目而名声大噪。OSASK是*个开源的32位微型操作系统,它并非以Linux等内核为基础,而是完*从零开始开发,在*张软盘的容量下实现了GUI、多任务、多语言等* 级*性,启动时间只需*秒。本书的内容可以看成是作者以OSASK为蓝本,教会读者从零开始开发*个操作系统,同时可以让初*在编写操作系统的过程中,了解操作系统背后更多的知识。


目录

目 录

第0天 着手开发之前 
 前言 
2 何谓操作系统 3
3 开发操作系统的各种方法 4
4 
知则*畏 4
5 如何开发操作系统 6
6 操作系统开发中的困难 7
7 学习本书时的注意事项(重要!) 9
8 各章内容摘要 **

天 从计算机结构到汇编程序入门 3
 先动手操作 3
2 做了些什么 9
3 初次体验汇编程序 22
4 加工润色 24

第 2天 汇编语言学习与Makefile入门 28
 介绍文本编辑器 28
2 继续开发 29
3 先制作启动区 40
4 Makefile入门 4*

第3天 进入32位模式并导入C语言 45
 制作真正的IPL 45
2 试错 50
3 读到
8扇区 5*
4 读入*0个柱面 52
5 着手开发操作系统 54
6 从启动区执行操作系统 55
7 确认操作系统的执行情况 56
8 32位模式前期准备 57
9 开始导入C语言 59
0 实现HLT(harib00j) 62

第4天 C语言与画面显示的练习 64
 用C语言实现内存写入(harib0*a) 64
2 条纹图案(harib0*b) 67
3 挑战指针(harib0*c) 69
4 指针的应用(*)(harib0*d) 74
5 指针的应用(2)(harib0*e) 74
6 色号设定(harib0*f) 75
7 绘制矩形(harib0*g) 84
8 今 天的成果(harib0*h) 86

第5天 结构体、文字显示与GDT/IDT初始化 88
 接收启动信息(harib02a) 88
2 试用结构体(harib02b) 89
3 试用箭头记号(harib02c) 9

4 显示字符(harib02d) 9*
5 增加字体(harib02e) 94
6 显示字符串(harib02f) 96
7 显示变量值(harib02g) 97
8 显示鼠标指针(harib02h) 99
9 GDT与IDT的初始化(harib02i) 0

第6天 分割编译与中断处理 08
 分割源文件(harib03a) 08
2 整理Makefile(harib03b) 
09
3 整理头文件(harib03c) 0
4 意犹未尽 
2
5 初始化PIC(harib03d) 5
6 中断处理程序的制作(harib03e) 
9

第7天 FIFO与鼠标控制 25
 获取按键编码(hiarib04a) 25
2 加快中断处理(hiarib04b) 
27
3 制作FIFO缓冲区(hiarib04c) 30
4 
FIFO缓冲区(hiarib04d) 33
5 整理FIFO缓冲区(hiarib04e) 
35
6 总算讲到鼠标了(harib04f) 38
7 从鼠标接受数据(harib04g) 
4*

第8天 鼠标控制与32位模式切换 44
 鼠标解读(*)(harib05 a) 44
2 稍事整理(harib05b) 
46
3 鼠标解读(2)(harib05c) 48
4 移动鼠标指针(harib05d) 
5*
5 通往32位模式之路 53

第9天 内存管理 
62
 整理源文件(harib06a) 62
2 内存容量检查(*)(harib06b) 63
3 内存容量检查(2)(harib06c) 
68
4 挑战内存管理(harib06d) 72

0天 叠加处理 8
 内存管理(续)(harib07a) 8*
2 叠加处理(harib07b) 84
3 提
叠加处理速度(*)(harib07c) 94
4 提
叠加处理速度(2)(harib07d) 97

第 天 制作窗口 20

 鼠标显示问题(harib08a) 20
2 实现画面外的支持(harib08b) 202
3 shtctl的*省略(harib08c) 203
4 显示窗口(harib08d) 206
5 小实验(harib08e) 208
6 速计数器(harib08f) 209
7 
闪烁(*)(harib08g) 2**
8 闪烁(2)(harib08h) 24

2天 定时器() 220
 使用定时器(harib09a) 220
2 计量时间(harib09b) 224
3 
时功能(harib09c) 225
4 设定多个定时器(harib09d) 228
5 加快中断处理(*)(harib09e) 232
6 加快中断处理(2)(harib09f) 234
7 加快中断处理(3)(harib09g) 236

3天 定时器(2) 240
 简化字符串显示(harib*0a) 240
2 重新调整FIFO缓冲区(*)(harib*0b) 24*
3 测试性能(harib*0c~harib*0f) 243
4 重新调整FIFO缓冲区(2)(harib*0g) 246
5 加快中断处理(4)(harib*0h) 253
6 使用“哨兵”简化程序(harib*0i) 257

4天 分辨率及键盘输入 262
 继续测试性能(harib*a~harib**c) 262
2 提*分辨率(*)(harib**d) 266
3 提*分辨率(2)(harib**e) 269
4 键盘输入(*)(harib**f) 272
5 键盘输入(2)(harib**g) 275
6 追记内容(*)(harib**h) 277
7 追记内容(2)(harib**i) 279

5天 多任务() 282
 挑战任务切换(harib2a) 282
2 任务切换进*(harib*2b) 289
3 做个简单的多任务(*)(harib*2c) 29*
4 做个简单的多任务(2)(harib*2d) 293
5 提*运行速度(harib*2e)