码迷,mamicode.com
首页 > 其他好文 > 详细

30天自制操作系统之第17天 命令行窗口

时间:2015-10-08 21:39:07      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

我们把命令行窗口单独做成一个新的任务。
要实现字符输入,只要在键盘被按下的时候向console_task(命令行窗口任务)的FIFO发送数据即可。但要发送数据必须要知道struct FIFO的内存地址才行。
把 struct FIFO 放到 struct TASK里面。基本上没有什么任务是完全用不到FIFO的,因此我们把它们绑定起来。

struct TASK {
    int sel, flags; // sel is used to save the index of GDT
    int priority;
    struct FIFO32 fifo;
    struct TSS32 tss;
};

当前切换到命令行窗口时,系统会向命令行窗口任务发送键盘数据,支持一般的字符输入和退格键。由于在命令行窗口中也使用了定时器等,为了不与键盘数据冲突,我们在写入FIFO的时候将键盘数据的值加上256。

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

30天自制操作系统之第17天 命令行窗口

标签:

原文地址:http://blog.csdn.net/bluecloudmatrix/article/details/48976189

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!