动手写操作系统 -- 任务间通信


任务多了,肯定要考虑任务之间的通信,好比linux上的进程间通信。

如下3个任务,任务1实现键盘驱动,获取用户输入,将输入的字符分成两组”wsad”的对应贪食蛇的按键,发消息给消息队列1,

“上下左右”对应的是俄罗斯方块的按键,发消息给队列2。

贪食蛇游戏是任务2,运行是从消息队列1获取消息,处理按键,俄罗斯方块是任务3,从消息队列2获取消息。

pic

运行截图如下,左边是贪食蛇游戏,右边是俄罗斯方块,两个游戏可以同时玩,”wsad”键控制贪食蛇,”上下左右”控制俄罗斯方块:

pic

代码下载: FunnyOS_game.zip

git地址:https://github.com/fillzero/FunnyOS


上篇: 动手写操作系统 -- 排序算法可视化比较 下篇: 动手写操作系统 -- 内存管理