我的分布式博客群

1. http://xautofzx.lupaworld.com/ 人文知识专栏。建在LUPA上(Linux University Promotion Alliance,Linux高校推进联盟),这是非常好的开源网站,为的是将学生引导到开源软件上来。一方面吸引学生看看开源软件,来学习开源的技术,只有这样才能更好的学习计算机科学知识,否则他们就在微软的温柔乡里等死吧;另一方面宣传人文知识,培养学生完善的人格,避免成为书呆子或机器人。

2. http://xautofzx.blog.chinaunix.net 健康旅游专栏。建在Chinaunix.net上,这是非常好的开源网站,也是为了吸引学生到开源软件上来。身体是革命的本钱,否则学得再好也是白搭。我身体健康,心情开朗,兴趣广泛,热爱大自然,喜欢登山旅游。身处八百里秦川,天天面对秦岭这个中国中央国家公园,有什么理由懒惰呢?

3. http://hi.baidu.com/xautofzx  电子与网络技术专栏。建在百度上。为了避免信息冗余,此处只刊登原创文章,少量刊登好文章的链接。

4. http://xautofzx.blogspot.com/  教育理念专栏。建在Google Blogger上。高校教学要不断深化改革,工科教师更需要不断更新知识,不断更新思想,才能更好的教育学生。

5. http://xautofzx.3322.org/ 教学资料与网管专栏。建在西安理工大学(www.xaut.edu.cn)计算机学院。欢迎各个高校教育网用户访问。

6. http://twitter.com/xautofzx 找我就上推特(上网就要会翻墙)    给光荣垫背

2011年8月7日星期日

20110807对不能访问飞思卡尔网站的技术分析

20110807对不能访问飞思卡尔网站的技术分析

国内:http://home.lupaworld.com/home-space-uid-15610-do-blog-id-238891.html
国外:http://xautofzx.blogspot.com/2011/08/20110807.html

我最近在研究基于飞思卡尔i.MX515的Android平板电脑,研究对象是从http://cute-pad.taobao.com/上拿的白牌平板电脑。这里很便宜,同样的机器打上某个商标后,价格就翻一番了。
为获取技术资料,我经常要访问飞思卡尔的官方网站,http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX51ANDROID
今早突然发现无法访问了,但是昨天确是好的,真是很奇怪。
没有办法,只好做一下网络技术分析。


1. 家里的电脑无法访问飞思卡尔官网,但是只要翻墙就可以访问,可以证明官方网站正常,国外网络正常,故障点在中国境内。

2. 随后我远程控制办公室的服务器,可以访问飞思卡尔官网。
这就很奇怪了,因为家属区和教学区的网络是同一个联通IP出口啊,却一个是通的,另一个不通。
这就有必要在两台机子上分别进行技术检测,以查明深层次的原因。

3. 为了避免浏览器的原因,我在Firefox/chrome/opera/搜狗浏览器/GreenBrowser上都做了测试,可以排除浏览器故障。因为经常会因为代理设置错误,或防病毒软件与浏览器冲突等原因,造成网页无法访问。

4. 在两台电脑上,先用Ping来检测,都不能Ping通。
这个很好理解,给网站安装防火墙,保护信息安全,这是企业最起码的常识,更何况飞思卡尔这样的IT企业了。
Ping命令所采用的ICMP协议,前几年有漏洞,被蠕虫病毒所利用,因此在防火墙规则中禁止ICMP协议,是很多网络管理员新手最基本的做法。当然,企业对信息安全要求很高,很严格,也会这么做。一般情况下,只有高水平的网管员才有能力和自信,去设置允许ICMP的规则。

5. 既然Ping不通,就该利用tracert来分析这条路到底在哪里断了。
从办公室tracert www.freescale.com
Tracing route to www.freescale.com [192.88.156.10]
over a maximum of 30 hops:
  1    <1 ms    <1 ms    <1 ms  219.244.xxx.1        西安理工大学计算机学院网关
  1    21 ms     1 ms     1 ms  202.200.xxx.xxx        西安理工大学家属区
  2     1 ms     1 ms     1 ms  202.200.xxx.xxx        西安理工大学家属区
  3     3 ms     1 ms     1 ms  10.1.xxx.xxx        西安理工大学核心网
  4     1 ms     2 ms     1 ms  10.1.xxx.xxx        西安理工大学核心网
  5     1 ms     1 ms     1 ms  221.11.xxx.225        西安理工大学联通出口
  5    <1 ms    <1 ms    <1 ms  123.139.2.137        陕西联通西安城域网
  6    <1 ms    <1 ms    <1 ms  221.11.0.145        陕西联通西安骨干网
  7    50 ms    50 ms    50 ms  219.158.20.149        中国联通骨干网
  8    51 ms    51 ms    51 ms  219.158.11.26        中国联通骨干网
  9    51 ms    51 ms    51 ms  219.158.97.26        中国联通骨干网
 10   203 ms   204 ms   204 ms  219.158.25.126        中国联通北京国际出口
 11   205 ms   206 ms   205 ms  xe-10-2-0.sjc10.ip4.tinet.net [77.67.79.149]    TINET中国接口,总部位于德国西部美因河畔法兰克福市南部Neu-Isenburg地区
 12   216 ms   216 ms   216 ms  xe-0-0-0.phx10.ip4.tinet.net [89.149.182.45]    TINET骨干网
 13   226 ms   226 ms   227 ms  internap-gw.ip4.tinet.net [77.67.94.74]        TINET美国接口
 14   222 ms   217 ms   218 ms  border1.po1-bbnet1.phx003.pnap.net [69.25.168.1]    INAP欧洲接口,总部位于美国东部佐治亚州首府亚特兰大
 15   227 ms   227 ms   226 ms  freescale-6.border1.phx003.pnap.net [69.25.127.90]    INAP去往飞思卡尔的接入网关
 16     *        *        *     Request timed out.    进入飞思卡尔公司内部,总部位于美国南部德克萨斯州奥斯汀
    ......        ......
 30     *        *        *     Request timed out.
Trace complete.



6. 同样采用tracert,从家里电脑tracert www.freescale.com
Tracing route to www.freescale.com [192.88.156.10]
over a maximum of 30 hops:
  1    21 ms     1 ms     1 ms  202.200.xxx.xxx        西安理工大学家属区PPPoE出口服务器
  2     1 ms     1 ms     1 ms  202.200.xxx.xxx        西安理工大学家属区
  3     3 ms     1 ms     1 ms  10.1.xxx.xxx        西安理工大学核心网
  4     1 ms     2 ms     1 ms  10.1.xxx.xxx        西安理工大学核心网
  5     1 ms     1 ms     1 ms  221.11.xxx.225        西安理工大学联通出口
  6     1 ms     1 ms     1 ms  123.139.2.137        陕西联通西安城域网
  7     3 ms     1 ms     2 ms  221.11.0.209        陕西联通西安骨干网
  8    32 ms    32 ms    32 ms  219.158.12.73        中国联通骨干网
  9    33 ms    32 ms    33 ms  219.158.11.10        中国联通骨干网
 10    33 ms    33 ms    33 ms  219.158.97.22        中国联通骨干网
 11   190 ms   190 ms   190 ms  219.158.30.42        中国联通国际出口?或是honeypot(蜜罐)?
 12     *        *        *     Request timed out.
    ......        ......
 30     *        *        *     Request timed out.
Trace complete.



7. 通过对比可知,家里的电脑和办公室服务器访问的网站相同,IP地址为[192.88.156.10],都通过西安理工大学联通出口,IP地址为[221.11.xxx.225],所以故障不在校园网内部。
前面翻墙能访问,已经证明国外网络正常,故范围缩小到联通网络内部。
对比第11跳的区别,可知在国际出口附近出错。办公室服务器能正常出国,经过德国,直到美国的飞思卡尔服务器上。而家里的电脑不能访问,在[219.158.30.42]处不知所踪。

根据知识和经验,我作出初步的猜测:
第一种可能性,30%:
联通内部网络在进行升级,以便应对三网合一、3G网络、4G试验等。
这种调整无非是增加或更换路由器,这会引起路由表的变化,全体路由表的更新需要一段时间。
但是,现代路由器所采用的路由协议,都是新的OSPF、IS-IS、BGP等,收敛速度很快。我从早晨7点多到下午17点,近10个小时,都没有任何改观。这种事情要是放在发达国家里,联通肯定会被用户投诉、依法索赔,很可能被罚的破产。
所以,可能性只有30%左右。

第二种可能性,70%:
在教学区的用户均由学校网络中心维护,在办公场合大家上网都比较收敛,很少访问违禁网站,若限制太多影响工作,教职员工集体反弹会非常强烈,故过滤限制较少。
家属区的用户已经全部转为联通宽带用户,不再属于校园网。用户在家里访问违禁网站的几率很高,且势单力薄,就算反弹也掀不起什么风浪,故过滤限制就严格很多。

这种限制,作为运营商是不敢这么做的,因为严重违法。一旦用户提起法律诉讼,后果可是很严重的。
但是无处不在的GFW,以国家安全的名义去做,谁也没办法。

所以,可能性有70%左右。


唉,连这么知名的国际大公司,这种纯技术网站,都要被禁止,该让人怎么评价GFW的技术水平呢?

作为IT业人士,作为高校教学科研人员,经常要碰到这种技术网站无故被封的情况,你说气人不气人。
所以说,高校信息技术相关专业的教师,如果自己不会翻墙,他的水平完全值得怀疑。学生就更不要说了。



8. 以上分析中的IP地址位置信息来源:
http://www.google.com/ncr,美国谷歌
http://www.apnic.net/,亚太网络信息中心(Asia-Pacific Network Information Centre,APNIC)
http://www.ripe.net/,欧洲网络资源协调中心(RIPE Network Coordination Centre,RIPE NCC)
https://www.arin.net/,美洲互联网号码注册管理机构(American Registry for Internet Numbers,ARIN)
http://zh.wikipedia.org/,维基百科



9. 本文中直接用pathping也行,该路由跟踪命令结合了 ping 和 tracert 命令的功能,可提供这两个命令都无法提供附加信息。
但是,通常专业工程师并不喜欢集成化的工具,你看看电工就知道了。专业工程师更喜欢拥有大量功能单一的专用工具,然后自行组合使用。
以本文为例,第一步用ping检测后,如果不通用tracert,否则用telnet进行下一步测试。
而如果直接用pathping来检测,就必须等待很长时间,会有50%的可能性做了无用功。

我不喜欢pathping的最主要原因,它在快速执行完最多30跳的ICMP探测之后,会进行统计处理,需要三四百秒的时间,期间任何信息都不显示,让人很难判断是否需要提前用Ctrl+C来终止。
而tracert的信息在不断输出,能够随时终止,能节省时间。tracert比pathping的统计信息少一些,但这个通常不会影响判断,少就少了吧。

大家可以自行测试,作出自己的判断。在命令行状态,输入:pathping www.freescale.com


2011.8.7于西安

2011年8月4日星期四

20110804西安理工大学计算机学院嵌入式操作系统教学大纲

20110804西安理工大学计算机学院嵌入式操作系统教学大纲

国内地址:http://home.lupaworld.com/home-space-uid-15610-do-blog-id-238827.html
国外地址:http://xautofzx.blogspot.com/2011/08/20110804.html


本课程在2011年秋季学期第一次开设,计划由黑新红老师面向计算机专业和专升本,我(张翔老师)面向网络工程专业。但是由于网络专业的同学前三年比较勤奋,大部分人的学分已经快达到毕业要求了,致使选我的课程的人数太少,不足以开班。鉴于网络专业中感兴趣的人比较多,推荐去旁听黑新红老师的课程,我在《网络管理》课程上会有额外补充。




作为课程负责人,我制定的教学大纲全文如下,欢迎批评指正


嵌入式操作系统
Embedded Operating System

一、课程基本信息
学分:2                                        总学时:32学时
讲课学时:24学时                            上机学时:0学时
实验学时:8 学时                            课程A/B类归属:B类
课程代码:                                    开课学期:第七学期
先修课程:操作系统(09110070)

二、课程介绍及教学目的、教学要求
    “嵌入式操作系统”课程是嵌入式技术方向的一门专业课程,课程的定位是:以嵌入式操作系统为对象,使学生掌握基于嵌入式操作系统的应用系统的设计方法和基本能力,使学生成为在嵌入式计算机系统等技术领域从事技术和管理工作的高等应用型专业技术人才,掌握基于嵌入式操作系统的应用开发的基本能力。

三、本课程与其他有关课程的联系
    本课程的先修课程是《操作系统》,如能够先修《嵌入式系统结构》则能达到更好的学习效果。通过本课程的学习,学生可以加深对嵌入式原理的理解,提高嵌入式系统设计能力。

四、课程内容及课时分配
(一)课程内容
第1章 引言                            4页,加上Linux和嵌入式系统的基础知识复习,共1学时
    1.1 为什么使用Linux                        必讲
    1.2 嵌入式Linux现状                    需扩充
    1.3 开源和GPL                            重点,需扩充,增加版权法的知识
    1.4 标准和相关机构                        简单说一下
第2章 嵌入式初体验                    18页,2学时,讲慢一些,穿插最新动态,讲透
    2.1 需要嵌入式系统吗
    2.2 嵌入式系统剖析                        重点
    2.3 存储的思考                            重点
    2.4 嵌入式Linux的发行版                需扩充
第3章 处理器基础                    18页,1学时,增加产品实例
    3.1 单机处理器                            简介
    3.2 集成化处理器:片上系统                重点
    3.2.8 ARM                                    重点,需扩充
    3.2.9 TI ARM                                重点,增加实例
    3.2.10 Freescale ARM                        重点,增加实例
    3.2.12 其他ARM                                需扩充,增加实例
    3.3 硬件平台                            简介
第4章 Linux内核——不同视角        24页,2学时,若学生基础好,可压缩成1学时
    4.1 背景知识                            了解
    4.2 Linux内核构造                        重点
    4.3 内核构建系统                        重点,可压缩
    4.4 获取Linux内核                        了解
第5章 内核初始化                    22页,2学时,讲慢一些,讲清楚
    5.1 合成内核映像:piggy及其他            重点
    5.2 初始化控制流                        重点
    5.3 内核命令行处理                        简单讲解,不涉及代码
    5.4 子系统初始化                        简单讲解,不涉及代码
    5.5 init线程                            简单讲解,不涉及代码
第6章 系统初始化                    19页,1学时,没有难点
第7章 引导装入程序                    21页,2~3学时,u-boot的代码要认真分析,有配套实验
    7.1 引导装入程序的作用                    了解
    7.2 引导装入程序的挑战                    了解
    7.3 通用的引导装入程序:Das U-Boot        重点
    7.4 移植U-Boot                            重点,把原理讲清楚,代码简单讲解
    7.5 其他引导装入程序                    可选
第8章 设备驱动程序基础                19页,2~3学时,要认真分析源代码
    8.1 设备驱动程序基本概念                难点和重点
    8.2 模块实用程序                        每个命令需演示
    8.3 驱动程序方法                        可选
    8.4 汇总                                可选
    8.5 设备驱动程序与GPL                    必讲
第9章 文件系统                        23页,1学时,没有难点,有配套实验
    9.1 Linux文件系统的概念                    需扩充fdisk,cfdisk,sfdisk,Gparted等工具
    9.2 ext2文件系统                        重点
    9.3 ext3文件系统                        必讲
    9.4 ReiserFS文件系统                    了解
    9.5 JFFS2文件系统                        了解,在第十章详细介绍
    9.6 cramfs文件系统                        了解
    9.7 NFS文件系统                            重点
    9.8 伪文件系统                            重点
    9.9 其他文件系统                        可选
    9.10 构建简单的文件系统                    重点
第10章 MTD子系统                    18页,1学时,没有难点,可压缩
    10.1 启用MTD服务                        必讲
    10.2 MTD基础知识                        必讲,需扩充闪存的原理
    10.3 MTD分区                            了解
    10.4 MTD实用程序                        重点
第11章 BusyBox                            11页,1学时,简单讲解,可补充额外知识
第12章 嵌入式开发环境                    12页,1学时,没有难点,有配套实验
第13章 开发工具                        29页,1学时,没有难点,可压缩
第14章 内核调试技术                    46页,1学时,实践性强,没有难点
第15章 调试嵌入式Linux应用程序        15页,1学时,实践性强,没有难点
第16章 移植Linux                        16页,1学时,实践性强,没有难点
第17章 Linux与实时                        15页,1学时
附录                                    可选

(二)课时分配

课程内容    学时分配
第1章 引言    1学时
第2章 嵌入式初体验    2学时
第3章 处理器基础    1学时
第4章 Linux内核    2学时
第5章 内核初始化    2学时
第6章 系统初始化    1学时
第7章 引导装入程序    2~3学时
第8章 设备驱动程序基础    2~3学时
第9章 文件系统    1学时
第10章 MTD子系统    1学时
第11章 BusyBox    1学时
第12章 嵌入式开发环境    1学时
第13章 开发工具    1学时
第14章 内核调试技术    1学时
第15章 调试嵌入式Linux应用程序    1学时
第16章 移植Linux    1学时
第17章 Linux与实时    1学时
附录    可选
合计    24学时


五、实验环节内容
实验内容(可在以下项目中选取4个实验,每个实验2学时,共8学时):
1. 嵌入式操作系统开发环境实验,无嵌入式基础的同学可选
2. u-boot基础实验,实验指导书 6.1
3. u-boot文件系统实验(JFFS2/CRAMFS ),实验指导书 6.2
4. u-boot移植实验,实验指导书 6.3
5. Linux内核移植实验,实验指导书 7.1
6. Linux文件系统实验(JFFS2/CRAMFS/RAMDISK),实验指导书 7.2
7. Linux基本应用程序编写实验,实验指导书 7.3
8. Linux驱动程序编写实验,实验指导书 7.5


六、执行大纲应注意的问题
1、教学中应注重基本知识、基本理论和基本方法的讲授,注意精讲多练。
2、抓好实验及课程设计,重视学生实践能力的培养。
3、实验的目的在于培养学生运用实验方法研究机械的能力,要求学生亲自动手进行实验,并认真完成实验指导书上规定的要求。
4、大纲内章节的顺序和内容的安排仅供参考,教师可根据情况作适当的变动。


七、教材与参考书

1. 嵌入式Linux基础教程,哈利南(Christopher Hallinan) (作者), 华清远见嵌入式培训中心 (译者) ,人民邮电出版社; 第1版 (2009年11月1日),http://www.amazon.cn/gp/product/B002WJI7UM/

2. 嵌入式Linux应用程序开发标准教程(第2版),华清远见嵌入式培训中心 (作者),人民邮电出版社;第2版 (2009年4月1日),http://www.amazon.cn/gp/product/B0023B1PZ8/
3. 嵌入式Linux系统开发标准教程(第2版),华清远见嵌入式培训中心 (作者),人民邮电出版社; 第2版 (2009年3月1日),http://www.amazon.cn/gp/product/B001TV02OI/
4. 构建嵌入式LINUX系统(第2版),云川 (改编), 亚荷毛尔 (作者), 等 (作者), O'Reilly Taiwan公司 (译者),中国电力出版社; 第1版 (2011年1月1日),http://www.amazon.cn/gp/product/B004GFQKK4/
5. ARM Linux入门与实践:一个嵌入式爱好者的自学体验,程昌南 (作者), 方强 (作者) ,北京航空航天大学出版社; 第1版 (2008年10月1日),http://www.amazon.cn/gp/product/B001JJDQ0W/
6. ARM嵌入式Linux系统开发技术详解,杨水清 (作者), 张剑 (作者), 施云飞 (作者) ,电子工业出版社; 第1版 (2008年11月1日),http://www.amazon.cn/gp/product/B001NPDVHU/
7. ARM Cortex-A8嵌入式系统开发与实践:WinCE与Android平台,上海怡鼎信息科技有限公司 (作者), 倪旭翔, 计春雷,中国水利水电出版社(2011年1月1日),http://www.amazon.cn/gp/product/B004P63QXI/
8. Android系统级深入开发:移植与调试,韩超 (作者) ,电子工业出版社; 第1版 (2011年2月1日),http://www.amazon.cn/gp/product/B004J54TPO/
9. 嵌入式操作系统基础μC/OS-Ⅱ和Linux,任哲 潘树林 房红征编,北京:北京航空航天大学出版社,2006.8,http://www.amazon.cn/gp/product/B0011CBI98/
10. 嵌入式实时操作系统μC/OS-II(第2版),(美)Jean J.Labrosse编,邵贝贝译,北京:北京航空航天大学出版社,2007.9,http://www.amazon.cn/gp/product/B002Q0X3TC/
11. 嵌入式实时操作系统Small RTOS51原理及应用,陈明计,周立功,北京:北京航空航天大学出版社,2004.1,http://www.amazon.cn/gp/product/B0011AJOYG/
12. 嵌入式Linux应用开发完全手册,韦东山,北京:人民邮电出版社,2008.8,http://www.amazon.cn/gp/product/B001DCEA46/