信息安全工程师教程学习笔记之电商系统安全需求分析

信息安全工程师 责任编辑:长颈鹿 2016-08-26

添加老师微信

备考咨询

加我微信

摘要:全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。官方教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之嵌入式系统软件开发,供大家参考学习。

   

      >>>>>信息安全工程师培训视频

      全国计算机技术与软件专业技术资格(水平)考试,这门新开的信息安全工程师分属该考试“信息系统”专业,位处中级资格。教材《信息安全工程师教程》及考试大纲于7月1日出版,希赛小编整理了信息安全工程师教程学习笔记之嵌入式系统软件开发,供大家参考学习。

      1)熟悉CPU。x86中存在实模式和保护模式,CPU一上电后进入的是实模式,要进入保护模式则需要做一定的设置,最后做一个长跳转,就能进入保护模式。对于这一处理器的熟悉和了解,使得我对于处理器有一个很好的认识。此外,还得明白什么是芯片组、PCI的原理和配置方法、SDRAM如何配置、IDE的PIO模式是如何工作的,等等。

      2)熟悉uC/OS RTOS并对其进行扩展。理解任务是如何实现的、任务是如何被调度的、Mutex和Semaphore是如何实现的、对处理器进行开关中断的目的是什么且要注意什么,等等。对于RTOS的扩展则包括实现了一个采用malloc/free进行内存分配的堆管理模块,这一管理模块是参照XINU操作系统来实现的;对任务调度部分进行修改以方便中断服务程序的管理。

      3)将MINUX操作系统的文件系统移植到我们的DVR上。MINUX中采用的就是UNIX中的i-node的方式来管理文件的,这种方式在现在的Linux中也能看到。由于MINUX的文件系统是针对小型存储设备的,所以对其代码要进行修改,以适应当时所采用的上G的硬盘。

      4)将XINU中的TCP协议栈移植到DVR上。我记得很清楚的是,当时对于TCP的滑动窗口的调试以及校验和的调试花了不少时间。

      可以说这一时期的工作,使得我对于操作系统的原理和实现非常的熟悉。还有,我在这一公司使用过了逻辑分析仪去分析总线信号以解决问题,这些都是非常好的经历,都有助于提升对计算机系统的理解。

      2003年我加入了UTStarcom,因为前一个项目的经历,当时进这一公司时觉得自己很牛。但很快我发现,嵌入式系统中还有很多是我要学的,我还嫩呢。比如:

      1)第一个挑战是处理器,当时用的是PowerPC8250。对于处理器,我花了不少时间去读相关的资料。总的加起来,其手册超过两千页,而且还是英文的。为了使得自己更加的熟悉这块处理器,我前前后后对这些资料完整的读了三四遍。

      2)当时采用的是RTEMS操作系统,这一系统就是一个类UNIX的操作系统,早期是美国军方使用的,后来变成了开源项目。在这一操作系统上的工作经历让我一下子意识到了自己的一个问题,那就是:以前的工作只是技术性的不具备系统性。比如,如何将一个操作系统作为一个系统将其设计得更好、驱动程序如何方便增加以及扩展,等等。这一切说到底是自己的设计能力还是不足。我花了很长的时间来研究RTEMS操作系统的实现,这对于提升自己的设计能力有很大的帮助。

      3)对于编译器和C语言的理解不深。比如什么是ABI(Application Binary Interface)后来知道Stack Frame和程序的调用栈的管理都与ABI有关系。

      有不少工程师的工作是写运行在RTOS之上的应用程序的,但他(她)其实根本不用接触硬件相关的知识、不用接触什么是中断、也不用考虑任务的优先级,对于这些工作我不认为是嵌入式开发,其实,说到底只是采用了新的一套API(即RTOS的相关函数)进行编程。嵌入式开发我认为至少要与硬件和RTOS打交道,对一操作系统的原理和实现很清楚。从我的角度来看,如果一个写驱动的人只知道驱动相关的内容,而对于操作系统的机理并不是很清楚,那也不能算是嵌入式系统开发,就是驱动开发。下面是我对于嵌入式系统开发的一些看法。

      1)嵌入式开发对于提升我们的系统知识有很大的帮助,尤其是操作系统的知识。嵌入式系统开发对于我们的知识面要求非常的广,且要有一定的深度。在做嵌入式开发之前,我是做Visual C++开发的,当我做过嵌入式开发后,我就能明白在Windows桌面上双击鼠标时,后台有什么事情发生了。比如,我能想到后面有一个Loader将文件加载到内存,并最终运行程序。虽然,没有做过嵌入式开发也能想到这一点,但能看到的深度是不同的。

      2)当我们对于操作系统的原理和实现非常熟悉后,嵌入式系统开发的工作相对简单。因为,操作系统的概念已经很成熟了,而现在的嵌入式系统就是将现代操作系统的技术运用到嵌入式系统。这里说的简单,主要是强调其需求相对的稳定、功能相对的单一。软件设计真正复杂是做应用,应用开发是我们真正能发挥设计能力的地方。

      3)嵌入式系统开发经验对于提升我们解决问题的能力有及大的帮助。因为我们系统性的知道了软件是如何被组织在CPU上运行的,这对于我们分析和解决问题很有意义,对于自己解决复杂问题的信心也很有帮助。

      4)具备一定的硬件知识对于嵌入式开发大有裨益。比如,我们要明白什么是片选,什么是3态,什么是I/O,如何看时序图等等。最好还得会使用相关仪器,比如示波器、逻辑分析仪。

      最后,我想说的是嵌入式系统开发一旦我们达到了一定的水平后,其实很简单,就是如何去看CPU和相关芯片的Datasheet!


    返回目录:信息安全工程师教程学习笔记之应用安全工程


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!