2017-2018-1 20155214 《信息安全系统设计基础》课程学习总结-程序员宅基地

2017-2018-1 20155214 《信息安全系统设计基础》课程学习总结

目录

  1. 每周作业汇总
  2. 课程学习感悟和思考
  3. 代码托管
  4. 课程收获与不足
  5. 给开学初的你和学弟学妹们的学习建议
  6. 问卷调查
  7. 关于本文

每周作业汇总

第1周学习总结

  • 简介
  1. 掌握静态库和动态库的生成与调用方法
  2. 了解链接的概念
  • 相关博客二维码

1071473-20171228195749178-406951877.png

第3周学习总结

  • 简介
  1. 理解二进制在计算机中的重要地位
  2. 掌握布尔运算在C语言中的应用
  3. 理解有符号整数、无符号整数、浮点数的表示
  4. 理解补码的重要性
  5. 进一步理解“信息=位+上下文”
  6. 熟悉makefile基本原理及语法规范
  • 相关博客二维码

1071473-20171228200559241-1568754812.png

第4周学习总结

  • 简介
  1. 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名
  2. 查询及阅读源码技巧
  • 相关博客二维码

1071473-20171228201140897-323547864.png

第5周学习总结

  • 简介
  1. 理解逆向的概念
  2. 掌握X86汇编基础,能够阅读(反)汇编代码
  3. 了解ISA(指令集体系结构)
  4. 理解函数调用栈帧的概念,并能用GDB进行调试
  • 相关博客二维码

1071473-20171228201640866-993845753.png

第6周学习总结

  • 简介
  1. 了解异常及其种类
  2. 理解进程和并发的概念
  3. 掌握进程创建和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
  4. 理解数组指针、指针数组、函数指针、指针函数的区别
  5. 理解信号机制:kill,alarm,signal,sigaction
  6. 掌握管道和I/O重定向:pipe, dup, dup2
  • 相关博客二维码

1071473-20171228202128975-233438121.png

第7周学习总结

  • 简介
    1.了解ISA抽象的作用
  1. 掌握ISA,并能举一反三学习其他体系结构
  2. 了解流水线和实现方式
  • 相关博客二维码

1071473-20171228202444819-649718355.png

第8周学习总结

  • 简介
  1. 掌握三种并发的方式:进程、线程、I/O多路复用
  2. 掌握线程控制及相关系统调用
  3. 掌握线程同步互斥及相关系统调用
  • 相关博客二维码

1071473-20171228202719803-79385826.png

第9周学习总结

  • 简介
  1. 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
  2. 理解局部性原理
  3. 理解缓存思想
  4. 理解局部性原理和缓存思想在存储层次结构中的应用
  5. 高速缓存的原理和应用
  • 相关博客二维码

1071473-20171228203427788-873160026.png

第11周学习总结

  • 简介
  1. 理解虚拟存储器的概念和作用
  2. 理解地址翻译的概念
  3. 理解存储器映射
  4. 掌握动态存储器分配的方法
  5. 理解垃圾收集的概念
  6. 了解C语言中与存储器有关的错误
  • 相关博客二维码

1071473-20171228203705303-25265406.png

第13周学习总结

  • 简介
  1. 本章主要学习网络编程,重点研究 客户端-服务器编程模型 。
  2. socket服务器和客户端搭建
  3. daytime服务器
  4. echo服务器
  5. wc服务器
  6. 服务器迭代
  7. 服务器并发
  8. 服务器文件简单加密
  • 相关博客二维码

1071473-20171228204116209-1337622061.png

第14周学习总结

  • 简介
  1. 我们描述许多提高代码性能的技术。理想的情况是编译器能够接受我们编写的任何代码并产生尽可能高效的、具有指定行为的机器级程序
  2. 现代编译器采用了复杂的分析和优化方式而且变得越来越好,然而即使是最好的编译器也受到了妨碍优化因素的阻碍。程序员必须编写容易优化的代码,帮助编译器。
  • 相关博客二维码

1071473-20171228204733241-533920525.png

实验报告链接汇总

实验一 开发环境的熟悉

  • 简介
  1. 建立实验目录"mkdir linux_组员1学号_组员2学号"。
  2. 在实验目录中编写“hello word”程序,另外补充几行打印所有组员的学号姓名。
  3. 分别用gcc和交叉编译器arm-none-linux-gnuenbi-gcc编译hello.c,用gcc编译的可执行文件命名linuxhello:gcc hello.c -o linuxhello; 用arm-none-linux-gnuenbi-gcc编译的命名为armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello。
  4. 分别运行linuxhello,armhello。
  • 相关博客二维码

1071473-20171228205634756-1590360173.png

实验二 固件程序设计

  • 简介
  1. 注意不经老师允许不准烧写自己修改的代码
  2. 两人(个别三人)一组
  3. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM)
  4. 提交破解程序中产生LIC的截图
  5. 提交破解成功的截图
  • 相关博客二维码

1071473-20171228210010209-1798640016.png

实验三 实时系统

  • 简介
  1. 学习使用Linux命令wc(1)
  2. 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端
  3. 客户端传一个文本文件给服务器
  4. 服务器返加文本文件中的单词数
  5. 使用多线程实现wc服务器并使用同步互斥机制保证计数正确
  6. 上方提交代码
  7. 下方提交测试
  8. 对比单线程版本的性能,并分析原因
  9. 交叉编译多线程版本服务器并部署到实验箱中
  10. PC机作客户端测试wc服务器
  • 相关博客二维码

1071473-20171228210346709-795816745.png

实验四 外设驱动程序设计

  • 简介
  1. 学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章
  2. 提交康奈尔笔记的照片(可以多张)
  3. 在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验
  4. 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全屏,体现学号信息)
  • 相关博客二维码

1071473-20171228210836334-495282683.png

实验五 通讯协议设计

  • 简介
  1. 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业
  2. 在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护
  3. 运行实验箱中,ARM调用Z32算法的实验,提交实验截图.用Z32的国密算法重新改写“wc服务器”的混合密码系统防护
  • 相关博客二维码

1071473-20171228211141475-1482406354.png

其他(感悟、思考)

这学期倏忽间就过去了,《信息安全系统设计基础》这门课让我学到了很多。CSAPP是一本很好的教材,值得反复阅读。即使是浅尝辄止,也已经让我受益匪浅。

在学习这条道路上,惰性总会让我们偏安一隅。学习新技术,用逻辑语言将所学所得表述出来是一件不简单的事。这也是博客的难点之一。但一旦跨出了限制自身的区域。知识又是无穷无尽,寻找到自己的源动力应该是学习的根本。

vim学习,git版本控制,gdb调试,查看man文档,这些都是基础技能。当我们扎稳篱笆,其他知识的学习就像是填白。

代码托管

  • besti155214

https://gitee.com/besti155214/BESTI.IS.ISSDB.20155214

  • 码云链接二维码

1071473-20171228213610116-1212647618.png

整体评价一下第1周作业中自己提出的问题是不是抓住了学习重点

第1周作业中提出的问题比较偏向框架概念,抓住了学习重点。

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

  • 问题1:Unix和Linux之间的区别?

    解决方案:通过搜索引擎初步了解,Unix侧重商业版,由封闭团队开发,注重对现有BSD做修改以适合80386系统。Linux作为免费软件,开放开发,使用类Unix内核的Minix作为模板研发,提供完整的Unix接口。

  • 问题2:命令行和shell,虚拟终端Terminal的联系?

    解决方案:shell解读并执行处理命令行,实行人机交互,执行脚本等。Terminal作为虚拟终端为shell提供命令行用户界面。

  • 问题3:如何理解“每个I/O设备,包括磁盘、键盘、显示器,甚至是网络都可以视作文件(字节序列)?

    解决方案:将Linux中的事物阐释为字节流,文件是对I/O的抽象,那么所有的输入输出都可以通过相同的Linux工具进行读写。主要分为普通文件特殊文件目录文件

  • 问题4:并发和超线程的区别?

    解决方案:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分,可以使芯片在任一时刻同时进行不冲突的多线程处理,使芯片性能得到提升。

  • 问题5:重定位和重定向的区别?

    解决方案:通过链接器将符号引用指向新生成的对应存储器,称为重定位数据节。重定向通过管道将父进程的标准输入与子进程的标准输出相连接。

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

优秀作业(给出链接和二维码)

第4周学习总结

  • 相关博客二维码

1071473-20171228201140897-323547864.png

你有什么项目被扣分,谈谈你的教训

本项无。

课程收获与不足

自己的收获(投入,效率,效果等)

操作系统的框架有了深入理解,对C语言实现流程更加清楚了。

自己需要改进的地方

个人在文档编辑,PPT制作方面亟需提升,还需要对代码的牢固性进行完善。

如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议

结对同学在进行试验箱操作时,对我的动手能力有很大帮助。

给开学初的你和学弟学妹们的学习建议

如果重新学习这门课,怎么做才可以学的更好

深入学习确实是一件很累的事情,特别是在挖掘自己的思维亮点这件事上,不必强求,但也不要因为惰性而限制自己的能力。

课程学习中学到的很多工具对当前,或是日后的学习工作都很有帮助,一定要好好掌握。

问卷调查

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

    教材学习4个小时,代码实现6个小时,博客撰写4个小时。

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

    在熟悉学习流程的基础下,学习效率略有提高,但相比上学期,有创造性的想法减少了。

  • 学习效果自己满意吗?课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书送给你作纪念)

    主动写专业博客的话会有压力。或许日志和学习博客穿插会比较好些。任课老师对博客的看法也会有影响。

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

    课后练习对于能力提升来说确实不错,而且还会减少课上练习由于各种原因无法完成的压力。

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

    结对学习对我而言并没有起到良性作用,或许会在帮助解决他人问题上重复强化解决某一具体问题的经验,但并不会产生思维亮点,感觉就像重复工作。

  • 你觉得这门课老师应该开始做什么新的事情?

    我觉的可以设立一些3人小组设计的大作业,弥补个人的能力不足,产生更多的思维碰撞。

参考资料

  • 关于本文

2017-2018-1 20155214 《信息安全系统设计基础》课程学习总结

  • 二维码
    1071473-20171228230950256-904053400.png

转载于:https://www.cnblogs.com/besti155214/p/8137884.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/NavyJhon2015/article/details/101715144

智能推荐

11个值得珍藏的4K高清壁纸网站推荐_wallpaper abyss 官网-程序员宅基地

文章浏览阅读5.4w次,点赞33次,收藏248次。前言由于前几天因需求须找一些视觉素材,翻来覆去整了一些,整理了10个图片素材网站可以给大家收藏使用&作为打开电脑 or 手机第一眼就看到的桌面,给它设置一个赏心悦目的桌面壁纸还是必不可少的。下面分享了 10 个值得珍藏的高清桌面壁纸网站,支持各种图片比例和分辨率,从 720P 到 4K、8K 应有尽有,电脑和手机都可以使用。高清桌面壁纸网站1. Awesome Wallpapers - wallhaven.cc官网:https://alpha.wallhaven.cc/.._wallpaper abyss 官网

解决方案聚焦:如何进行5G/毫米波产品性能测试_5g测速的解决方案-程序员宅基地

文章浏览阅读497次。在卫星通信中,随着24-100GHz频段5G-NR(新无线电)的发展,波束形成是实现相控阵和毫米波天线的关键技术。设备制造商现在正在开发具有5、9甚至17个毫米波端口的多端口波束形成设备,重点是为5G NR网络批量提供这些设备。对于生产测试应用,设备供应商正在寻找能够支持多站点、高性能的毫米波测试功能的测试解决方案。这些装置的试验要求包括: ..._5g测速的解决方案

四、EasyExcel实现Excel读写,封装工具类_easyexcel excellistener-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏6次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar_easyexcel excellistener

python html转TXT python读取html指定区域文本内容转成txt文件_python读取html文件中的内容并输出-程序员宅基地

文章浏览阅读1.7k次。夹以及子目录、子目录里面的 ,获取到该目录下所有的【.html】文件后,返回一个list对象2、遍历完成后得到一个html文件列表对象,将该列表交给html_to_txt方法,html_to_txt方法里面循环逐个读取html文件中指定标签中标签中标签中的文字,和中指定标签里面标签的文字提取出来3、读取到的文本内容输出到txt文件中,这里可以加上一个替换replac_python读取html文件中的内容并输出

HOG matlab练习-程序员宅基地

文章浏览阅读84次。matlab练习程序(HOG方向梯度直方图)HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测。算法流程图如下(这篇论文上的):下面我再结合自己的程序,表述一遍吧:1.对原图像gamma校正,img=sqrt(img);2.求图像竖直边缘,水平边缘,边缘强度,边缘斜率。3....

新闻客户端案例开发_客户端开发技术案例-程序员宅基地

文章浏览阅读6.6k次,点赞5次,收藏20次。新闻客户端,顾名思义就是看新闻用的客户端。该新闻用到的知识模块有:android高级界面设计(Fragment、ViewPager),android网络通信(http通信),开源组件(xutils框架-HttpUtils模块、xutils框架-BitmapUtils模块),开源框架(library)。所需jar包:xUtils、gson、android-support-v4。•主界_客户端开发技术案例

随便推点

html在线客服插件,在线客服插件-程序员宅基地

文章浏览阅读681次。织梦dedecms在线客服插件是一款用于织梦CMS的在线客服插件,悬浮显示在网站右侧,可在后台添加或删除客服,支持QQ在线客服、阿里旺旺在线客服以及电话客服,支持客服分组功能,非常简单而且好用。下面是在线客服插件效果截图:后台效果后台添加编辑客服信息织梦DedeCMS在线客服插件安装使用详细教程:1,插件下载完成后将压缩包内相应编码文件夹里面的xml文件解压出来后在后台模块管理菜单里面上传,2,上..._织梦在线客服模块

2.Form表单数据转Json格式_"$(\"#frmchangejson2cvs\").serialize() json"-程序员宅基地

文章浏览阅读1.4k次。//将form表单实例化后数据转换成Json格式$.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); $(array).each(function(){ if(serializeObj[this.name]){ if..._"$(\"#frmchangejson2cvs\").serialize() json"

OpenCV Mat类基本操作_opencv cvmat mat-程序员宅基地

文章浏览阅读877次。cv::Mat上面列举了Mat的基本构造函数,主要分为几个类型:要求输入行数和列数来构造一个二维数组的、使用cv::Size对象来构造一个二维数组的、_opencv cvmat mat

为什么基因检测沦为了娱乐项目?-程序员宅基地

文章浏览阅读366次。不久之前,《麻省理工学院技术评论》公布了其评选的2018年十大突破性技术。令人有点意外的是,最近几天针对获选技术的讨论,居然有很多都集中在“基因占卜”上。当然,相比于其他其他“看不见摸不着”的技术,基因占卜这件事听起来就和每个人息息相关,尤其还粘上了一点点“玄学”的味道。尤其关于这门技术的介绍中说道,未来我们很可能在婴儿出生时就获得一份“人生剧透报告”,通过基因检测,我们将可以了解一个婴儿的祖源分_基因检测amp什么意思

PortSwigger Authentication_portswigger 老是登录失败-程序员宅基地

文章浏览阅读856次,点赞15次,收藏19次。我的理解是这里的登录分3步 login login2 然后重定向到my-account。重置密码的最后一个阶段 我们传的参数中带了username 尝试改为carlos。猜测当vertify的值为carlos的时候 会向carlos的邮箱发验证码。在login2处直接访问my-account就跳过了login2的验证。在爆破的时候要确保当前的cookie是可用的 不然会302到登录界面。其中访问login2的时候会带上cookie。这个没回显的就是正确的密码 等待一分钟后提交。_portswigger 老是登录失败

TKCTF-学校内部的校赛_{fbtsytyanowx}ns-程序员宅基地

文章浏览阅读3k次。*Reverseeasy_Ceasy_re1.exe 在网络百度到解决逆向需要用到软件IDA 然后用IDA打开一条条的找我找到了一条很怪的ZmxhZ3s1ZWU1ZjYyOC1mMzVhLTQxNzktODg1Yi1hYzRiMjkxNTg然后失败了,当时试过很多还解码了,以为是加密的然后不对在重新看看了IDA看到后面还有一小段这个1NTl9,把他+上就对了 。然后给他加上flag{Zmxh..._{fbtsytyanowx}ns

推荐文章

热门文章

相关标签