2015年6月2日星期二

Exchange Server 运维管理01:Exchange中Active Directory 有什么用?

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
Exchange Server 运维管理01:Exchange中Active Directory 有什么用?  阅读原文»

Exchange Server 运维管理01:Exchange中Active Directory 有什么用?

近期,需要给客户进行一次Exchange Server 的运维普及培训,在前期博文的基础上,准备再梳理一下运维管理的思路,发几篇和运维管理相关的博文。本文,就介绍一下Exchange Server 2010中的Active Directory有什么用?

很多朋友都知道,安装Exchange 肯定需要在域环境里,活动目录很重要,但到底起到了哪些作用?我们来看一下。针对Exchange Server来说,活动目录主要起到两大作用:一是 Exchange Server 使用 Active Directory 来存储目录信息;二是 Exchange Server 根据 Active Directory 站点拓扑确定如何在组织中传输邮件。

Exchange Server 使用 Active Directory 来存储目录信息

微软的很多产品都和活动目录有着紧密的联系,Exchange 也在活动目录中存储四种类型的信息:架构数据、配置数据、域数据。

架构数据:架构数据存储在架构分区内。活动目录中包含不同类型的对象,例如有计算机对象、有用户对象、有组对象、有文件夹、有打印机等等,每种类型的对象又包含不同的的属性。这些对象类型和属性就定义在架构分区里。当我们安装第一台Exchange服务器时,就需要各AD架构中添加一些对象类型和相应的属性,其目的是为了创建Exchange的专有对象和属性,像代理和连接器等。同时为了使用现有的用户对象和组对象能够发送和接收邮件,还需要对现有的用户和组对象的属性进行扩展。

image

上图显示的就是在对域进行扩展后,会创建Exchange相关对象。而下图左图就是修改后的用户属性:

Android内核开发:系统分区与镜像文件的烧写  阅读原文»

Android内核开发:系统分区与镜像文件的烧写

本文是《Android内核开发》系列的第五篇文章,本文重点介绍如何把编译输出的镜像文件烧写到Android设备中。

玩过刷机的朋友肯定对fastboot这个工具并不陌生,它是Android SDK中提供的一种开发工具,支持通过USB线将手头的镜像文件更新/烧录到Android设备中,常用的fastboot烧录过程如下:

  fastboot flash boot boot.img  fastboot flash system system.img  fastboot flash userdata userdata.img  fastboot flash cache cache.img  fastboot flash recovery recovery.img  fastboot reboot  

这样,就把我们编译输出的镜像文件分别成功更新到Android设备指定的分区去了。

但是你知道它的原理是什么吗?

其实fastboot是Google定义的一种传输协议,它工作在Android设备与PC机两端,就像浏览器常用的HTTP协议一样,需要服务器/客户端同时支持该协议才能完成数据的传递。

Google提供了fastboot协议的定义和源码,需要设备厂商将代码移植到自己设备的bootloader中,并不是所有的Android设备都支持fastboot,因此,我们可能买到的有些开发板的并不支持fastboot,这就需要我们采用其他方式烧录,或者修改bootloader/u-boot源码,让其支持fastboot协议。

Google定义的fastboot协议地址:这里(需要翻墙)

由于AOSP官网被墙,因此我也把该协议定义文本拷贝了一份到我们Github中,地址如下:

https://github.com/Jhuster/AOSP/blob/master/documents/fastboot_protocol.txt

对于任何标准的Android设备而言,它都会对内部存储空间进行分区,不同的设备的分区大小都不一样,但通常都会有如下几个分区:

      /boot      /system      /recovery      /data      /cache      /misc  

各个分区分别对应着各个镜像文件在设备中实际的存储位置。下图所示,是ADP1/G1手机的系统分区划分:

wKiom1Vq5oWRtE_BAAMq4-wztyQ683.jpg

由此我们知道了,其实fastboot命令执行的流程,就是根据命令参数,将新的镜像文件拷贝到指定分区的过程,其实并不复杂。

那么,不支持fastboot协议的设备一般是如何烧录Android镜像的呢?

其实上面也提到了,fastboot协议是工作在bootloader之中的,在没有fastboot出现之前,嵌入式系统的镜像烧写通过bootloader也是完全可以完成的,这里通过示例简单演示一下Linux内核烧写过程 。

通常在u-boot启动过程中,会有3秒的停留,在串口终端敲击回车中断u-boot启动内核的过程,这时就可以输入u-boot支持的各种命令与板子交互了,举例如下:

  $ nand erase 0x100000 0x200000             //擦除掉nandflash指定位置区域的数据  $ tftp 0x80000000 uImage                   //通过tftp将内核下载到内存指定位置  $ nand write 0x80000000 0x100000 0x200000  //把内存中的内核烧写到nandflash指定的位置  

同理,只要清楚存储空间的分区和地址,就能够通过u-boot完成镜像的烧写过程,当然,u-boot是怎么烧录到开发板的呢?这是通过JTAG工具烧写的,这里就不详细论述了。

当然,如果系统是从外接的SDCard启动就更简单了,只需要把SDCard连接到电脑上,覆盖对应分区里面的镜像文件就可以了。

关于Android系统分区和镜像的烧录介绍到这儿了,有任何疑问欢迎留言或者来信lujun.hust@gmail.com交流,你也可以关注我的微博 @卢_俊 获取最新的文章和资讯,谢谢。

本文出自 "对影成三人" 博客,请务必保留此出处http://ticktick.blog.51cto.com/823160/1656900

阅读更多内容

没有评论:

发表评论