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

下载本文档

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

文档简介

一个系统软件工程师的方法论

-ASystemSoftwareEngineer’sMethodology

陈怀临,创办人《弯曲评论》1

一个系统软件工程师的方法论

-ASystemSo

×《弯曲评论》

×系统软件

×知识结构

×工作方法

×系统理解

×工业动态

×结束寄语提纲2

×《弯曲评论》

×系统软件

×知识结构

×工

×目标:非盈利性智库机构

×领域:

×科技跟踪

×专题分析

×人物报道

×学术打假

《弯曲评论》(

)3

×目标:非盈利性智库机构

×领域:

×科技跟踪

最近工作总结:

×专题分析

《对中国系统软件的思考与建议》

《对华为系统软件的战略思考(上)》

《对华为系统软件的战略思考(下)》

《对陆首群“坚持开源软件的创新之路”一文的讨论》

《对国防科大麒麟操作系统研发的思考》

《中国计算机发展史略(1956-2006)》

《弯曲评论》(

)4

最近工作总结:

×专题分析

《对中国系统软件的思

最近工作总结:

×学术打假:IPV9批判

IPv9,中国的创新,还是骗子的杰作?

如果中国少几个张庆松——写在张庆松力挺IPv9之后

科技问题政治化和狐假虎威的范例

阳光下的争辩——IPv9是什么

没有知识你可以有常识,没有学问你应该有疑问——再驳张庆松博士

大家快来看上帝啊——IPv9的一些技术细节

揭开IPV9的神秘面纱–“IPv9”公开信息统计

谢建平先生到底拥有哪些“IPv9”专利?《弯曲评论》(

)5

最近工作总结:

×学术打假:IPV9批判

IPv9

最近工作总结:

×科技书籍:

《PowerPCandLinuxKernelInside》

《Linux核心》(TheLinuxKernel)(下)

《Linux核心》(TheLinuxKernel)(中)

《Linux核心》(TheLinuxKernel)(上)

《MIPSCPU体系结构概述,Linux/MIPS内核》(下)

《MIPSCPU体系结构概述,Linux/MIPS内核》(上)

《SeeMIPSRun》

《弯曲评论》(

)6

最近工作总结:

×科技书籍:

《PowerPC

最近工作总结:

×人物评述:

《邓稼先传》

《海外学人》

《计算的美丽-图灵奖的第一个四十年》(上)

《计算的美丽-图灵奖的第一个四十年》(下)《弯曲评论》(

)7

最近工作总结:

×人物评述:

《邓稼先传》

×操作系统

×桌面操作系统

×服务器操作系统

×嵌入式操作系统

×编译器与工具链(gcc,binutil,gdb…)

×编程环境,中间件

×PVM,MPI,OpenMP

×Mapreduce,Hadoop

×CORBA,DCOM

系统软件8

×操作系统

×桌面操作系统

×服务器操作系统

×嵌入

×嵌入式操作系统

-传统分时系统:Linux,FreeBSD

-微内核:QNX/Neutrino,L4,Mach

-大型通信操作系统:华为/VRP,思科/IOS、IOX

系统软件9

×嵌入式操作系统

-传统分时系统:Linux,Fre

×系统软件工程师

×系统开发的关键成员

×系统调试的关键成员

×系统维护的关键成员

×系统升级的关键成员知识结构10

×系统软件工程师

×系统开发的关键成员

×系

×形而下

×掌握一种CPU的结构

×熟练掌握汇编语言和相应的调试方法

×熟练掌握C语言和相应的调试方法知识结构11

×形而下

×掌握一种CPU的结构

×熟练掌

×形而下

×深刻理解经典操作系统原理

-调度,内存管理,通信,同步,锁

×深刻理解一个进程空间的分布

知识结构12

×形而下

×深刻理解经典操作系统原理

-调度

×形而上

×了解一种CPU/NP/SoC的微结构

×了解多种流行CPU、NP的结构

-MIPS,ARM、XScale

-IA32,PowerPC

-XLR,Cavium

-AMD

知识结构13

×形而上

×了解一种CPU/NP/SoC的微结构

×形而上

×熟悉一种总线或连接(Interconnect)

×了解多种流行总线或连接

×MPX,603,

×HT,CSI

×PCI,PCI-E,RapidIO

知识结构14

×形而上

×熟悉一种总线或连接(Intercon

×形而上

×熟悉一款OS子系统实现机制

×熟悉一款OS内核开发环境

×了解各种OS优缺点和映射关系

知识结构15

×形而上

×熟悉一款OS子系统实现机制

×形而上

×熟悉协议栈

×阅读RFC

知识结构16

×形而上

×熟悉协议栈

×阅读RF

×形而上

×熟悉经典数据结构算法

×熟悉排队论系统(QueueSystem)

×基本算法复杂性分析能力

知识结构17

×形而上

×熟悉经典数据结构算法

×

×形而上

×跟踪工业界研发动态

×阅读经典学术文献

知识结构18

×形而上

×跟踪工业界研发动态

××谨慎,谦虚

×不生气

ד当你认为再也没有bug的时候,至少还有一个没有发现的bug”

ד你最担心的地方,也就是你要犯错的地方!”

×系统层次的bug是致命的。

×任何一行系统代码都是重要的。工作方法19×谨慎,谦虚

×不生气

ד当你认为再也没有bug的时候×调试硬件开发板工作方法:

-阅读硬件规约第一遍的仔细与精确性

-撰写调试日志的工作习惯

-建立Baseline的重要性

-步步为营和可追溯性。

工作方法20×调试硬件开发板工作方法:

-阅读硬件规约第一遍的仔×调试硬件开发板工作方法:

-与厂商技术支持交互

-不要相信开发板和硬件工程师

-如果出现过(一个错误),一定会再出现

工作方法21×调试硬件开发板工作方法:

-与厂商技术支持交互

×系统研发工作方法:

-简单就是美;实用才是王道!

-次优算法;解决问题;把最优算法留给教授。

-策略与机制的分离!

-不要从新发明;不要当民科!

-最好的老师是工作方法22×系统研发工作方法:

-简单就是美;实用才是王道!

×系统研发工作方法:

-控制平面

-数据平面

-管理平面

-调试平面工作方法23×系统研发工作方法:

-控制平面

-数据平面

-×系统联调工作方法:

-概念清晰,层次感强:DivideandConquer

-集成复杂性

-放弃侥幸心理

工作方法24×系统联调工作方法:

-概念清晰,层次感强:Divide×系统测试和联调工作方法:

×简单bug的调试方法(可重复的)

-LED点灯调硬件板

-printf的使用

-子系统Loopback调试

工作方法25×系统测试和联调工作方法:

×简单bug的调试方法(可重×系统测试和联调工作方法:

×复杂bug的调试方法(非常难重复的)

-bug的表象原理

-bug的累积原理

-功力(基础)有多深;就能走多远。

工作方法26×系统测试和联调工作方法:

×复杂bug的调试方法(非×系统测试和联调工作方法:

×复杂bug的调试方法(非常难重复的)

-最复杂的bug是概念不清而引入的bug

-最头痛的bug是memorycorruption

工作方法27×系统测试和联调工作方法:

×复杂bug的调试方法(非×系统测试和联调工作方法:

×科学攻关vs工业研发

--不要轻易放弃

--不是做研究,发文章。

--patch的使用;度的掌握

工作方法28×系统测试和联调工作方法:

×科学攻关vs工业×系统可扩展性和升级研发方法:

-硬件计算能力的翻倍!=系统性能的翻倍!

-瓶颈通常是通信开销,总线开销。

-坚持系统改良的道路;不要做激烈革命者 工作方法29×系统可扩展性和升级研发方法:

-硬件计算能力的翻倍×系统可扩展性和升级研发方法:

-“Youcan’tcontrolit,ifyoucan’tmeasureasystem

-基于可量化的科研方法。工作方法30×系统可扩展性和升级研发方法:

-“Youcan’t×如何与客户打交道:

-已经是网络工程师搞不定的bug

-稳住客户

-不要轻易下结论

-解决方案或者补丁patch.

-一个BestEfforts的技术解释。工作方法31×如何与客户打交道:

-已经是网络工程师搞不定的bug

×系统(System)与核心(Kernel)的关系

×计算单元的多样化(ASIC,FPGA,CPU,NP)

×互连网络的多样化(Bus,Interconnect)

系统理解32×系统(System)与核心(Kernel)的关系

×计工业动态×多核系统的持续应用

×微观分布式并行计算系统33工业动态×多核系统的持续应用

×微观分布式并行计算系统工业动态34工业动态3435353636CentralizedSharedMemoryMultiprocessorInterconnectionNetworkProcessorCachesMainMemoryI/OSystemProcessorCachesProcessorCachesProcessorCachesHigh-endInternetApplianceArchitecture37CentralizedSharedMemoryMultHigh-endInternetApplianceArchitectureInterconnectionNetworkCachesMemoryI/OCachesMemoryI/OCachesMemoryI/ONon-UniformMemoryAccess(NUMA):AccessinglocalmemoryisfasterthanaccessingremotememoryProcessorProcessorProcessor38High-endInternetApplianceArClusterInterconnectionNetworkMemoryI/OProc.CachesNodeInterc.NetworkProc.CachesProc.CachesMemoryI/OProc.CachesNodeInterc.NetworkProc.CachesProc.CachesDistributedSharedMemory(ClustersofSMPs)Typically:SharedAddressSpacewithccNUMAHigh-endInternetApplianceArchitecture39ClusterInterconnectionNetwor结束语谢谢大家!

欢迎访问弯曲评论

40结束语谢谢大家!

欢迎访问弯曲评论

www.tektalk

一个系统软件工程师的方法论

-ASystemSoftwareEngineer’sMethodology

陈怀临,创办人《弯曲评论》41

一个系统软件工程师的方法论

-ASystemSo

×《弯曲评论》

×系统软件

×知识结构

×工作方法

×系统理解

×工业动态

×结束寄语提纲42

×《弯曲评论》

×系统软件

×知识结构

×工

×目标:非盈利性智库机构

×领域:

×科技跟踪

×专题分析

×人物报道

×学术打假

《弯曲评论》(

)43

×目标:非盈利性智库机构

×领域:

×科技跟踪

最近工作总结:

×专题分析

《对中国系统软件的思考与建议》

《对华为系统软件的战略思考(上)》

《对华为系统软件的战略思考(下)》

《对陆首群“坚持开源软件的创新之路”一文的讨论》

《对国防科大麒麟操作系统研发的思考》

《中国计算机发展史略(1956-2006)》

《弯曲评论》(

)44

最近工作总结:

×专题分析

《对中国系统软件的思

最近工作总结:

×学术打假:IPV9批判

IPv9,中国的创新,还是骗子的杰作?

如果中国少几个张庆松——写在张庆松力挺IPv9之后

科技问题政治化和狐假虎威的范例

阳光下的争辩——IPv9是什么

没有知识你可以有常识,没有学问你应该有疑问——再驳张庆松博士

大家快来看上帝啊——IPv9的一些技术细节

揭开IPV9的神秘面纱–“IPv9”公开信息统计

谢建平先生到底拥有哪些“IPv9”专利?《弯曲评论》(

)45

最近工作总结:

×学术打假:IPV9批判

IPv9

最近工作总结:

×科技书籍:

《PowerPCandLinuxKernelInside》

《Linux核心》(TheLinuxKernel)(下)

《Linux核心》(TheLinuxKernel)(中)

《Linux核心》(TheLinuxKernel)(上)

《MIPSCPU体系结构概述,Linux/MIPS内核》(下)

《MIPSCPU体系结构概述,Linux/MIPS内核》(上)

《SeeMIPSRun》

《弯曲评论》(

)46

最近工作总结:

×科技书籍:

《PowerPC

最近工作总结:

×人物评述:

《邓稼先传》

《海外学人》

《计算的美丽-图灵奖的第一个四十年》(上)

《计算的美丽-图灵奖的第一个四十年》(下)《弯曲评论》(

)47

最近工作总结:

×人物评述:

《邓稼先传》

×操作系统

×桌面操作系统

×服务器操作系统

×嵌入式操作系统

×编译器与工具链(gcc,binutil,gdb…)

×编程环境,中间件

×PVM,MPI,OpenMP

×Mapreduce,Hadoop

×CORBA,DCOM

系统软件48

×操作系统

×桌面操作系统

×服务器操作系统

×嵌入

×嵌入式操作系统

-传统分时系统:Linux,FreeBSD

-微内核:QNX/Neutrino,L4,Mach

-大型通信操作系统:华为/VRP,思科/IOS、IOX

系统软件49

×嵌入式操作系统

-传统分时系统:Linux,Fre

×系统软件工程师

×系统开发的关键成员

×系统调试的关键成员

×系统维护的关键成员

×系统升级的关键成员知识结构50

×系统软件工程师

×系统开发的关键成员

×系

×形而下

×掌握一种CPU的结构

×熟练掌握汇编语言和相应的调试方法

×熟练掌握C语言和相应的调试方法知识结构51

×形而下

×掌握一种CPU的结构

×熟练掌

×形而下

×深刻理解经典操作系统原理

-调度,内存管理,通信,同步,锁

×深刻理解一个进程空间的分布

知识结构52

×形而下

×深刻理解经典操作系统原理

-调度

×形而上

×了解一种CPU/NP/SoC的微结构

×了解多种流行CPU、NP的结构

-MIPS,ARM、XScale

-IA32,PowerPC

-XLR,Cavium

-AMD

知识结构53

×形而上

×了解一种CPU/NP/SoC的微结构

×形而上

×熟悉一种总线或连接(Interconnect)

×了解多种流行总线或连接

×MPX,603,

×HT,CSI

×PCI,PCI-E,RapidIO

知识结构54

×形而上

×熟悉一种总线或连接(Intercon

×形而上

×熟悉一款OS子系统实现机制

×熟悉一款OS内核开发环境

×了解各种OS优缺点和映射关系

知识结构55

×形而上

×熟悉一款OS子系统实现机制

×形而上

×熟悉协议栈

×阅读RFC

知识结构56

×形而上

×熟悉协议栈

×阅读RF

×形而上

×熟悉经典数据结构算法

×熟悉排队论系统(QueueSystem)

×基本算法复杂性分析能力

知识结构57

×形而上

×熟悉经典数据结构算法

×

×形而上

×跟踪工业界研发动态

×阅读经典学术文献

知识结构58

×形而上

×跟踪工业界研发动态

××谨慎,谦虚

×不生气

ד当你认为再也没有bug的时候,至少还有一个没有发现的bug”

ד你最担心的地方,也就是你要犯错的地方!”

×系统层次的bug是致命的。

×任何一行系统代码都是重要的。工作方法59×谨慎,谦虚

×不生气

ד当你认为再也没有bug的时候×调试硬件开发板工作方法:

-阅读硬件规约第一遍的仔细与精确性

-撰写调试日志的工作习惯

-建立Baseline的重要性

-步步为营和可追溯性。

工作方法60×调试硬件开发板工作方法:

-阅读硬件规约第一遍的仔×调试硬件开发板工作方法:

-与厂商技术支持交互

-不要相信开发板和硬件工程师

-如果出现过(一个错误),一定会再出现

工作方法61×调试硬件开发板工作方法:

-与厂商技术支持交互

×系统研发工作方法:

-简单就是美;实用才是王道!

-次优算法;解决问题;把最优算法留给教授。

-策略与机制的分离!

-不要从新发明;不要当民科!

-最好的老师是工作方法62×系统研发工作方法:

-简单就是美;实用才是王道!

×系统研发工作方法:

-控制平面

-数据平面

-管理平面

-调试平面工作方法63×系统研发工作方法:

-控制平面

-数据平面

-×系统联调工作方法:

-概念清晰,层次感强:DivideandConquer

-集成复杂性

-放弃侥幸心理

工作方法64×系统联调工作方法:

-概念清晰,层次感强:Divide×系统测试和联调工作方法:

×简单bug的调试方法(可重复的)

-LED点灯调硬件板

-printf的使用

-子系统Loopback调试

工作方法65×系统测试和联调工作方法:

×简单bug的调试方法(可重×系统测试和联调工作方法:

×复杂bug的调试方法(非常难重复的)

-bug的表象原理

-bug的累积原理

-功力(基础)有多深;就能走多远。

工作方法66×系统测试和联调工作方法:

×复杂bug的调试方法(非×系统测试和联调工作方法:

×复杂bug的调试方法(非常难重复的)

-最复杂的bug是概念不清而引入的bug

-最头痛的bug是memorycorruption

工作方法67×系统测试和联调工作方法:

×复杂bug的调试方法(非×系统测试和联调工作方法:

×科学攻关vs工业研发

--不要轻易放弃

--不是做研究,发文章。

--patch的使用;度的掌握

工作方法68×系统测试和联调工作方法:

×科学攻关vs工业×系统可扩展性和升级研发方法:

-硬件计算能力的翻倍!=系统性能的翻倍!

-瓶颈通常是通信开销,总线开销。

-坚持系统改良的道路;不要做激烈革命者 工作方法69×系统可扩展性和升级研发方法:

-硬件计算能力的翻倍×系统可扩展性和升级研发方法:

-“Youcan’tcontrolit,ifyoucan’tmeasureasystem

-基于可量化的科研方法。工作方法70×系统可扩展性和升级研发方法:

-“Youcan’t×如何与客户打交道:

-已经是网络工程师搞不定的bug

-稳住客户

-不要轻易下结论

-解决方案或者补丁patch.

-一个BestEfforts的技术解释。工作方法71×如何与客户打交道:

-已经是网络工程师搞不定的bug

×系统(System)与核心(K

温馨提示

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

评论

0/150

提交评论