30天自制操作系统

30天自制操作系统
8.2
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [日]
出版社: 人民邮电出版社
2012-08
版次: 1
ISBN: 9787115287960
定价: 99.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 710页
字数: 1063千字
正文语种: 简体中文
  •   《30天自制操作系统》是一本兼具趣味性、实用性与学习性的操作系统图书。作者从计算机的构造、汇编语言、C语言开始解说,让读者在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后就可以制作出一个具有窗口系统的32位多任务操作系。
      《30天自制操作系统》适合操作系统爱好者和程序设计人员阅读。   川合秀实(HidemiKawai),生于1975年,是一位以“轻量化”编程思想见长的“非主流”开发者。2000年因自行开发的OSASK项目而名声大噪。OSASK是一个开源的32位微型操作系统,它并非以Linux等内核为基础,而是完全从零开始开发,在一张软盘的容量下实现了GUI、多任务、多语言等高级特性,启动时间只需1秒。本书的内容可以看成是作者以OSASK为蓝本,教会读者从零开始开发一个操作系统,同时可以让初学者在编写操作系统的过程中,了解操作系统背后更多的知识。
    第0天着手开发之前1前言2何谓操作系统3开发操作系统的各种方法4无知则无畏5如何开发操作系统6操作系统开发中的困难7学习本书时的注意事项(重要!)8各章内容摘要第1天从计算机结构到汇编程序入门1先动手操作2究竟做了些什么3初次体验汇编程序4加工润色第2天汇编语言学习与Makefile入门1介绍文本编辑器2继续开发3先制作启动区4Makefile入门第3天进入32位模式并导入C语言1制作真正的IPL2试错3读到18扇区4读入10个柱面5着手开发操作系统6从启动区执行操作系统7确认操作系统的执行情况832位模式前期准备9开始导入C语言10实现HLT(harib00j)第4天C语言与画面显示的练习1用C语言实现内存写入(harib01a)2条纹图案(harib01b)3挑战指针(harib01c)4指针的应用(1)(harib01d)5指针的应用(2)(harib01e)6色号设定(harib01f)7绘制矩形(harib01g)8今天的成果(harib01h)第5天结构体、文字显示与GDT/IDT初始化1接收启动信息(harib02a)2试用结构体(harib02b)3试用箭头记号(harib02c)4显示字符(harib02d)5增加字体(harib02e)6显示字符串(harib02f)7显示变量值(harib02g)8显示鼠标指针(harib02h)9GDT与IDT的初始化(harib02i)第6天分割编译与中断处理1分割源文件(harib03a)2整理Makefile(harib03b)3整理头文件(harib03c)4意犹未尽5初始化PIC(harib03d)6中断处理程序的制作(harib03e)第7天FIFO与鼠标控制1获取按键编码(hiarib04a)2加快中断处理(hiarib04b)3制作FIFO缓冲区(hiarib04c)4改善FIFO缓冲区(hiarib04d)5整理FIFO缓冲区(hiarib04e)6总算讲到鼠标了(harib04f)7从鼠标接受数据(harib04g)第8天鼠标控制与32位模式切换1鼠标解读(1)(harib05a)2稍事整理(harib05b)3鼠标解读(2)(harib05c)4移动鼠标指针(harib05d)5通往32位模式之路第9天内存管理1整理源文件(harib06a)2内存容量检查(1)(harib06b)3内存容量检查(2)(harib06c)4挑战内存管理(harib06d)第10天叠加处理1内存管理(续)(harib07a)2叠加处理(harib07b)3提高叠加处理速度(1)(harib07c)4提高叠加处理速度(2)(harib07d)第11天制作窗口1鼠标显示问题(harib08a)2实现画面外的支持(harib08b)3shtctl的指定省略(harib08c)4显示窗口(harib08d)5小实验(harib08e)6高速计数器(harib08f)7消除闪烁(1)(harib08g)8消除闪烁(2)(harib08h)第12天定时器(1)1使用定时器(harib09a)2计量时间(harib09b)3超时功能(harib09c)4设定多个定时器(harib09d)5加快中断处理(1)(harib09e)6加快中断处理(2)(harib09f)7加快中断处理(3)(harib09g)第13天定时器(2)1简化字符串显示(harib10a)2重新调整FIFO缓冲区(1)(harib10b)3测试性能(harib10c~harib10f)4重新调整FIFO缓冲区(2)(harib10g)5加快中断处理(4)(harib10h)6使用“哨兵”简化程序(harib10i)第14天高分辨率及键盘输入1继续测试性能(harib11a~harib11c)2提高分辨率(1)(harib11d)3提高分辨率(2)(harib11e)4键盘输入(1)(harib11f)5键盘输入(2)(harib11g)6追记内容(1)(harib11h)7追记内容(2)(harib11i)第15天多任务(1)1挑战任务切换(harib12a)2任务切换进阶(harib12b)3做个简单的多任务(1)(harib12c)4做个简单的多任务(2)(harib12d)5提高运行速度(harib12e)6测试运行速度(harib12f)7多任务进阶(harib12g)第16天多任务(2)1任务管理自动化(harib13a)2让任务休眠(harib13b)3增加窗口数量(harib13c)4设定任务优先级(1)(harib13d)5设定任务优先级(2)(harib13e)第17天命令行窗口1闲置任务(harib14a)2创建命令行窗口(harib14b)3切换输入窗口(harib14c)4实现字符输入(harib14d)5符号的输入(harib14e)6大写字母与小写字母(harib14f)7对各种锁定键的支持(harib14g)第18天dir命令1控制光标闪烁(1)(harib15a)2控制光标闪烁(2)(harib15b)3对回车键的支持(harib15c)4对窗口滚动的支持(harib15d)5mem命令(harib15e)6cls命令(harib15f)7dir命令(harib15g)第19天应用程序1type命令(harib16a)2type命令改良(harib16b)3对FAT的支持(harib16c)4代码整理(harib16d)5第一个应用程序(harib16e)第20天API1程序整理(harib17a)2显示单个字符的API(1)(harib17b)3显示单个字符的API(2)(harib17c)4结束应用程序(harib17d)5不随操作系统版本而改变的API(harib17e)6为应用程序自由命名(harib17f)7当心寄存器(harib17g)8用API显示字符串(harib17h)第21天保护操作系统1攻克难题——字符串显示API(harib18a)2用C语言编写应用程序(harib18b)3保护操作系统(1)(harib18c)4保护操作系统(2)(harib18d)5对异常的支持(harib18e)6保护操作系统(3)(harib18f)7保护操作系统(4)(harib18g)第22天用C语言编写应用程序1保护操作系统(5)(harib19a)2帮助发现bug(harib19b)3强制结束应用程序(harib19c)4用C语言显示字符串(1)(harib19d)5用C语言显示字符串(2)(harib19e)6显示窗口(harib19f)7在窗口中描绘字符和方块(harib19g)第23天图形处理相关1编写malloc(harib20a)2画点(harib20b)3刷新窗口(harib20c)4画直线(harib20d)5关闭窗口(harib20e)6键盘输入API(harib20f)7用键盘输入来消遣一下(harib20g)8强制结束并关闭窗口(harib20h)第24天窗口操作1窗口切换(1)(harib21a)2窗口切换(2)(harib21b)3移动窗口(harib21c)4用鼠标关闭窗口(harib21d)5将输入切换到应用程序窗口(harib21e)6用鼠标切换输入窗口(harib21f)7定时器API(harib21g)8取消定时器(harib21h)第25天增加命令行窗口1蜂鸣器发声(harib22a)2增加更多的颜色(1)(harib22b)3增加更多的颜色(2)(harib22c)4窗口初始位置(harib22d)5增加命令行窗口(1)(harib22e)6增加命令行窗口(2)(harib22f)7增加命令行窗口(3)(harib22g)8增加命令行窗口(4)(harib22h)9变得更像真正的操作系统(1)(harib22i)10变得更像真正的操作系统(2)(harib22j)第26天为窗口移动提速1提高窗口移动速度(1)(harib23a)2提高窗口移动速度(2)(harib23b)3提高窗口移动速度(3)(harib23c)4提高窗口移动速度(4)(harib23d)5启动时只打开一个命令行窗口(harib23e)6增加更多的命令行窗口(harib23f)7关闭命令行窗口(1)(harib23g)8关闭命令行窗口(2)(harib23h)9start命令(harib23i)10ncst命令(harib23j)第27天LDT与库1先来修复bug(harib24a)2应用程序运行时关闭命令行窗口(harib24b)3保护应用程序(1)(harib24c)4保护应用程序(2)(harib24d)5优化应用程序的大小(harib24e)6库(harib24f)7整理make环境(harib24g)第28天文件操作与文字显示1alloca(1)(harib25a)2alloca(2)(harib25b)3文件操作API(harib25c)4命令行API(harib25d)5日文文字显示(1)(harib25e)6日文文字显示(2)(harib25f)7日文文字显示(3)(harib25g)第29天压缩与简单的应用程序1修复bug(harib26a)2文件压缩(harib26b)3标准函数4非矩形窗口(harib26c)5bball(harib26d)6外星人游戏(harib26e)第30天高级的应用程序1命令行计算器(harib27a)2文本阅览器(harib27b)3MML播放器(harib27c)4图片阅览器(harib27d)5IPL的改良(harib27e)6光盘启动(harib27f)第31天写在开发完成之后1继续开发要靠大家的努力2关于操作系统的大小3操作系统开发的诀窍4分享给他人使用5关于光盘中的软件6关于开源的建议7后记8毕业典礼9附录
  • 内容简介:
      《30天自制操作系统》是一本兼具趣味性、实用性与学习性的操作系统图书。作者从计算机的构造、汇编语言、C语言开始解说,让读者在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后就可以制作出一个具有窗口系统的32位多任务操作系。
      《30天自制操作系统》适合操作系统爱好者和程序设计人员阅读。
  • 作者简介:
      川合秀实(HidemiKawai),生于1975年,是一位以“轻量化”编程思想见长的“非主流”开发者。2000年因自行开发的OSASK项目而名声大噪。OSASK是一个开源的32位微型操作系统,它并非以Linux等内核为基础,而是完全从零开始开发,在一张软盘的容量下实现了GUI、多任务、多语言等高级特性,启动时间只需1秒。本书的内容可以看成是作者以OSASK为蓝本,教会读者从零开始开发一个操作系统,同时可以让初学者在编写操作系统的过程中,了解操作系统背后更多的知识。
  • 目录:
    第0天着手开发之前1前言2何谓操作系统3开发操作系统的各种方法4无知则无畏5如何开发操作系统6操作系统开发中的困难7学习本书时的注意事项(重要!)8各章内容摘要第1天从计算机结构到汇编程序入门1先动手操作2究竟做了些什么3初次体验汇编程序4加工润色第2天汇编语言学习与Makefile入门1介绍文本编辑器2继续开发3先制作启动区4Makefile入门第3天进入32位模式并导入C语言1制作真正的IPL2试错3读到18扇区4读入10个柱面5着手开发操作系统6从启动区执行操作系统7确认操作系统的执行情况832位模式前期准备9开始导入C语言10实现HLT(harib00j)第4天C语言与画面显示的练习1用C语言实现内存写入(harib01a)2条纹图案(harib01b)3挑战指针(harib01c)4指针的应用(1)(harib01d)5指针的应用(2)(harib01e)6色号设定(harib01f)7绘制矩形(harib01g)8今天的成果(harib01h)第5天结构体、文字显示与GDT/IDT初始化1接收启动信息(harib02a)2试用结构体(harib02b)3试用箭头记号(harib02c)4显示字符(harib02d)5增加字体(harib02e)6显示字符串(harib02f)7显示变量值(harib02g)8显示鼠标指针(harib02h)9GDT与IDT的初始化(harib02i)第6天分割编译与中断处理1分割源文件(harib03a)2整理Makefile(harib03b)3整理头文件(harib03c)4意犹未尽5初始化PIC(harib03d)6中断处理程序的制作(harib03e)第7天FIFO与鼠标控制1获取按键编码(hiarib04a)2加快中断处理(hiarib04b)3制作FIFO缓冲区(hiarib04c)4改善FIFO缓冲区(hiarib04d)5整理FIFO缓冲区(hiarib04e)6总算讲到鼠标了(harib04f)7从鼠标接受数据(harib04g)第8天鼠标控制与32位模式切换1鼠标解读(1)(harib05a)2稍事整理(harib05b)3鼠标解读(2)(harib05c)4移动鼠标指针(harib05d)5通往32位模式之路第9天内存管理1整理源文件(harib06a)2内存容量检查(1)(harib06b)3内存容量检查(2)(harib06c)4挑战内存管理(harib06d)第10天叠加处理1内存管理(续)(harib07a)2叠加处理(harib07b)3提高叠加处理速度(1)(harib07c)4提高叠加处理速度(2)(harib07d)第11天制作窗口1鼠标显示问题(harib08a)2实现画面外的支持(harib08b)3shtctl的指定省略(harib08c)4显示窗口(harib08d)5小实验(harib08e)6高速计数器(harib08f)7消除闪烁(1)(harib08g)8消除闪烁(2)(harib08h)第12天定时器(1)1使用定时器(harib09a)2计量时间(harib09b)3超时功能(harib09c)4设定多个定时器(harib09d)5加快中断处理(1)(harib09e)6加快中断处理(2)(harib09f)7加快中断处理(3)(harib09g)第13天定时器(2)1简化字符串显示(harib10a)2重新调整FIFO缓冲区(1)(harib10b)3测试性能(harib10c~harib10f)4重新调整FIFO缓冲区(2)(harib10g)5加快中断处理(4)(harib10h)6使用“哨兵”简化程序(harib10i)第14天高分辨率及键盘输入1继续测试性能(harib11a~harib11c)2提高分辨率(1)(harib11d)3提高分辨率(2)(harib11e)4键盘输入(1)(harib11f)5键盘输入(2)(harib11g)6追记内容(1)(harib11h)7追记内容(2)(harib11i)第15天多任务(1)1挑战任务切换(harib12a)2任务切换进阶(harib12b)3做个简单的多任务(1)(harib12c)4做个简单的多任务(2)(harib12d)5提高运行速度(harib12e)6测试运行速度(harib12f)7多任务进阶(harib12g)第16天多任务(2)1任务管理自动化(harib13a)2让任务休眠(harib13b)3增加窗口数量(harib13c)4设定任务优先级(1)(harib13d)5设定任务优先级(2)(harib13e)第17天命令行窗口1闲置任务(harib14a)2创建命令行窗口(harib14b)3切换输入窗口(harib14c)4实现字符输入(harib14d)5符号的输入(harib14e)6大写字母与小写字母(harib14f)7对各种锁定键的支持(harib14g)第18天dir命令1控制光标闪烁(1)(harib15a)2控制光标闪烁(2)(harib15b)3对回车键的支持(harib15c)4对窗口滚动的支持(harib15d)5mem命令(harib15e)6cls命令(harib15f)7dir命令(harib15g)第19天应用程序1type命令(harib16a)2type命令改良(harib16b)3对FAT的支持(harib16c)4代码整理(harib16d)5第一个应用程序(harib16e)第20天API1程序整理(harib17a)2显示单个字符的API(1)(harib17b)3显示单个字符的API(2)(harib17c)4结束应用程序(harib17d)5不随操作系统版本而改变的API(harib17e)6为应用程序自由命名(harib17f)7当心寄存器(harib17g)8用API显示字符串(harib17h)第21天保护操作系统1攻克难题——字符串显示API(harib18a)2用C语言编写应用程序(harib18b)3保护操作系统(1)(harib18c)4保护操作系统(2)(harib18d)5对异常的支持(harib18e)6保护操作系统(3)(harib18f)7保护操作系统(4)(harib18g)第22天用C语言编写应用程序1保护操作系统(5)(harib19a)2帮助发现bug(harib19b)3强制结束应用程序(harib19c)4用C语言显示字符串(1)(harib19d)5用C语言显示字符串(2)(harib19e)6显示窗口(harib19f)7在窗口中描绘字符和方块(harib19g)第23天图形处理相关1编写malloc(harib20a)2画点(harib20b)3刷新窗口(harib20c)4画直线(harib20d)5关闭窗口(harib20e)6键盘输入API(harib20f)7用键盘输入来消遣一下(harib20g)8强制结束并关闭窗口(harib20h)第24天窗口操作1窗口切换(1)(harib21a)2窗口切换(2)(harib21b)3移动窗口(harib21c)4用鼠标关闭窗口(harib21d)5将输入切换到应用程序窗口(harib21e)6用鼠标切换输入窗口(harib21f)7定时器API(harib21g)8取消定时器(harib21h)第25天增加命令行窗口1蜂鸣器发声(harib22a)2增加更多的颜色(1)(harib22b)3增加更多的颜色(2)(harib22c)4窗口初始位置(harib22d)5增加命令行窗口(1)(harib22e)6增加命令行窗口(2)(harib22f)7增加命令行窗口(3)(harib22g)8增加命令行窗口(4)(harib22h)9变得更像真正的操作系统(1)(harib22i)10变得更像真正的操作系统(2)(harib22j)第26天为窗口移动提速1提高窗口移动速度(1)(harib23a)2提高窗口移动速度(2)(harib23b)3提高窗口移动速度(3)(harib23c)4提高窗口移动速度(4)(harib23d)5启动时只打开一个命令行窗口(harib23e)6增加更多的命令行窗口(harib23f)7关闭命令行窗口(1)(harib23g)8关闭命令行窗口(2)(harib23h)9start命令(harib23i)10ncst命令(harib23j)第27天LDT与库1先来修复bug(harib24a)2应用程序运行时关闭命令行窗口(harib24b)3保护应用程序(1)(harib24c)4保护应用程序(2)(harib24d)5优化应用程序的大小(harib24e)6库(harib24f)7整理make环境(harib24g)第28天文件操作与文字显示1alloca(1)(harib25a)2alloca(2)(harib25b)3文件操作API(harib25c)4命令行API(harib25d)5日文文字显示(1)(harib25e)6日文文字显示(2)(harib25f)7日文文字显示(3)(harib25g)第29天压缩与简单的应用程序1修复bug(harib26a)2文件压缩(harib26b)3标准函数4非矩形窗口(harib26c)5bball(harib26d)6外星人游戏(harib26e)第30天高级的应用程序1命令行计算器(harib27a)2文本阅览器(harib27b)3MML播放器(harib27c)4图片阅览器(harib27d)5IPL的改良(harib27e)6光盘启动(harib27f)第31天写在开发完成之后1继续开发要靠大家的努力2关于操作系统的大小3操作系统开发的诀窍4分享给他人使用5关于光盘中的软件6关于开源的建议7后记8毕业典礼9附录
查看详情
好书推荐 / 更多
30天自制操作系统
传统十论:本土社会的制度、文化与其变革
秦晖 著
30天自制操作系统
翁达杰作品系列:英国病人(精装)
[加]迈克尔·翁达杰 著;丁骏 译
30天自制操作系统
软件体的生命周期:特德·姜科幻小说集
[美]特德·姜
30天自制操作系统
汉唐文学与文献论考
陈尚君 著
30天自制操作系统
中国佛学源流略讲
吕澂 著
30天自制操作系统
明清稿抄校本鉴定
陈先行、石菲 著
30天自制操作系统
瓦檐下的旧器物
黄孝纪
30天自制操作系统
索恩丛书·自由的流亡者:永失美国与大英帝国的东山再起(套装全2册)
马娅·亚桑诺夫(Maya Jasanoff) 著;马睿 译
30天自制操作系统
维米尔
北寺 译 者;[英]路德维希·戈德沙伊德(Ludwig Goldscheider)
30天自制操作系统
做工的人
林立青 著;赖小路 摄影
30天自制操作系统
与绝迹之鸟的短暂邂逅
[美]本·方登 著
30天自制操作系统
[日]吉田修一 Yoshida Shuichi 著;岳远坤 译