cover

30天自制操作系统

川合秀实 / 人民邮电出版社 / 2012

本教程兼具趣味性、实用性与学习性,从计算机的构造、汇编语言、C 语言开始解说,让学习者在实践中掌握算法。 通过本教程的学习,你可以从零编写所有代码,30 天后就可以制作出一个具有窗口 系统的32 位多任务操作系统。本教程适合操作系统爱好者和程序设计人员学习。

¥49.99 / 3个月在线服务,赠送PDF电子书
  • 正版授权内容
  • 在线练习环境
  • 答疑服务支持
  • 离线PDF下载
  • 1

    着手开发之前

    了解何谓操作系统,了解开发操作系统的方法。

  • 2

    从计算机结构到汇编程序入门

    理解计算机硬件加载软件的基本原理,初步掌握汇编程序的编写及编译方法。

  • 3

    汇编语言学习与Makefile入门

    理解启动区的概念,通过开发实践掌握ORG、MOV、JMP等汇编指令; 理解寄存器的概念和用途,理解Makefile的作用并初步掌握其使用方法。

  • 4

    进入32位模式并导入C语言

    理解IPL、扇区、柱面的概念,理解CPU的32位模式并掌握进入32为模式的指令; 理解为何要导入C语言并初步掌握C语言的编写、编译过程。

  • 5

    C语言与画面显示的练习

    掌握C语言实现内存操作、图形绘制、画面显示功能的方法。

  • 6

    结构体、文字显示与GDT/IDT初始化

    掌握C语言中变量、结构体的概念与使用方法; 理解在屏幕上显示字符、指针的原理并掌握其实现方法; 理解GDT、IDT概念并掌握其初始化方法。

  • 7

    分割编译与中断处理

    理解代码文件分割的目的和意义;理解中断的概念并掌握PIC的操作方法; 掌握中断处理程序的编写方法。

  • 8

    FIFO与鼠标控制

    理解获取按键编码的原理并掌握其实现方法;理解FIFO概念并应用其原理解决 键盘处理程序的问题;理解鼠标的控制原理并掌握其数据接收实现方法。

  • 9

    鼠标控制与32位模式切换

    理解鼠标数据格式并掌握其解读方法;理解移动鼠标指针的原理并掌握实现方法; 掌握切换到32位模式的实现方法。

  • 10

    内存管理

    理解内存管理的概念和目的,掌握进行内存容量检查的实现方法。

  • 11

    叠加处理

    理解屏幕显示中多图层叠加处理的必要性,并掌握其实现和优化方法。

  • 12

    制作窗口

    理解窗口的概念及实现原理,掌握其实现方法; 理解屏幕闪烁的原因,并掌握其解决方案。

  • 13

    定时器(1)

    理解定时器的概念和作用,掌握其使用方法。

  • 14

    定时器(2)

    掌握定时器的优化方法。

  • 15

    高分辨率及键盘输入

    了解并掌握如何切换到高分辨率显示,掌握如何优化键盘输入。

  • 16

    多任务(1)

    理解多任务的概念及实现原理,掌握简单多任务的实现方法。

  • 17

    多任务(2)

    理解任务管理器的作用和实现原理,掌握其实现方法。

  • 18

    命令行窗口

    掌握命令行窗口程序的实现方法。

  • 19

    dir命令

    掌握dir命令程序的实现方法。

  • 20

    应用程序

    掌握type命令程序的实现方法。

  • 21

    API

    理解API的概念和作用,掌握API的设计和实现方法。

  • 22

    保护操作系统

    理解操作系统的脆弱,了解并掌握操作系统的保护方法。

  • 23

    用C语言编写应用程序

    掌握用C语言编写应用程序的方法。

  • 24

    图形处理相关

    掌握如何实现画点、画线、刷新窗口等图形处理功能。

  • 25

    窗口操作

    理解窗口切换、窗口移动的原理并掌握实现方法。

  • 26

    增加命令行窗口

    掌握多个命令行窗口的实现方法。

  • 27

    为窗口移动提速

    掌握优化窗口移动的实现方法。

  • 28

    LDT与库

    理解LDT的概念及其用于程序保护的原理,理解库的概念及实现方法。

  • 29

    文件操作与文字显示

    理解文件读写的原理并掌握其实现方法; 理解文字显示的原理并掌握其实现方法。

  • 30

    压缩与简单的应用程序

    理解压缩的目的和原理,掌握其实现方法。

  • 31

    高级的应用程序

    掌握计算器、文本阅读器、图片浏览器等应用的实现方法。