收藏 分享(赏)

一个系统软件工程师的方法论-弯曲评论.ppt

上传人:tangtianxu1 文档编号:3485255 上传时间:2018-11-04 格式:PPT 页数:40 大小:473.50KB
下载 相关 举报
一个系统软件工程师的方法论-弯曲评论.ppt_第1页
第1页 / 共40页
一个系统软件工程师的方法论-弯曲评论.ppt_第2页
第2页 / 共40页
一个系统软件工程师的方法论-弯曲评论.ppt_第3页
第3页 / 共40页
一个系统软件工程师的方法论-弯曲评论.ppt_第4页
第4页 / 共40页
一个系统软件工程师的方法论-弯曲评论.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、Nov-18,1,一个系统软件工程师的方法论 -A System Software Engineers Methodology,陈怀临,创办人 弯曲评论 ,Nov-18,2,弯曲评论 系统软件 知识结构 工作方法 系统理解 工业动态 结束寄语,提纲,Nov-18,3,目标:非盈利性智库机构 领域: 科技跟踪 专题分析 人物报道 学术打假,弯曲评论( ),Nov-18,4,最近工作总结: 专题分析 对中国系统软件的思考与建议 对华为系统软件的战略思考(上) 对华为系统软件的战略思考(下) 对陆首群“坚持开源软件的创新之路”一文的讨论 对国防科大麒麟操作系统研发的思考 中国计算机发展史略(195

2、6-2006),弯曲评论( ),Nov-18,5,最近工作总结: 学术打假:IPV9批判 IPv9,中国的创新,还是骗子的杰作? 如果中国少几个张庆松写在张庆松力挺IPv9之后 科技问题政治化和狐假虎威的范例 阳光下的争辩IPv9是什么 没有知识你可以有常识,没有学问你应该有疑问再驳张庆松博士 大家快来看上帝啊IPv9的一些技术细节 揭开IPV9的神秘面纱“IPv9”公开信息统计 谢建平先生到底拥有哪些“IPv9”专利?,弯曲评论( ),Nov-18,6,最近工作总结: 科技书籍: PowerPC and Linux Kernel Inside Linux 核 心(The Linux Ke

3、rnel)(下) Linux 核 心(The Linux Kernel)(中) Linux 核 心(The Linux Kernel)(上) MIPS CPU 体系结构概述,Linux/MIPS内核(下) MIPS CPU 体系结构概述,Linux/MIPS内核(上) See MIPS Run,弯曲评论( ),Nov-18,7,最近工作总结: 人物评述: 邓稼先传 海外学人 计算的美丽-图灵奖的第一个四十年(上) 计算的美丽-图灵奖的第一个四十年(下),弯曲评论( ),Nov-18,8,操作系统 桌面操作系统 服务器操作系统 嵌入式操作系统 编译器与工具链(gcc, binutil, gd

4、b) 编程环境,中间件 PVM,MPI,OpenMP Mapreduce,Hadoop CORBA,DCOM,系统软件,Nov-18,9, 嵌入式操作系统 -传统分时系统:Linux,FreeBSD -微内核: QNX/Neutrino, L4,Mach -大型通信操作系统:华为/VRP,思科/IOS、IOX,系统软件,Nov-18,10, 系统软件工程师 系统开发的关键成员 系统调试的关键成员 系统维护的关键成员 系统升级的关键成员,知识结构,Nov-18,11, 形而下 掌握一种CPU的结构 熟练掌握汇编语言和相应的调试方法 熟练掌握C语言和相应的调试方法,知识结构,Nov-18,12,

5、形而下 深刻理解经典操作系统原理 -调度,内存管理,通信,同步,锁 深刻理解一个进程空间的分布,知识结构,Nov-18,13, 形而上 了解一种CPU/NP/SoC的微结构 了解多种流行CPU、NP的结构 - MIPS,ARM、XScale - IA32,PowerPC - XLR,Cavium - AMD,知识结构,Nov-18,14, 形而上 熟悉一种总线或连接(Interconnect) 了解多种流行总线或连接 MPX,603, HT,CSI PCI,PCI-E, RapidIO,知识结构,Nov-18,15, 形而上 熟悉一款OS子系统实现机制 熟悉一款OS内核开发环境 了解各种OS优

6、缺点和映射关系,知识结构,Nov-18,16, 形而上 熟悉协议栈 阅读RFC,知识结构,Nov-18,17, 形而上 熟悉经典数据结构算法 熟悉排队论系统(Queue System) 基本算法复杂性分析能力,知识结构,Nov-18,18, 形而上 跟踪工业界研发动态 阅读经典学术文献,知识结构,Nov-18,19,谨慎,谦虚 不生气 “当你认为再也没有bug的时候,至少还有一个没有发现的bug” “你最担心的地方,也就是你要犯错的地方!” 系统层次的bug是致命的。 任何一行系统代码都是重要的。,工作方法,Nov-18,20,调试硬件开发板工作方法: -阅读硬件规约第一遍的仔细与精确性 -撰

7、写调试日志的工作习惯 -建立Baseline的重要性 -步步为营和可追溯性。,工作方法,Nov-18,21,调试硬件开发板工作方法: -与厂商技术支持交互 -不要相信开发板和硬件工程师 -如果出现过(一个错误),一定会再出现,工作方法,Nov-18,22,系统研发工作方法: -简单就是美;实用才是王道! -次优算法;解决问题;把最优算法留给教授。 -策略与机制的分离! -不要从新发明;不要当民科! -最好的老师是,工作方法,Nov-18,23,系统研发工作方法: -控制平面 -数据平面 -管理平面 -调试平面,工作方法,Nov-18,24,系统联调工作方法: -概念清晰,层次感强:Divide

8、 and Conquer -集成复杂性 -放弃侥幸心理,工作方法,Nov-18,25,系统测试和联调工作方法: 简单bug的调试方法(可重复的) -LED点灯调硬件板 -printf的使用 -子系统Loopback调试,工作方法,Nov-18,26,系统测试和联调工作方法: 复杂bug的调试方法(非常难重复的) -bug的表象原理 -bug的累积原理 -功力(基础)有多深;就能走多远。,工作方法,Nov-18,27,系统测试和联调工作方法: 复杂bug的调试方法(非常难重复的) -最复杂的bug是概念不清而引入的bug -最头痛的bug是memory corruption,工作方法,Nov-1

9、8,28,系统测试和联调工作方法: 科学攻关 vs 工业研发 -不要轻易放弃 -不是做研究,发文章。 -patch的使用;度的掌握,工作方法,Nov-18,29,系统可扩展性和升级研发方法: - 硬件计算能力的翻倍 !=系统性能的翻倍! -瓶颈通常是通信开销,总线开销。 -坚持系统改良的道路;不要做激烈革命者,工作方法,Nov-18,30,系统可扩展性和升级研发方法: - “You cant control it, if you cant measure a system -基于可量化的科研方法。,工作方法,Nov-18,31,如何与客户打交道: -已经是网络工程师搞不定的bug -稳住客户

10、-不要轻易下结论 -解决方案或者补丁patch. -一个Best Efforts的技术解释。,工作方法,Nov-18,32, 系统(System)与核心(Kernel)的关系 计算单元的多样化(ASIC,FPGA,CPU,NP) 互连网络的多样化(Bus,Interconnect),系统理解,Nov-18,33,工业动态, 多核系统的持续应用 微观分布式并行计算系统,Nov-18,34,工业动态,Nov-18,35,Nov-18,36,Nov-18,37,Centralized Shared Memory Multiprocessor,Interconnection Network,Main

11、Memory,I/O System,High-end Internet Appliance Architecture,Nov-18,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,Nov-18,39,Cluster Interconnection Network,Distributed Shared Memory (Clusters of SMPs) Typically: Shared Address Space with ccNUMA,High-end Internet Appliance Architecture,Nov-18,40,结束语,谢谢大家! 欢迎访问弯曲评论 ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报