第2章很长,随便做点记录
windows是微内核系统吗
在微内核系统里面,内存管理器,进程管理器,I/O管理器运行在各自独立的进程里
就是说内核里面只剩下线程调读,消息传递,虚拟内存,和设备驱动等程序
简单来说, windows不是微内核系统.
FYI, 微内核系统会由于太多的内核态与用户态的切换,会导致系统运行效率低下
windows总体结构
其中windows内核用于线程调度 中断 异常分发 处理器同步等
HAL应该算是windows内核与硬件之间沟通的中间人吧
Windows的环境子系统
OS/2 POSIX Windows
第三个是我们经常用的
各个子系统不能混合使用
什么是子系统??我的理解就是API接口的集合吧,其实POSIX 和OS/2最后也是调用了Windows子系统。
GDI在应用程序和图形设备之间,他把应用程序的命令传递给图形设备,并且在传递的之前会将命令解析成图形设备能看懂的命令
例如画一条线,GDI会将命令解析成 画N个点
Windows上只实现了POSIX子系统的1.1版本,而且有很大的限制,可以说POSIX的存在只是为了符合政府采购要求,但是后来有了POSIX子系统的增强版
还有了Windows Service For Unix, 可以将Unix程序转换为Windows的,做了各种这样的事大概都是为了可移植性吧,不过好像也没见到多大的用处。
要写posix程序的话要包含特定的库,不过有强大的windows子系统,谁还有那个闲工夫搞posix?