日期:2014-05-17  浏览次数:20757 次

求助 关于windows的消息机制和分时任务管理机制
小弟想学习下windows的消息机制原理和分时任务管理机制,请问有什么好书可以推荐的
主要是想学下原理:
学习目标是解决下面几个疑问:
1、windows是不是已经定义了很多的消息类型,比如VM_PAINT之类的?这些消息类型是定义在哪层的,是内核0层,还是应用的3层?
2、当用户操作电脑(比如按一个键,或者鼠标移动)时,windows怎么知道我的动作匹配哪个消息? 
3、消息产生后,位于第3层的应用程序怎么接收呢?windows怎么知道现在这个消息需要分派给哪个上层应用?
4、网上有人说消息就是事件,这种说法对吗?事件就是消息吗?
5、关于系统消息队列,我知道windows会维护一个系统消息队列,这个消息队列是在什么时候创建的呢?是在windows启动时候就创建了吗?如果一个消息被处理完了,会从消息队列里删掉吗?
6、UNIX,LINUX是基于什么机制的 - 比如我敲一个键,unix怎么知道我敲的是这个键,又怎么知道这个键是需要显示在屏幕上?
7、消息机制是否和中断有关? 汇编里提到的中断是怎么个概念?

关于分时任务管理机制
1、Unix,Linux是什么任务管理机制,也是分时的吗?
2、什么操作系统是实时任务管理机制?

------解决方案--------------------
你做系统呢?
硬件检测跟中断相关。分时也跟中断相关,定时器的作用。消息机制大抵用的是锁吧,不懂。
内核没有消息这一说法,只有IRP,所有信息都是通过IRP传递的。
系统消息队列有多个,一个系统消息队列,一个用户队列,用户队列在注册窗口类的时候创建,系统的不懂,至少应该是smss以后的事情了。
第二个问题,你写过程序么?写过消息循环么?写过的人都知道,这个是用户去匹配啦。