20145306《信息安全系统设计基础》课程总结

2024-01-11 03:30

本文主要是介绍20145306《信息安全系统设计基础》课程总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20145306《信息安全系统设计基础》课程总结

2014506《信息安全系统设计基础》课程总结

第0周总结

简要内容:使用虚拟机VirtualBox成功安装Linux系统,预习了Linux基础入门,阅读娄老师推荐的博客感想。

二维码:

第1周总结

简要内容:介绍了Linux操作系统,ubuntu下常用代码,核心的Linux命令,使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等。

二维码:

第2周总结

简要内容:

介绍了了Linux系统下的开发环境、vi的基本操作、gcc编译器的基本原理;介绍了gcc编译器的常用选项、如何使用gdb调试技术;介绍了静态库和动态库的生成与调用方法。

二维码:

第3周总结

简要内容:介绍了二进制在计算机中的重要地位、布尔运算在C语言中的应用;介绍了有符号整数、无符号整数、浮点数的表示;介绍了补码的重要性、C语言中溢出、数据类型转换中的陷阱和可能会导致的漏洞;介绍了“信息=位+上下文”。

二维码:

 

第4周博客

简要内容:使用makefile编译程序。

二维码:

第5周总结

简要内容:关于栈和栈帧。

二维码:

 

第6周总结

简要内容:了解ISA抽象。

二维码:

git代码组织

简要内容:将课程源码分章节存放在src文件夹中,include: 存放头文件bin:存放编译后的目标文件、可执行文件等;lib:存放项目所需的静态库、动态(共享)库res: 存放项目所需的图标、声音、图片等资源docs: 存放项目相关的参考资料、帮助文档如学习博客。bin和lib等编译生成的目录通过git ignore不提交到git。

二维码:

 

第7周总结

内容总结:介绍了常见的存储技术(RAM、ROM、磁盘、固态硬盘等),理解局部性原理和缓存思想,和高速缓存的原理,测试代码的局部性。

二维码:

(1)

(2)

期中总结

内容总结:对以前的每周随堂考试的错题进行总结,对前七周知识点的总结。

二维码:

 

 

第9周总结

简要内容:介绍了系统编程和系统调用的概念,学习Unix I/O。

二维码:

 

第四次实验 驱动程序设计

内容总结:掌握实时系统应用和驱动程序的编写,在模块化方式下进行驱动开发调试。

二维码:

第二次试验 固件开发

内容总结:读懂02_pthread、03_tty中的代码,配置实验环境完成实验指导书中的实验。

二维码:

第10周总结

简要内容:编写一个who命令,编写一个cp命令。

二维码:

第11周总结

简要内容::介绍了异常及其种类、进程的概念,进程创建和控制的系统调用及函数使用。

二维码:

第12周总结

复习前三周的知识,理解指针数组,数组指针,指针函数,函数指针概念。

二维码:

 

 第1次实验 开发环境的熟悉

简要内容:介绍了Linux开发环境和使用,使用Linux的arm编译,使用基于NFS方式的下载调试,以及嵌入式开发的基本过程,编译在arm开发板上运行打印学号的程序。

二维码:

 

第3次实验  实时系统的移植

内容简介:根据实验指导书进行实时软件的安装(ADS、GIVEIO驱动、JTAG驱动),配置实验环境并对软件进行测试,运行测试程序。

二维码:。

 

第5次实验  网络通信

内容简介:在arm开发板上实现一个简单web服务器的过程。

二维码:

第13周总结

简要内容:总结了教材第十一章《网络编程》,介绍了三种并发的方式:进程、线程、I/O多路复用。

二维码:

 

第14周总结

简要内容:虚拟存储器的概念和作用、地址翻译。

二维码:

 

gdb汇编堆栈调试

内容简介:gdb调试汇编堆栈分析。

二维码:

 

第十四周问题总结

内容简介:对同学们博客遇到的问题总结。

二维码:

 代码托管链接,二维码

https://github.com/besti145306/mnmnm

代码驱动的学习做到没有

   在前面几周的学习中遇到的代码,会读懂代码的大致的含义,再去运行。许多代码并不是可以编译运行就可以得到预期结果,需要对代码理解透彻。到了后面几周就没有读懂,编译运行代码。代码驱动学习这种方法我觉得是很有用的,在解决问题中学习知识。这种学习方式也帮助了我更好地去学习其他东西。

加点代码,改点代码是理解的最好方式,谈谈你的心得。

   在上学期末的计算机实习时,在编程完成题目要求的过程中,深切的体会到了修改别人的代码很难,也是学习理解编程语言的很好的方法,如果可以随意的修改代码改变其实现的功能,那么对这段代码的理解就很透彻了。

实践上有什么经验教训

  在课程学习后半部分,没有对代码进行研读,分析,导致学习课本很多地方不能理解。 应该多动手,多思考,遇到问题要积极主动的去寻求解决方法,要善于利用网上的学习资源,学习前人的经验。在解决问题的过程中给自己继续下去的动力。

回答一下第0周作业中自己提出的问题

1.计算机的组件怎么工作?

  计算机系统由硬件和软件组成。硬件包括中央处理机、存储器和外部设备等;软件是计算机的运行程序和相应的文档。计算机通过操作系统OS来控制硬件。CPU是一台计算机的运算核心和控制核心,存储器存储程序和程序所需的数据,输入输出设备我们一般统称I/O,用于连接计算机与外部设备。而这些组件需要总线和主板来连接。

2.计算机中存储的信息如何处理?

  计算机系统中的所有信息都是以二进制形式存储的。计算机系统规定了三种重要的编码方式:无符号编码、补码编码、浮点数编码。

3.计算机内c程序怎么编译。

  首先是预编译阶段,然后把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的 Object File合成执行文件,这个动作叫作链接(link)。

4.处理器怎么工作的?

   处理器由控制单元、存储单元、运算单元构成。CPU执行3种基本的操作:读出数据、处理数据和往内存写数据。CPU的工作就是处理存储在存储器中的信息。信息是按字节存储,这些信息可以是数据也可以是指令。指令告诉CPU对数据执行哪些操作,比如完成加法、减法或移位运算。

5.怎么优化程序?

  程序编写应该容易理解,有利于程序额的优化和维护,其次要除去程序中的步骤,修改繁琐冗余的代码,和科学的对变量进行命名。

 

6.存储器的层次结构。

       寄存器 ,高速缓存 ,主存储器,磁盘。上一级存储器作为下一级存储器的高速缓存。高速缓存是一个小而快速的存储设备,作为存储在更大、更慢的设备中的数据对象的缓冲区域。每一层存储器被划分成连续的数据对象片,称为块,每个块都有唯一的对象和名字。数据总是以块大小为传送单元在第k层和第k+1层之间来回拷贝。

7.一个程序要在计算机上运行的步骤。

    首先读取存储在硬盘程序和数据,加载在内存里面,即可执行命令,cpu从内存中读取执行指令。

8.怎么处理异常?

    异常分为四类:中断、陷阱、故障和终止。当处理器检测到有事件发生时,它就会通过一张叫做“异常表”的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的操作系统自程序(异常处理程序)。异常处理程序会做出以下三种反应:异常处理程序将控制返回给当前指令 ;返回给如果没有发生异常将会执行的下一条指令;处理程序终止中断的程序。

9.怎么有效管理存储器?

  对存储器进行有效的管理,直接影响着存储器的利用率和系统性能。

10.程序之间依靠什么进行交互和通信?

  在进程之间进行通信的最简单方法是通过文件,其中一个进程写文件,而另一个进程读文件。管道是Linux中最常见的IPC机制,管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。它实际上是在进程间开辟一个固定大小的缓冲区,需要发布信息的进程运行写操作,需要接收信息的进程运行读操作。管道是单向的字节流,它把一个进程的标准输出和另一个进程的标准输入连接在一起。发送进程和接受进程是通过管道进行通信的,因此又称为管道通信,就是数据沿着管道从左边流到了右边。

11.网络编程要用到的函数。

  • socket函数
  • connect函数
  • open_clientfd函数
  • bind函数
  • listen函数
  • open_listenfd函数
  • accept函数

12.什么是并发编程。

   并发编程是指在一台处理器上“同时”处理多个任务。并发编程的目标是充分的利用处理器,从而达到最高的处理性能。

你有什么项目被加分,谈谈你的经验

  加分的项目不多,优秀作业加分和扇贝打卡加分。优秀作业加分的原因是在学习的过程中加入了实践。扇贝打卡是很好的积累单词提高英语水平的方法,每天收获一点,长时间的坚持也会得到很大的成功。很遗憾这个学期的打卡次数不多,没有坚持下来,加的分也不多。

待及格管理制度的优缺点

   优点:对于待及格同学起到了一种督促的作用,督促我们在课程的前期多努力,避免了在期末的负担。对于及格的同学也起到了一些惊醒作用。

课程收获与不足

  收获不仅仅是课程内容上的知识。我明白了实践学习的重要性,只是看以写书本上的内容,和摘抄写一下课程总结学不到很多东西,导致我在学习上遇到了许多困难,这也让我端正了自己的学习态度。 

  在课程学习上投入的时间不多,好几周的学习过程中都没有结合实践和代码的分析运行,对以前学习过知识的总结也不到位。

给学弟学妹们的学习建议

   先看娄老师的每周内容的重点,在读书时要抓住学习重点。结合答案看树上的课后练习题。

   多进行实践的环节,读懂分析书上的代码。然后编译运行、看是否与自己的预期一致,修改调试代码(修改增加代码可以跟深入的理解学习代码)。

   还有就是在课程学习上多投入时间,一分耕耘一分收获。要善于利用网上的学习资源来解决问题(对于很多问题网上都有详细的教程)。将自己遇到的问题和解决问题的过程现在每周的学习总结博客中,不时地复习一下。

 

问卷调查

你平均每周投入到本课程多长时间?

 10个小时左右。

每周的学习效率有提高吗?

没有太大的提高。

学习效果自己满意吗?

不太满意。

课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)

会努力的。我觉的我自己缺少一种坚持不懈的精神,我希望可以借此来锻炼自己。来使我养成一种习惯。

你觉得这门课老师应该继续做哪一件事情?

继续每周的随堂考试,和待及格同学的代码验收检查,患有就是每周写学习总结。

你觉得这门课老师应该停止做哪一件事情?

没有。

posted on 2016-12-24 18:37  20145306张文锦 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/besti145306/p/6218120.html

这篇关于20145306《信息安全系统设计基础》课程总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593010

相关文章

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.