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

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

教材学习内容总结

第九章 虚拟内存

9.1 物理和虚拟寻址
9.2 地址空间
9.3 虚拟内存作为缓存的工具
    9.3.1 DRAM缓存的组织结构
    9.3.2 页表
    9.3.3 页命中
    9.3.4 缺页
    9.3.5 分配页面
    9.3.6 又是局部性救了我们
9.4 虚拟内存作为内存管理的工具
9.5 虚拟内存作为内存保护的工具
9.6 地址翻译
    9.6.1 结合高速缓存和虚拟内存
    9.6.2 利用TLB加速地址翻译
    9.6.3 多级页表
    9.6.4 综合:端到端的地址翻译
9.7 案例研究:Intel Core i7/Linux 内存系统
    9.7.1 Core i7地址翻译
    9.7.2 Linux 虚拟内存系统
9.8 内存映射
    9.8.1 再看共享对象
    9.8.2 再看fork函数
    9.8.3 再看execve函数
    9.8.4 使用mmap函数的用户级内存映射
9.9 动态内存分配
    9.9.1 malloc和free函数
    9.9.2 为什么要使用动态内存分配
    9.9.3 分配器的要求和目标
    9.9.4 碎片
    9.9.5 实现问题
    9.9.6 隐式空闲链表
    9.9.7 放置已分配的块
    9.9.8 分割空闲块
    9.9.9 获取额外的堆内存
    9.9.10 合并空闲块
    9.9.11 带边界标记的合并
    9.9.12 综合:实现一个简单的分配器
    9.9.13 显式空闲链表
    9.9.14 分离的空闲链表
9.10 垃圾收集
    9.10.1 垃圾收集器的基本知识
    9.10.2 Mark&Sweep垃圾收集器
    9.10.3 C程序的保守Mark&Sweep
9.11 C程序中常见的与内存有关的错误
    9.11.1 间接引用坏指针
    9.11.2 读未初始化的内存
    9.11.3 允许栈缓冲区溢出
    9.11.4 假设指针和它们指向的对象是相同大小的
    9.11.5 造成错位错误
    9.11.6 引用指针,而不是它所指向的对象
    9.11.7 误解指针运算
    9.11.8 引用不存在的变量
    9.11.9 引用空闲堆块中的数据
    9.11.10 引用内存泄漏
9.12 小结
     

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

  • 问题1:stat显示的3个时间中的最后一个状态改动时间是什么意思?
  • 问题1解决方案:状态改动时间是指该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。

代码托管

pwd命令实现代码在码云里

(statistics.sh脚本的运行结果截图)

上周考试错题总结

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

20155211

- 结对照片

- 结对学习内容

- XXXX

- XXXX

- ...

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

实验真的不好做,PWD实现还算成功吧。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 10/10
第二周 200/200 1/1 20/20
第三周 ?/200 1/1 15/20
第四周 200/200 1/1 20/20
第五周 100/200 1/1 20/20
第六周 200/200 1/1 20/30
第七周 500/500 1/1 20/20
第八周 300/300 1/1 15/30
第九周 300/300 1/1 15/20

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:30小时
  • 实际学习时间:15小时
  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

时间: 2024-08-30 08:16:17

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

信息安全系统设计基础第十一周学习总结——20135308

第八章 异常控制流 控制转移序列称为控制流. 从从一条指令到下一条指令称为转移控制. 异常控制流:现代操作系统通过使控制流发生突变来对系统状态做出反应,这些突变称为异常控制流. 异常控制流ECF:即这些突变. 1.ECF是操作系统用来实现I/O.进程和虚拟存器的基本机制 2.应用程序通过使用一个叫做陷阱或者系统调用的ECF形式,向操作系统请求服务 3.ECF是计算机系统中实现并发的基本机制 4.软件异常机制——C++和Java有try,catch,和throw,C中非本地跳转是setjmp和lo

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

第八章代码学习 exec1 #include<stdio.h> #include<unistd.h> int main() { char  *arglist[3]; arglist[0] = "ls"; arglist[1] = "-l"; arglist[2] = 0 ;//NULL printf("* * * About to exec ls -l\n"); execvp( "ls" , argli

20135210程涵——信息安全系统设计基础第十一周学习总结

第8章 异常控制流 8.1 异常 异常是ECF的一种,一部分由硬件实现,一部分由操作系统实现.就是位于硬件和操作系统之间的ECF. 异常可以分为四类:中断(interrupt),陷阱(trap),故障(fault),终止(abort). 中断——来自处理器外部的I/O设备的信号的结果. 中断处理程序——异步异常——由处理器外部I/O设备中的事件产生的.同步异常是执行一条指令的直接产物. 中断通过向处理器芯片上的一个引脚发信号(高低电平),并将异常号放在系统总线上,以触发中断,很清楚. 其中断处理

信息安全系统设计基础第十一周学习总结—20135227黄晓妍

第8章异常控制流 控制流:控制转移序列. 控制转移:从一条指令到下一条指令. 异常控制流:现代操作系统通过使控制流发生突变来对系统状态做出反应,这些突变称为异常控制流. 一.异常 1.异常的剖析,如下图所示: 异常:控制流中的突变,用来响应处理器状态的某些变化. Icurr:当前指令 事件:状态变化 2.异常处理 异常表:当处理器检测到有事件发生时,它会通过跳转表,进行一个间接过程调用(异常),到异常处理程序. 异常号:系统中可能的某种类型的异常都分配了一个唯一的非负整数的异常号.异常号是到异常

20135213——信息安全系统设计基础第十一周学习总结

一.学习目标 掌握进程控制掌握信号处理的方法掌握管道和fifo进行进程间通信的方法 二.学习任务 编译.运行.阅读.理解process.tar.gz压缩包中的代码 三.参考资料及实验环境 参考资料:process.tar.gz压缩包中的代码. 课本<深入理解计算机系统>. 百度.20135202闫佳歆 环境:实验楼 四.学习过程 exec1 #include <stdio.h>#include <unistd.h> int main(){ char *arglist[3

20135205信息安全系统设计基础第十一周学习总结

第八章 异常控制流 异常及其种类 异常:就是控制流中的突变,用来响应处理器状态中的某些变化. 在处理器中,状态被编码为不同的位和信号.状态变化称为事件.事件可能和当前指令的执行没有关系. 在任何情况下,当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接调用异常,到一个专门设计用来处理这类事件的操作子程序(异常处理程序) 当异常处理程序完成处理后,根据引起异常的事件的类型,会发生以下三种情况中的一种: 1)处理程序将控制返回当前指令,即当事件发生时正在执行的指令. 2)处理

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的用法比较多,只学习了其中简单的一部分