zoukankan      html  css  js  c++  java
  • 【原创】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的中断。

    第三章学习完毕。
  • 相关阅读:
    分布式事务的四种解决方案
    uber-go/guide 的中文翻译
    域名解析-CNAME
    Nginx节点存活状态检查
    Laravel核心解读--中间件(Middleware)
    Mac dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
    前缀树算法实现路由匹配原理解析
    原创-实用salt部署文档(持续更新)
    线上案例-调参-设置滑动窗口提高视频云播放性能
    NGINX日志割切
  • 原文地址:https://www.cnblogs.com/mercuryxu/p/1605731.html
Copyright © 2011-2022 走看看