谭升
非主流人工智能科学家 我和外面那些妖艳的货不一样

【30天自制操作系统】 中断

中断处理程序

今天看的还是比较顺利,很快一天的就看完了,总结一下今天的主要知识。
首先是中断处理程序,中断处理程序尽量高效,短小精悍,所以像显示啊什么的操作尽量不再中断处理程序中出现,因为一旦进入中断处理程序,其他中断将会被屏蔽,因为如果不屏蔽就会出现乱套的现象,一个中断还没完另一个已经来了,你说你干不干,干哪个,所以,尽量减少中断处理时间,这样就可以减小中断同时发生而后发生的没办法处理的现象,所以,缓冲区出现了用武之地。
之前一直不知道缓冲区是干嘛的,今天终于见到其真正的用途了,就是保存中断信息,然后慢慢处理,之后讲到FIFO缓冲区(讲的不严谨点就是队列),队列的大小随意定义,为了减少数据移动,使用了循环队列,高效,但结构里面有一个len用来判断对是否满,可以用头指针和尾指针的位置关系来判断,但没有多大效率上和空间上的区别,所以应该都可以,这里的队列采用数组而不是链表,数组在空间上连续,所以读的速度更快。效率才是硬道理!
发现了对中断的处理和处理时对下一个中断的到来以及处理安排上是很重要的,需要我们严加设计的,应该也是系统设计的重要部分,还有书中出现的各种编号(像不同端口的地址什么的),不知道具体去哪找,不同的cpu不知道有没有什么区别,这是不是就Intel那个好几千页的手册所要说明的。。
还有就是鼠标和键盘的电路是一个芯片组上的。。。。。
这几天基本都是用c语言设计,感觉只用汇编写了那些最基本的函数,如果系统想要更强大是不是应该多用汇编写点更多的函数以供调用。

明天继续。。。。。

Share

You may also like...

说点什么

avatar
  Subscribe  
提醒

试录了几节线性代数视频课程,欢迎大家支持,
点击试看
点击购买更多内容

由于博客移至wordpress,部分公式和代码显示不正常,博主正在努力修改,如发现公式显示错误,请及时在文章下留言,感谢您的帮助,尽请原谅!