首页 > 其他 > 详细

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

时间:2015-10-08 21:38:20      阅读:328      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!