一个系统软件工程师的方法论-弯曲评论.ppt_第1页
一个系统软件工程师的方法论-弯曲评论.ppt_第2页
一个系统软件工程师的方法论-弯曲评论.ppt_第3页
一个系统软件工程师的方法论-弯曲评论.ppt_第4页
一个系统软件工程师的方法论-弯曲评论.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Jun-19,1,一个系统软件工程师的方法论 -A System Software Engineers Methodology,陈怀临,创办人 弯曲评论 ,Jun-19,2,弯曲评论 系统软件 知识结构 工作方法 系统理解 工业动态 结束寄语,提纲,Jun-19,3,目标:非盈利性智库机构 领域: 科技跟踪 专题分析 人物报道 学术打假,弯曲评论( ),Jun-19,4,最近工作总结: 专题分析 对中国系统软件的思考与建议 对华为系统软件的战略思考(上) 对华为系统软件的战略思考(下) 对陆首群“坚持开源软件的创新之路”一文的讨论 对国防科大麒麟操作系统研发的思考 中国计算机发展史略(1956-2006),弯曲评论( ),Jun-19,5,最近工作总结: 学术打假:IPV9批判 IPv9,中国的创新,还是骗子的杰作? 如果中国少几个张庆松写在张庆松力挺IPv9之后 科技问题政治化和狐假虎威的范例 阳光下的争辩IPv9是什么 没有知识你可以有常识,没有学问你应该有疑问再驳张庆松博士 大家快来看上帝啊IPv9的一些技术细节 揭开IPV9的神秘面纱“IPv9”公开信息统计 谢建平先生到底拥有哪些“IPv9”专利?,弯曲评论( ),Jun-19,6,最近工作总结: 科技书籍: PowerPC and Linux Kernel Inside Linux 核 心(The Linux Kernel)(下) Linux 核 心(The Linux Kernel)(中) Linux 核 心(The Linux Kernel)(上) MIPS CPU 体系结构概述,Linux/MIPS内核(下) MIPS CPU 体系结构概述,Linux/MIPS内核(上) See MIPS Run,弯曲评论( ),Jun-19,7,最近工作总结: 人物评述: 邓稼先传 海外学人 计算的美丽-图灵奖的第一个四十年(上) 计算的美丽-图灵奖的第一个四十年(下),弯曲评论( ),Jun-19,8,操作系统 桌面操作系统 服务器操作系统 嵌入式操作系统 编译器与工具链(gcc, binutil, gdb) 编程环境,中间件 PVM,MPI,OpenMP Mapreduce,Hadoop CORBA,DCOM,系统软件,Jun-19,9, 嵌入式操作系统 -传统分时系统:Linux,FreeBSD -微内核: QNX/Neutrino, L4,Mach -大型通信操作系统:华为/VRP,思科/IOS、IOX,系统软件,Jun-19,10, 系统软件工程师 系统开发的关键成员 系统调试的关键成员 系统维护的关键成员 系统升级的关键成员,知识结构,Jun-19,11, 形而下 掌握一种CPU的结构 熟练掌握汇编语言和相应的调试方法 熟练掌握C语言和相应的调试方法,知识结构,Jun-19,12, 形而下 深刻理解经典操作系统原理 -调度,内存管理,通信,同步,锁 深刻理解一个进程空间的分布,知识结构,Jun-19,13, 形而上 了解一种CPU/NP/SoC的微结构 了解多种流行CPU、NP的结构 - MIPS,ARM、XScale - IA32,PowerPC - XLR,Cavium - AMD,知识结构,Jun-19,14, 形而上 熟悉一种总线或连接(Interconnect) 了解多种流行总线或连接 MPX,603, HT,CSI PCI,PCI-E, RapidIO,知识结构,Jun-19,15, 形而上 熟悉一款OS子系统实现机制 熟悉一款OS内核开发环境 了解各种OS优缺点和映射关系,知识结构,Jun-19,16, 形而上 熟悉协议栈 阅读RFC,知识结构,Jun-19,17, 形而上 熟悉经典数据结构算法 熟悉排队论系统(Queue System) 基本算法复杂性分析能力,知识结构,Jun-19,18, 形而上 跟踪工业界研发动态 阅读经典学术文献,知识结构,Jun-19,19,谨慎,谦虚 不生气 “当你认为再也没有bug的时候,至少还有一个没有发现的bug” “你最担心的地方,也就是你要犯错的地方!” 系统层次的bug是致命的。 任何一行系统代码都是重要的。,工作方法,Jun-19,20,调试硬件开发板工作方法: -阅读硬件规约第一遍的仔细与精确性 -撰写调试日志的工作习惯 -建立Baseline的重要性 -步步为营和可追溯性。,工作方法,Jun-19,21,调试硬件开发板工作方法: -与厂商技术支持交互 -不要相信开发板和硬件工程师 -如果出现过(一个错误),一定会再出现,工作方法,Jun-19,22,系统研发工作方法: -简单就是美;实用才是王道! -次优算法;解决问题;把最优算法留给教授。 -策略与机制的分离! -不要从新发明;不要当民科! -最好的老师是,工作方法,Jun-19,23,系统研发工作方法: -控制平面 -数据平面 -管理平面 -调试平面,工作方法,Jun-19,24,系统联调工作方法: -概念清晰,层次感强:Divide and Conquer -集成复杂性 -放弃侥幸心理,工作方法,Jun-19,25,系统测试和联调工作方法: 简单bug的调试方法(可重复的) -LED点灯调硬件板 -printf的使用 -子系统Loopback调试,工作方法,Jun-19,26,系统测试和联调工作方法: 复杂bug的调试方法(非常难重复的) -bug的表象原理 -bug的累积原理 -功力(基础)有多深;就能走多远。,工作方法,Jun-19,27,系统测试和联调工作方法: 复杂bug的调试方法(非常难重复的) -最复杂的bug是概念不清而引入的bug -最头痛的bug是memory corruption,工作方法,Jun-19,28,系统测试和联调工作方法: 科学攻关 vs 工业研发 -不要轻易放弃 -不是做研究,发文章。 -patch的使用;度的掌握,工作方法,Jun-19,29,系统可扩展性和升级研发方法: - 硬件计算能力的翻倍 !=系统性能的翻倍! -瓶颈通常是通信开销,总线开销。 -坚持系统改良的道路;不要做激烈革命者,工作方法,Jun-19,30,系统可扩展性和升级研发方法: - “You cant control it, if you cant measure a system -基于可量化的科研方法。,工作方法,Jun-19,31,如何与客户打交道: -已经是网络工程师搞不定的bug -稳住客户 -不要轻易下结论 -解决方案或者补丁patch. -一个Best Efforts的技术解释。,工作方法,Jun-19,32, 系统(System)与核心(Kernel)的关系 计算单元的多样化(ASIC,FPGA,CPU,NP) 互连网络的多样化(Bus,Interconnect),系统理解,Jun-19,33,工业动态, 多核系统的持续应用 微观分布式并行计算系统,Jun-19,34,工业动态,Jun-19,35,Jun-19,36,Jun-19,37,Centralized Shared Memory Multiprocessor,Interconnection Network,Main Memory,I/O System,High-end Internet Appliance Architecture,Jun-19,38,High-end Internet Appliance Architecture,Interconnection Network,Caches,Memory,I/O,Caches,Memory,I/O,Caches,Memory,I/O,Non-Uniform Memory Access (NUMA): Accessing local memory is faster than accessing remote memory,Processor,Processor,Processor,Jun-19,39,Cluster Interconnection N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论