您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 求职简历 > 一个系统软件工程师的方法论-弯曲评论
Jan-201一个系统软件工程师的方法论-ASystemSoftwareEngineer’sMethodology陈怀临,创办人《弯曲评论》×《弯曲评论》×系统软件×知识结构×工作方法×系统理解×工业动态×结束寄语提纲Jan-203×目标:非盈利性智库机构×领域:×科技跟踪×专题分析×人物报道×学术打假《弯曲评论》()Jan-204最近工作总结:×专题分析《对中国系统软件的思考与建议》《对华为系统软件的战略思考(上)》《对华为系统软件的战略思考(下)》《对陆首群“坚持开源软件的创新之路”一文的讨论》《对国防科大麒麟操作系统研发的思考》《中国计算机发展史略(1956-2006)》《弯曲评论》()Jan-205最近工作总结:×学术打假:IPV9批判IPv9,中国的创新,还是骗子的杰作?如果中国少几个张庆松——写在张庆松力挺IPv9之后科技问题政治化和狐假虎威的范例阳光下的争辩——IPv9是什么没有知识你可以有常识,没有学问你应该有疑问——再驳张庆松博士大家快来看上帝啊——IPv9的一些技术细节揭开IPV9的神秘面纱–“IPv9”公开信息统计谢建平先生到底拥有哪些“IPv9”专利?《弯曲评论》()Jan-206最近工作总结:×科技书籍:《PowerPCandLinuxKernelInside》《Linux核心》(TheLinuxKernel)(下)《Linux核心》(TheLinuxKernel)(中)《Linux核心》(TheLinuxKernel)(上)《MIPSCPU体系结构概述,Linux/MIPS内核》(下)《MIPSCPU体系结构概述,Linux/MIPS内核》(上)《SeeMIPSRun》《弯曲评论》()Jan-207最近工作总结:×人物评述:《邓稼先传》《海外学人》《计算的美丽-图灵奖的第一个四十年》(上)《计算的美丽-图灵奖的第一个四十年》(下)《弯曲评论》()Jan-208×操作系统×桌面操作系统×服务器操作系统×嵌入式操作系统×编译器与工具链(gcc,binutil,gdb…)×编程环境,中间件×PVM,MPI,OpenMP×Mapreduce,Hadoop×CORBA,DCOM系统软件Jan-209×嵌入式操作系统-传统分时系统:Linux,FreeBSD-微内核:QNX/Neutrino,L4,Mach-大型通信操作系统:华为/VRP,思科/IOS、IOX系统软件Jan-2010×系统软件工程师×系统开发的关键成员×系统调试的关键成员×系统维护的关键成员×系统升级的关键成员知识结构Jan-2011×形而下×掌握一种CPU的结构×熟练掌握汇编语言和相应的调试方法×熟练掌握C语言和相应的调试方法知识结构Jan-2012×形而下×深刻理解经典操作系统原理-调度,内存管理,通信,同步,锁×深刻理解一个进程空间的分布知识结构Jan-2013×形而上×了解一种CPU/NP/SoC的微结构×了解多种流行CPU、NP的结构-MIPS,ARM、XScale-IA32,PowerPC-XLR,Cavium-AMD知识结构Jan-2014×形而上×熟悉一种总线或连接(Interconnect)×了解多种流行总线或连接×MPX,603,×HT,CSI×PCI,PCI-E,RapidIO知识结构Jan-2015×形而上×熟悉一款OS子系统实现机制×熟悉一款OS内核开发环境×了解各种OS优缺点和映射关系知识结构Jan-2016×形而上×熟悉协议栈×阅读RFC知识结构Jan-2017×形而上×熟悉经典数据结构算法×熟悉排队论系统(QueueSystem)×基本算法复杂性分析能力知识结构Jan-2018×形而上×跟踪工业界研发动态×阅读经典学术文献知识结构Jan-2019×谨慎,谦虚×不生气ד当你认为再也没有bug的时候,至少还有一个没有发现的bug”ד你最担心的地方,也就是你要犯错的地方!”×系统层次的bug是致命的。×任何一行系统代码都是重要的。工作方法Jan-2020×调试硬件开发板工作方法:-阅读硬件规约第一遍的仔细与精确性-撰写调试日志的工作习惯-建立Baseline的重要性-步步为营和可追溯性。工作方法Jan-2021×调试硬件开发板工作方法:-与厂商技术支持交互-不要相信开发板和硬件工程师-如果出现过(一个错误),一定会再出现工作方法Jan-2022×系统研发工作方法:-简单就是美;实用才是王道!-次优算法;解决问题;把最优算法留给教授。-策略与机制的分离!-不要从新发明;不要当民科!-最好的老师是×系统研发工作方法:-控制平面-数据平面-管理平面-调试平面工作方法Jan-2024×系统联调工作方法:-概念清晰,层次感强:DivideandConquer-集成复杂性-放弃侥幸心理工作方法Jan-2025×系统测试和联调工作方法:×简单bug的调试方法(可重复的)-LED点灯调硬件板-printf的使用-子系统Loopback调试工作方法Jan-2026×系统测试和联调工作方法:×复杂bug的调试方法(非常难重复的)-bug的表象原理-bug的累积原理-功力(基础)有多深;就能走多远。工作方法Jan-2027×系统测试和联调工作方法:×复杂bug的调试方法(非常难重复的)-最复杂的bug是概念不清而引入的bug-最头痛的bug是memorycorruption工作方法Jan-2028×系统测试和联调工作方法:×科学攻关vs工业研发--不要轻易放弃--不是做研究,发文章。--patch的使用;度的掌握工作方法Jan-2029×系统可扩展性和升级研发方法:-硬件计算能力的翻倍!=系统性能的翻倍!-瓶颈通常是通信开销,总线开销。-坚持系统改良的道路;不要做激烈革命者工作方法Jan-2030×系统可扩展性和升级研发方法:-“Youcan’tcontrolit,ifyoucan’tmeasureasystem-基于可量化的科研方法。工作方法Jan-2031×如何与客户打交道:-已经是网络工程师搞不定的bug-稳住客户-不要轻易下结论-解决方案或者补丁patch.-一个BestEfforts的技术解释。工作方法Jan-2032×系统(System)与核心(Kernel)的关系×计算单元的多样化(ASIC,FPGA,CPU,NP)×互连网络的多样化(Bus,Interconnect)系统理解Jan-2033工业动态×多核系统的持续应用×微观分布式并行计算系统Jan-2034工业动态Jan-2035Jan-2036Jan-2037CentralizedSharedMemoryMultiprocessorInterconnectionNetworkProcessorCachesMainMemoryI/OSystemProcessorCachesProcessorCachesProcessorCachesHigh-endInternetApplianceArchitectureJan-2038High-endInternetApplianceArchitectureInterconnectionNetworkCachesMemoryI/OCachesMemoryI/OCachesMemoryI/ONon-UniformMemoryAccess(NUMA):AccessinglocalmemoryisfasterthanaccessingremotememoryProcessorProcessorProcessorJan-2039ClusterInterconnectionNetworkMemoryI/OProc.CachesNodeInterc.NetworkProc.CachesProc.CachesMemoryI/OProc.CachesNodeInterc.NetworkProc.CachesProc.CachesDistributedSharedMemory(ClustersofSMPs)Typically:SharedAddressSpacewithccNUMAHigh-endInternetApplianceArchitectureJan-2040结束语谢谢大家!欢迎访问弯曲评论
本文标题:一个系统软件工程师的方法论-弯曲评论
链接地址:https://www.777doc.com/doc-3276848 .html