《30天自制操作系统》学习笔记--第11天

原创 2013年12月03日 14:06:53

       今天的主要内容是屏幕刷时的闪烁问题,和定时器的小部分内容。

       首先说明定时器应该是系统重要部分,所以明天会好好记录一下计时器的心得。

       关于屏幕刷新时闪烁,这个之前也遇到过(之前做单片机数据绘图时,因为单位时间数据量很大,一直刷新画面就会导致波形图闪烁,而解决这个问题的方法是使用双缓存技术),而这次不同的是如果系统桌面都闪烁,就没人会使用我们的系统了。。所以问题很严重,需要马上解决,作者的解决方法是改变刷新的范围和层数,减少无谓的刷新。其实作者从开始所提出的桌面显示的完整体系就是一种最简单的设计(作者想带着我们一步一步走向高端,但如果看完全书后再去写的话就不需要走弯路了),我们设计时完全可以自己发挥,设计出更高效更华丽的桌面环境,作者最后提到的在内存中开辟map区域其实就是一种高效的方法,而这个方法可以在一开始显示的时候就设计进去,所以,桌面显示并不应该成为我们学习的重点(在系统体系完成后再详细设计规划)。

        相反,计时器才是我们应该好好研究的,这是系统的根本之一。

        今天内容比较少,明天继续。。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

《30天自制操作系统》第1天

1.下载一个二进制编辑器(网上很多下载,google一下即可,也叫十六进制编辑器),他能直接对二进制数进行编辑。如果你对(某种处理器的)机器码非常熟悉的话,理论上可以用二进制编辑器完成(此处理器上的)...
  • a379039233
  • a379039233
  • 2013年12月21日 18:18
  • 2641

《30天自制操作系统》——从引导区到磁盘

上一篇讲了如何使用虚拟机运行我们写好的操作系统,但上一篇的操作系统其实仅仅存在于引导扇区中,接下来我们将看到程序如何从引导扇区跳到其他位置。 引导区内容的装载位置为0x00007c00-0x...
  • ekkie
  • ekkie
  • 2016年05月08日 16:26
  • 437

《30天自制操作系统》——从汇编到C

这次我们要用到4个文件,分别是ipl.nas、asmhead.nas、func.nas和 bootpack.c。 ipl.nas是引导扇区中的16bit程序,用于从磁盘中加载数据并跳转到asmhead...
  • ekkie
  • ekkie
  • 2016年05月12日 00:32
  • 753

30天自制操作系统之第15天 多任务(1)

多任务的本质是利用定时器和far跳转在任务之间进行切换,具体来说,一开始先运行main函数(就是处理我们的鼠标、键盘和定时器等事件),0.02s后定时器超时,执行如下语句: farjmp(0, 4 *...
  • BlueCloudMatrix
  • BlueCloudMatrix
  • 2014年08月15日 15:05
  • 1331

30天自制操作系统之第13天 定时器(2)

这一节我们同样只讲优化工作,关于缓冲区的优化。 我们为键盘、鼠标和定时器各维护了一个FIFO缓冲区,如果定时器有100个,我们要创建100个FIFO缓冲区。这是不优雅的。 FIFO缓冲区的作用:拿定时...
  • BlueCloudMatrix
  • BlueCloudMatrix
  • 2014年08月10日 16:56
  • 1410

30天自制操作系统之第12天 定时器(1)

定时器的中断处理程序要保证高效率,需要进行一些优化,这里介绍优化的方法。对于一个操作系统来说,会有多个定时器,假设该操作系统维护了500个定时器,当每一次定时中断发生时(这里我们设定1秒发生100次中...
  • BlueCloudMatrix
  • BlueCloudMatrix
  • 2014年08月09日 22:32
  • 1528

《30天自制操作系统》学习笔记——第十四天

来开始第14 天的内容吧。                                                                          今天一上来就要提高分辨率了...
  • u011879578
  • u011879578
  • 2014年02月27日 14:30
  • 726

《30天自制操作系统》学习笔记(六)

IDT学习心得 (一)什么是中断?     通常被定义为一个事件,该事件改变处理器执行的指令顺序。例如通过键盘输入、点击鼠标等 (二)为什么要引入中断?    ...
  • qq_35041101
  • qq_35041101
  • 2016年07月03日 14:51
  • 386

《30天自制操作系统》U盘启动,真机运行(16天)

首先说一下到目前为止U盘启动遇到的问题,首先的一个问题是“system volume information“,目前尚未解决,这个问题可能导致U盘启动失败,我猜测可能是由于每一次重新将OS写到U盘的时...
  • m47838704
  • m47838704
  • 2015年07月10日 20:18
  • 2278

30天自制操作系统之第一天的QEMU问题解析

在全书第18页上关于QEMU的使用,首先在http://wiki.qemu.org/Download下载对应的版本 (我的是windows64位的),下载后默认安装即可。 下面是刚入门的可能会碰到的...
  • Timbo0
  • Timbo0
  • 2016年12月27日 09:02
  • 542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《30天自制操作系统》学习笔记--第11天
举报原因:
原因补充:

(最多只允许输入30个字)