zoukankan      html  css  js  c++  java
  • 20145301《信息安全系统设计基础》第15周学习总结

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

    每周作业链接汇总

    • 第0周作业:课本预习,提出问题及虚拟机的安装

    • 第1周作业:掌握核心的linux命令,了解linux操作系统

    • 第2周作业:熟悉vi操作,gcc编译器及gdb调试技术

    • 第3周作业:各种信息的表示方法,计算机中各种数的表示和运算

    • 第5周作业:汇编与反汇编

    • 第6周作业:安装Y86处理器,了解ISA抽象

    • 第7周作业:学习局部性原理和缓存思想在存储层次结构中的应用

    • 第8周作业:对前面的内容进行查缺补漏

    • 第9周作业:学习Unix I/O并且了解Unix I/O的使用情况

    • 第10周作业:实践常用指令的代码,加深对指令的理解,学习视频并总结了知识点,运行分析了相关代码。

    • 第11周作业:介绍了异常及其种类、进程和并发的概念、进程创建和控制的系统调用及函数;介绍了数组指针、指针数组、函数指针、指针函数的区别;介绍了信号机制、管道和I/O重定向

    • 第12周作业:分析、检查、总结了前三周的代码

    • 第13周作业:掌握并发的方式,线程控制及相关系统调用

    • 第14周作业:虚拟存储器的概念及其作用

    实验报告链接汇总

    第0周提出的问题

    第一章:并发和并行的区别?
    • 并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发。
    • 并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行。
    • 区别:并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。
    第二章:计算机中浮点数也是用补码表示的吗?
    • 不是,浮点数分为整数与小数部分,抓换成二进制的方法不同
    第三章:如何对计算机中的信息进行表示,它的处理方法又是什么?
    • 计算机系统中的所有信息都是以二进制形式存储的,计算机系统规定了三种重要的编码方式:无符号编码、补码编码、浮点数编码。无符号编码是基于传统的二进制表示法,表示大于或等于0的数字;补码编码是表述有符号整数的常见方式,正或负的数字;浮点数编码是表示实数的科学记数法的以2为基数的版本。
    第四章:优化程序时应该注意什么?
    • 寄存器溢出
    • 分支预测和预测错误处罚
    第五章:如何进行性能优化?有什么基本原则?
    • 消除循环的低效率:固定不变的东西提出循环,减少每次循环都计算相同的内容,这一点对性能的提升时很明显的;减少过程的调用:消除循环中的过程调用,可通过函数提前得到需要操作的对象,这样会提高速度,但是模块性降低;消除不必要的存储器引用:函数参数为指针时,如果循环中用到指针,需要对指针的地址进行访问,则每一次访问都会进行取指,执行,存储等操作,这时最好在函数中声明临时变量,在循环中用临时变量,这样直接就可以对变量进行赋值,循环结束之后,再将结果赋给指针地址。
    第六章:存储器的层次结构是怎样的?
    • 第k层是第k+1层的缓存,因为第k层的存储速度更块,当然空间也更小,第k+1层的存储器分成不同的块,每个块有唯一的地址,通常块的大小固定,第k层的存储里缓存着k+1层里的部分块,在k和k+1之间传输数据时,都是以块为大小来传输。
    第七章:程序通过什么实现链接?
    • 链接器
    第八章:异常都有哪些?
    • 异常分为四类:中断、陷阱、故障和终止
    第九章:虚拟存储器真的是虚拟不存在还是说是动态的?
    • 虚拟存储器通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换
    第十章:I/O接口的作用是什么?
    • 计算机与外设进行交互的接口
    第十一章:协议软件需要的基本能力是什么?
    • 命名机制 传送机制
    第十二章:并发编程就是多线程吗?
    • 不是,并发是指在一台处理器上“同时”处理多个任务,多线程则是在一个进程中有多个线程

    代码托管链接和二维码:

    • 代码链接
    • 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果

    • 代码量汇总(在项目目录下用wc -l find src -name *.c命令,由于前几周未建树,所以代码统计不太全)

    • 代码驱动的学习做到没有?

      • 按照博客代码驱动的程序设计学习中的要求在Ubuntu上安装配置好了git,并按照要求每周规范的git了代码。现在操作起来已经比以前高效快速了很多。
    • 加点代码,改点代码是理解的最好方式,谈谈你的心得。

      • 机械的将教材上的代码编译运行之后只能简单了解这个代码运行的结果,结果正确与否都不知道。要想真正理解代码还是需要自己多多实践。
    • 实践上有什么经验教训?

      • 完事开头难,对去学习千万不要望而却步,真正当你一步一步耐着性子走下去的时候,问题总会有解决的办法,不要还没开始就放弃,这样不仅在学习上难有进步,生活工作中也不会有所突破。
      • 不要这山望着那山高,切实的进行的学习、实践才能真正有所收获。
    你有什么项目被加分,谈谈你的经验
    项目

    课程收获与不足

    自己的收获(投入,效率,效果等)
    • 最大的收获就是可以熟练在windows和Linux之间自由转换,在哪方便做什么就用什么系统。学习很多系统设计的原理和计算机究竟是怎么去做操作。
    自己需要改进的地方
    • 需要客服拖延症,没有一次在周末前就完成学习任务
    如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
    • 结对的分数分配上我觉得存在一些问题。比如三人组事先并不知道比二人组总分低,而且有些是因为试验箱不够的缘故。结对时,每个实验分数一定要分个高低,但其实有些实验,组内的每个同学都完全有能力独立完成。
    给开学初的你和学弟学妹们的学习建议
    • 尽早进入状态,养成习惯,保持惯性,放平心态
    如果重新学习这门课,怎么做才可以学的更好
    • 保持一个学习的持续性与连贯性,尽早进入状态

    问卷调查

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

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

      • 有,平时总有一根弦绷着,但还是有些许拖延症。
    • 学习效果自己满意吗?

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

      • 应该做不到,会自己写东西,但可能不会选择发。会经常使用markdown了。
    • 你觉得这门课老师应该继续做哪一件事情?

      • 继续将考核放在平时,自学为先。
    • 你觉得这门课老师应该停止做哪一件事情?

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

      • 可以尝试让学生自己讲课或是项目

    本文链接和二维码:http://www.cnblogs.com/5301z/p/6220833.html

  • 相关阅读:
    Linux内核RPC请求过程
    二分图
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 合并石子
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 摩尔斯电码
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 文本加密
    Java蓝桥杯 算法提高 九宫格
    Java蓝桥杯 算法提高 九宫格
  • 原文地址:https://www.cnblogs.com/5301z/p/6220833.html
Copyright © 2011-2022 走看看