决定把更多的精力放在自己所感兴趣的技术领域上,做自己喜欢做的事情才没有那么大的压力。收集了一些Wp开发的书籍,几乎都是英文的,突然想着把它们尝试着翻译一下,既锻炼自己,同时某一程度上也方便其他人的快速入门。

第一份文档选择了《Architecture Guide for Windows Phone OS 7.0》,相对简单些,也是WP开发入门应该去了解的东西。

这份文档主要包括以下几个大的方面:

  • Windows Phone 7体系结构的介绍
  • Windows Phone 7 内核
  • BSP for Widows Phone 7
  • Windows Phone 7的图形渲染技术
  • Windows Phone 7的网络连接
  • Windows Phone 7的文件系统
  • Windows Phone 7手机升级
  • Windows Phone 7的用户-模式组件
  • Windows Phone 7的安全性
  • Windows Phone 7的启动与关闭

一、Windows Phone 7体系结构的介绍:

这份文档提供了有关Windows Phone 7的一些基本的技术信息。为了满足用户的体验要求,WP7把特殊的硬件与软件整合成为新的平台,在这个平台上用户可以提出不同的性能、质量要求以及硬件上的差异化等等。

这份文档从更高层次的视角去描述了WP7的核心体系结构组件,包括:

  • 硬件组件;
  • 软件组件,包括处于内核模式,处于用户模式(例如内核,主版支持包?,驱动程序,OEM适配层,其他系统层等);
  • 安全性,WP7的启动与关闭进程。

WP7的体系结构是基于Windows Embedded CE 6.0内核(译者注:但之前看文章说是另外一个内核的,得考证一下!),逻辑上主要可以分为以下三个层次:内核模式、用户模式(软件层),以及硬件构成。如下图所示:

WP7硬件组件构成一览:

  • ARMv7处理器
  • 硬件加速(满足了DirectX 应用编程接口的需要)
  • 电容触摸屏
  • 摄像头
  • 蓝牙与Wifi连接
  • FM收音机
  • A-GPS
  • 加速器,指南针,闪光灯,距离传感器等

(省略一小段关于硬件的介绍)

WP7软件组件构成一览:

WP7软件部分由内核(kernel-mode)与用户(user-mode)组成。关于软件部分以及WP7的安全性及启动,关闭进程的讨论请见下部分章节的说明。

二、Windows Phone 7 内核:

WP7的内核提供了一些基本的系统服务,例如内存管理,进程/线程的调度等。在分配1GB的虚拟内存空间的时候,它一秒钟内能同时运行32,000个进程。WP7内核的设计应该满足下面几点要求:

  • 提高系统性能
  • 提高安全性
  • 增加wp7平台的健壮性

下面的这个图简略地说明了WP7内核设计的构架:

WP7通过一个统一的(unified)内核去管理,而其他子系统通过加载为DLL的形式去实现其功能。因为这些子系统实现的功能不需要跨进程,所以这种统一内核的设计能提高整个系统的功能。下面这个表格解释了在内核空间中每个组件函数的功能:

而接下来则会更加详细的向读者解释WP7中关于内核的一些概念:例如内存模型及管理,进程/线程,系统调用等等。

内存模型与管理

WP7是32位的操作系统,其中内置4GB的虚拟地址空间(virtual address space)。从设计的角度来看,2GB的空间被分配到内核,其中包括了文件系统以及内核状态下的设备驱动管理器。另外2GB被分配给正在执行中的进程,例如进程代码,用户状态下的DLL文件,内存映射文件等等,下面这个图指明了WP7的内存架构:

WP7的虚存的管理需要达到下面的目的:

  • 每个进程尽可能分配到更多虚拟内存;
  • No limit on the preset number of processes(不是很明白这个意思)
  • 用户模式上进程之间的内存分配策略
  • 运行代码最小程度上对CPU资源的依赖性
  • 更加有效的分配虚拟内存

注意:在这种内存管理模式下只有一个进程在某个时候与内存产生映射关系,正处于活动状态的进程完全支配着1GB的内存空间,同时不允许其他进程访问这个空间。如果想了解更多关于进程间共享内存的信息,请接着查看下面的内容。

内核内存映射(Kernel Memory Map)

下面的图表描述了内核内存的分配与映射关系:

内核空间映射包含下面四个方面:

  • System trap area
  • Kernel VM-内核、服务以及驱动共享这部分的虚拟内存
  • Kernel XIP DLLs-XIP表示Execute in place.
  • Direct physical address mappings

进程空间映射(Process-Space Mapping)

未完待续

转载于:https://www.cnblogs.com/wpdev/archive/2011/08/23/2151208.html

浅谈Windows Phone 7的体系结构 - [WP开发文档翻译系列]相关推荐

  1. 浅谈Windows XP系统漏洞的封堵

    浅谈Windows XP系统漏洞的封堵 2010年11月18日 9号    浏览:96次 发表评论 阅读评论 微软WindowsXP自出世以来就在中国市场中获得了广泛好评和客户的认同,它出色的兼容性和 ...

  2. 计算机病毒的隐藏方式有ign,浅谈windows下的病毒隐藏技术.doc

    浅谈windows下的病毒隐藏技术 浙江工业职业技术学院 毕业论文 (2011届) 浅谈windows下的病毒隐藏技术 学生姓名 学 号 分 院 专 业 信 指导教师 完成日期 2011年5月 19日 ...

  3. 浅谈DM达梦数据库体系结构概念

    浅谈DM达梦数据库体系结构概念 DM逻辑结构 DM和Oracle一样也分数据库和实例,两者的概念也基本一致. 但是不同点在于:达梦是单进程.多线程,而oracle是多进程的. DM这种对称服务器构架在 ...

  4. 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...

    浅谈三层架构 收藏 自己理解的原理 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html 浅谈三层架构  通过这个,+Jav ...

  5. php动态网站开发论文,浅谈《基于PHP的动态网站开发》课程的项目案例设计

    电子论文 浅谈<基于PHP的动态网站开发>课程的项目案例设计 时间:2020年05月25日 所属分类:电子论文 点击次数: [摘要]在教学资源建设中,案例设计建设是非常重要的资源之一.运用 ...

  6. 浅谈 Windows API 编程

    原文地址:http://blog.sina.com.cn/s/blog_46d85b2a01010qpt.html http://blog.sina.com.cn/s/articlelist_1188 ...

  7. 大白菜浅谈Windows 7 32位与64位之区别

    如今安装Windows 7已经不是什么新鲜事儿了,如果你还没有装Windows 7,那未免也太Out了.说起Windows 7的好处,那真是一堆一堆的,所以别犹豫,赶紧装一个吧. 哎,等等,装之前咱得 ...

  8. 浅谈windows句柄表

    windows定义了很多内核对象:进程对象.线程对象.互斥量对象.信号量对象.事件对象.文件对象等等.在调用相应的函数创建这些对象后,我们都可以通过HANDLE类型的句柄来引用它们.或许你在一些书上看 ...

  9. 浅谈Windows下SVN在Android Studio中的配置、基本使用及解除关联

    看到网上很多关于svn环境配置和关联Android-Studio的很多博文,发现很零散,想集大家所长整理一下: 在AndroidStudio中开发版本控制中,除了Git就是SVN,和Eclipse不同 ...

最新文章

  1. 十年之后,数字孪生将这样改变我们的工作与生活
  2. proxy in nodejs code
  3. 机器学习(周志华)- 第2章模型评估与选择笔记
  4. 电子设计大赛作品_第十四届电子设计大赛圆满结束!
  5. php config(),php config
  6. python cx_oracle配置_python连接oracle的模块cx_Oracle安装和配置
  7. php session redis db,php session redis 配置
  8. MySQL的索引类型及简单优化
  9. python开发流程视频_自学Python的步骤和方法,Python入门全面视频无偿分享,使用Python开发的一些优点...
  10. UI设计灵感|如何将数据摆放得整整齐齐?
  11. Forms(The Definitive Guild to Django)
  12. C语言贴图图片路径不对,backgroundImage 路径问题 vue 图片的引入方式
  13. 【案例】MySQL count操作优化案例一则
  14. Windows常用运行库下载 (DirectX、VC++、.Net Framework等)
  15. 转载:通过 Firefox 扩展为 Google Calendar 加密
  16. 整数划分问题将正整数n表示成一系列正整数之和
  17. 一个功能齐全的IOS音乐播放器应用源码
  18. “金三银四” 是找工作的最佳时期吗?
  19. 使用D2RQ转换关系型数据库Mysql数据为RDF
  20. OBCA题库(最新版)

热门文章

  1. mysql join on 索引_连接查询,表关联查询join on,索引,触发器,视图
  2. hdu4279 找规律+小想法
  3. 【Linux 内核 内存管理】RCU 机制 ③ ( RCU 模式下添加链表项 list_add_rcu 函数 | RCU 模式下删除链表项 list_del_rcu 函数 )
  4. 【Android 逆向】ELF 文件格式 ( 程序头数据 | 节区头数据 | 动态符号表 )
  5. 【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )
  6. 【计算理论】计算复杂性 ( 多项式等价引入 | 多项式时间规约 )
  7. [Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告
  8. Subversion基本操作
  9. 如何把VS Code的Language Server Protocol整合到Eclipse中来
  10. docker虚拟机动态扩展内存