#20155331 2017-2018 1 《信息安全系统设计基础》第11周学习总结

20155336 2017-2018 1 《信息安全系统设计基础》第1周学习总结

第一第七章教材内容总结

第一章:
  • 计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序;
  • 信息就是位+上下文;
  • hello.c--->hello.i--->hello.s--->hello.o;
  • 了解编译系统的益处:
  • 优化程序性能;
  • 理解链接是出现的错误;
  • 避免安全漏洞;
  • 硬件:
    • 总线:贯穿整个系统的一组电子管道。
    • I/O设备:输入/输出设备。
    • 内存:临时存储设备,用来存放程序和程序处理处理的数据。
    • 处理器:中央处理单元,简称处理器。
  • 只由ASCII字符构成的文件称为文本文件,所有其他文件都成为二进制文件
  • 存储设备形成了层次的结构
    从上之下,设备变得访问速度越来越慢,容量也越来越大,并且每字节造价也越来越低储存器结构的主要思想是一层上的存储器作为低一层存储器的高速缓存
  • 进程是操作系统对一个正在运行的程序的一种抽象。需要运行的进程数是多于可以运行他们的cpu个数的。一个cpu看上去都像是在并发地执行多个进程,这是通过处理器在进程间切换来实现的。操作系统的这种交错机制称上下文交换。
  • 处理器读取并解释存放在主存里的二进制指令
  • 操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象:1)文件是对I/O设备的抽象;2)虚拟存储器是对主存和磁盘的抽象;3)进程是对处理器、主存和I/O设备的抽象。
  • 网络提供了计算机系统之间通信的手段。从特殊系统的角度来看,网络就是一种I/O设备。

第七章:

  • 链接可以在编译时由静态编译器来完成,也可以在加载时和运行时由动态链接器来完成。
  • 链接处理器分为:1)可重定位的、2)可执行的、3)共享的
  • 静态链接器是由像GCC这样的编译驱动器调用的。
  • 多个目标文件可以被链接到一个单独的静态库中。
  • 加载器将可执行文件的内容映射到存储器,并运行这个程序。
  • 被编译为位置无关代码共享库可以加载到任何地方,也可以在运行时被多个进程共享,为了加载、链接和访问共享库的函数和数据,应用程序还可以在运行时使用动态链接。

教材学习中的问题和解决过程

  • 问题1 what is GCC?
  • 问题1 解决:
    • GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统
    • 预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
    • 编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
    • 汇 编:gcc –c hello.s –o hello.o;gcc -c调用as
    • 链 接:gcc hello.o –o hello ;gcc -o调用ld
    • 前三步,GCC的参数连起来是“ESc”,相应输入的文件的后缀是“iso”
    • GCC常用选项:
    • c 只编不链,目标文件.o
    • S 只编不汇,汇编代码
    • E 只进行预编,不做任何处理
    • g 在可执行程序中包含标准调试信息
    • I dir 在头文件的搜索路径列表中添加dir目录
  • 问题2 汇编到机械以及机械到汇编的转换?
  • 问题2 解决:
  • gcc-c hello.s-s hello.o 汇编--->机械
  • objdump - d hello.o 机械--->汇编
  • 问题3 符号和符号表是什么?
  • 问题3解决:
    • 程序编译的链接阶段,将函数和变量统称为符号;符号表是由汇编器构造的,使用编译器输出到汇编语言.s文件中的符号。
  • 问题4 了解ELF头包含哪些信息?
  • 问题4解决:(参考狄维佳的博客)

上周考试错题总结

  • 结对学习

  • 20155315
  • 结对学习内容:
    • 学习第1、7章
    • 交流课堂学习内容
    • 大致了解本学期实验

本周代码

老师,我电脑出现了一些问题,但是本周我在尝试训练编译了一些简单的代码如下

    (1)vi hello.c
    #include<stdio.h>
    main()
    {
    printf("Hello");
    }
    gcc hello.c
    ls
    a.out hello.c
    之后就会出现结果
    ./out
    Hello!
    (2)预处理:
    ls
    ./out hello.c hello.o
    gcc-E hello.c -o hello.o
    vi hello.i
    (3)编译
    gcc-S hello.i -o hello.s
    ls
    a.out hello.c hello.i hello.s
    vi hello.s
    (4)汇编
    gcc - c hello.s - o hello.o
    ls
    hello.c hello.i hello.o hello.s
    vi hello.o  

我会尽快修复好电脑,完成代码上传,望老师见谅!

其他(感悟、思考等,可选)

这学期相比上学期,能够更多的跟着老师在课堂上学习。而且老师也改变了教学方式,从原先的一周一篇博客到现在的两篇博客,减轻了我们的压力。看着如此如此厚的一本书,我倍感焦急,不知道能够从中习得多少知识,能够掌握多少知识,希望这学期能够把书本从厚学薄再学厚,先从中精炼然后自己再拓展,让自己能够充分理解。加油!

学习进度条

| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|

| ----- | :---------:|:------:|:----------: |

| 目标 | 5000行 | 30篇 | 400小时 |

| 第一周 | 40/40 | 1/1 | 15/15 |

参考资料

时间: 2024-10-06 21:07:30

#20155331 2017-2018 1 《信息安全系统设计基础》第11周学习总结的相关文章

20145309信息安全系统设计基础第11周学习总结后篇

进程 异常是允许操作系统提供进程的概念所需要的基本构造块. 进程:一个执行中的程序的实例. 上下文是由程序正确运行所需要的状态组成的,这个状态包括存放在存储器中的程序的代码和数据,它的栈.通用目的寄存器的内容.程序计数器.环境变量以及打开文件描述符的集合. 进程提供给应用程序的关键抽象: 一个独立的逻辑控制流,独占地使用处理器: 一个私有的地址空间,独占地使用存储器系统. 并发流:一个逻辑流的执行在时间上与另一个流重叠. 并发:多个流并发地执行的一般现象. 多任务:一个进程和其他进程轮流运行的概

20145309信息安全系统设计基础第11周学习总结前篇

教材学习内容总结 异常 异常:处理器中的变化(事件)触发从应用程序到异常处理程序的突发的控制转移 异常处理程序:在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表进行一个间接过程调用,到一个专门处理这类时间的操作系统子程序 当 exception handler处理结束之后,会有三种结果: ·处理程序将控制返回给事件发生的时候正在执行的指令 ·处理程序将控制返回给如果没有发生异常将会执行的下一条指令 ·处理程序终止被终端的程序 所有的到Linux系统调用的参数都是通过寄存

2017-2018-1 20155331 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155331 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器层次结构 存储技术 随机访问存储器 随机访问存储器分为:静态的SRAM.动态的DRAM 静态RAM: SRAM的特点:存储器单元具有双稳态特性,只要有电就会永远保持它的值,干扰消除时,电路就会恢复到稳定值. 动态RAM: DRAM的特点:每一位的存储是对一个电容的充电:对干扰非常敏感. 用途:数码照相机和摄像机的传感器 DRAM存储不稳定的应对机制: 存储器系统必须周期性地通过读出,或者重

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较

20145311 《信息安全系统设计基础》第一周学习总结

20145311 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 常用的部分命令 CTRL+SHIFT+T:新建标签页,编程时有重要应用: ALT+数字N:终端中切换到第N个标签页,编程时有重要应用: Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成: CTRL+C:中断程序运行 Ctrl+D:键盘输入结束或退出终端 Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+A: 将光标移至输入行头,相当于Home键 Ctrl+E

20145216史婧瑶《信息安全系统设计基础》第九周学习总结

20145216史婧瑶<信息安全系统设计基础>第九周学习总结 教材内容总结 第十章 系统级I/O 输入/输出(I/O)是在主存和外部设备之间拷贝数据的过程. 第一节 Unix I/O 这一节涉及到操作系统的基本抽象之一--文件.也就是说,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读/写.相关的执行动作如下: 1.打开文件: 应用程序向内核发出请求→要求内核打开相应的文件→内核返回文件描述符 文件描述符:一个小的非负整数,用来在后续对此文件的所有操作中标识这个文件.有

20145311 《信息安全系统设计基础》第二周学习总结

20145311 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 重新学习了一下上周的一部分命令:grep main wyx.c(grep的全文检索功能)ls > ls.txt :ls内容输出到文本find pathname -mtime -n/+nfind -size -n/+n (find的功能还是比较强大) 简单地学习了一下vim编辑器,跟着vimtutor简单地学了一些,在linux bash中使用vim能够极大地提高效率, vim的用法比较多,只学习了其中简单的一部分

20145339《信息安全系统设计基础》第一周学习总结

20145339顿珠达杰<信息安全系统设计基础>第一周学习总结 ◆ Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]-[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换.普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的

2017-2018-1 20155228 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155228 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 常见的存储技术 RAM 随机访问存储器(Random-Access Memory, RAM)分为两类:静态的和动态的.静态 RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多.SRAM用来作为高速缓存存储 器,既可以在CPU芯片上,也可以在片下.DRAM用来作为主存以及图形系统的帧缓冲 区.典型地,一个桌面系统的SRAM不会超过几兆字节,但是DRAM却有几百或几千兆 字节. SRAM将每

2017-2018-1 20155332 《信息安全系统设计基础》第九周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 简单模型中,存储器是一个线性的字节数组.真实模型中,是一个具有不同容量,成本,访问时间的存储层次结构(存储器山) 程序的局部性很重要,对程序性能有很重要的影响. 计算机系统一个基本而持久的思想,如果你理解了系统是如何将数据在存储器层级结构中上下移动,你就可以编写程序,让数据存储在层次结构中较高的地方,从而CPU可以更快的访问到他们. 编写程序实现功能是最简单的,如何让编写的程序拥有最高的性能,例