51WinCE-博客园分站

WinCE非官方Blog分站

导航

【原创】Windows® Embedded CE 6.0 Fundamentals 读书笔记_Chapter 3

 

chapter 3
先来看一些词汇
//=============每日学习================
//这章里面有一些比较重要的名词
componentized
preemptive
multitasking
predetermined
interacts
implementation
periphery
performs
reference
infrastructure
fexible
managing
implies
(not) vice versa
corresponding
commits
postponed
entirely
guaranteed
The memory management unit (MMU)
interrupt service routines (ISRs)
demonstration
region
distinction
obtain
entire
permitted
implies
attributes
Commits
interact
granularity
restrictions
algorithm
unallocated
extreme
despite
implementation
violation
terminates
abruptly
priority
theoretical
simultaneously
regardless
determined
accordingly
implements
inversion
Time-sliced
quantum
completion
Preemptive
instead
denotes
Elapsed
manner
acquires
mutual
disrupts
predictability
provide
race
conditions
Semaphores
integral
interlocked
prevent
provided
mutex
simultaneously
decremented
awaiting
Interrupt Architecture
peripheral
associated
determine
explicit
implicit
predetermined
implemented
separate
bulk
regular
//============翻译===============
组件化
先发制人
多任务
预定
交互
执行
周边
执行
参考
基础设施
灵活
管理
意味着
(不)反之亦然
相应的
承诺
推迟
完全
保证
该内存管理单元(MMU)
中断服务例程(ISR)
示范
地区
区别
获得
整个
准许
意味着
属性
承诺
互动
粒度
限制
算法
未分配
极端
尽管
执行
违反
终止
突然
优先
理论
同时
不管
确定
据此
实现
反演
时间片
量子
完成
先发制人
代替
表示
过去了
方式
收购
相互
破坏
可预见性
提供
种族
条件
信号灯
积分
互锁
防止
提供
互斥
同时
递减
等待
中断结构
周边
相关
确定
明确

预定
实施
独立
大批
定期

Chapter 3
好了,今天第三章,第三章是一个非常重要的章节,wince的体系结构,整章读完有一种重温操作系统课程的感觉,
这一章介绍了操作系统的结构,操作系统的硬件交互机制,系统虚拟内存结构,内存管理,进程、线程、纤程和进度表,
同步对象以及非常重要的中断结构。

第一节对系统的体系结构进行一个总体的分析,大家可以通过文中的图示看的很清楚,整个系统分为应用层,系统内核和硬件三个
层次。其中对内核的重要性不言而喻,这里需要注意的是几个动态库的内容,前段时间和一个高手聊,最后说到其实wince内核就是
一些动态库,也就是文中表3-1描述的一些个dll文件,而在这些库里面,都很重要,但有这几个需要特别注意的,kernel.dll、
flesys.dll、device.dll 和gwes.dll,这些dll的具体功能大家可以看表,因为最近在调试项目中经常遇到这些个库导致的一些问题
,所以提醒大家留意的看看这些库到底是什么来头,因为在系统运行中可能遇到错误的抛出,而一些错误的抛出描述其实也就是这些
个Dll文件出现的,具体去了解了这些Dll文件代表了什么方面的内容,对程序的修改会有一些个帮助,至少知道错误的来源,
提供一些解决问题的思路。

第二节介绍系统与硬件的交互,这一张描述的比较简单,主要介绍硬件和BSP一些关系。

第三节介绍了虚拟内存结构,这一节中提出了一个关键点,The memory management unit (MMU)内存管理单元,这个部分还是比较
重要的,因为在调试中系统启动最先需要对内存进行分配,完成后再分别去执行内容。而且在wince中MMU的调试也是个比较头痛的
地方,虽然我没有具体涉及这方面的开发,但是在讨论群和论坛上经常能看到有朋友提及到MMU的问题,有对前期boot开发有要求的
朋友这个部分的学习是非常必要的。

第四节介绍了内存管理机制,这一章通过对API函数的介绍来描述内存管理的方法,关于这一节的学习,大家可以边学边在系统自带
的一些BSP包中寻找下使用的方法和使用的地方,通过实际的例子来理解使用是容易理解的方法。例如VirtualAlloc 这个系列的函
数API,在MS提供的BSP包中就有很多的体现,具体的在音频视频处理,触摸板部分都有大量的使用,大家可以自己找找看。
接下来是进程、线程、纤程以及进度表的描述,众所周知的,WINCE是一个支持多任务的RTOS,所以,对任务的管理有时间片多任务
管理的方式,256个等级分配的管理方式,以及优先抢占任务机制等等5个机制,这些大家可以通过具体阅读文章中具体的内容来学
习。总之有一条,作为一个多任务操作系统,必须做到的是任何任务资源分配均匀,不会出现抢占死等资源的情况。系统能够轻松
的通过一系列的方式实现系统资源合理分配。

第六节介绍了同步机制,这个机制也是由系统在多任务条件下产生的一个问题,这里希望大家注意下互锁函数,这些函数中,又特
别注意的是EnterCriticalSection和LeaveCriticalSection,这两个黄金组合可以很好的辅助系统功能之间的互锁,防止一些死锁
的现象发生。这个还是比较常用到的。具体的大家可以阅读文中相关的内容。

最后是中断,wince的中断是非常神奇的,用到好系统可以很完美的运行,弄的不好,系统整体性能会急剧下降。这里提出了几个比
较重要的概念, physical interrupt request (IRQ)物理中断请求,interrupt service routine (ISR)终端服务例程 和
interrupt service thread (IST)终端服务线程,文章中也具体描述他们之间的关系以及如何相互作用的。最后,在100页介绍了
IST的工作流程,这里特别提出了几个函数, CreateEvent,InterruptInitialize,WaitForSingleObject 和InterruptDone,大家
同样可以去追这几个函数在实际例子中使用的方法,同步来学习理解wince的中断。

第三章学习完毕。

posted on 2009-11-18 23:38  MercuryXu  阅读(584)  评论(0编辑  收藏  举报