2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结
2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结
教材学习内容总结
理解虚拟存储器的概念和作用
- 虚拟存储器(Virtual Memory),是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完善交互,它为每个进程提供一个大的,一致的,私有地址空间。通过一个清晰的机制,虚拟存储器提供了三个要重的能力:
- 作用
(1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效的利用了主存;
(2)它为每个进程提供了一致的地址空间,从而简化了存储器管理;
(3)它保护每个进程的地址空间不被其他进程破坏。
理解地址翻译的概念
地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS)中元素之间的映射。
理解存储器映射
- 定义:
Linux通过将一个虚拟存储器区域与一个磁盘上的对象关联起来,以初始化这个虚拟存储器区域的内容的过程叫做存储器映射。 - 使用mmap函数的用户级存储器映射
1.创建新的虚拟存储器区域
#include <unistd.h>#include <sys/mman.h>void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);成功返回指向映射区域的指针,若出错则为-1
参数含义:
- start:这个区域从start开始
- fd:文件描述符
- length:连续的对象片大小
- offset:距文件开始处的偏移量
- prot:访问权限位,具体如下:
- PROT_EXEC:由可以被CPU执行的指令组成
- PROT_READ:可读
- PROT_WRITE:可写
- PROT_NONE:不能被访问
- flag:由描述被映射对象类型的位组成,具体如下:
- MAP_ANON:匿名对象,虚拟页面是二进制0
- MAP_PRIVATE:私有的、写时拷贝的对象
MAP_SHARED:共享对象
掌握动态存储器分配的方法
-.堆:动态存储器分配维护着一个进程的虚拟存储器区域,称为堆。
假设它是一个请求二进制0的区域,紧接在未初始化的bss区域后开始,并向上(更高的地址)生长。有一个变量brk指向堆的顶部- 分配器的两种基本风格:
a.显示分配器-malloc和free
b.隐式分配器/垃圾收集器 malloc和free函数:
.系统调用malloc函数,从堆中分配块:
````
.#include <stdlib.h>
void *malloc(size_t size);
// 返回:成功则为指针,指向大小至少为size字节的存储器块,失败则为NULL
//系统调用free函数来释放已分配的堆块:include <stdlib.h>
void free(void *ptr);
// 无返回值
//ptr参数必须指向一个从malloc、calloc或者reallov获得的已分配块的起始位置。
理解垃圾收集的概念
- 垃圾收集器是一种动态存储分配器,它自动释放程序不再需要的已分配块,这些块被称为垃圾,自动回收堆存储的过程叫做垃圾收集。
垃圾收集器将存储器视作一张有向可达图,只有当存在一条从任意根节点出发并到达p的有向路径时,才说节点p是可达的,而不可达点就是垃圾。
了解C语言中与存储器有关的错误
1.间接引用坏指针
常见错误——scanf错误
2.读未初始化的存储器
常见错误——假设堆存储器被初始化为0
3.允许栈缓冲区溢出
常见错误——缓冲区溢出错误
4.假设指针和它们指向的对象是相同大小的
在远处起作用action at distance
5.造成错位错误
6.引用指针,而不是它所指向的对象
7.误解指针运算
8.引用不存在的变量
9.引用空堆块中的数据
10.引起存储器泄露
教材学习中的问题和解决过程
上周考试错题总结
- 有关Socket端口和Linux命令,下面说法正确的是()
A .
可以用 echo /etc/services查看
B .
使用 netstat -pan|grep 80可以查看哪些进程占用了80端口
C .
可以使用lsof -i:80查看哪里些进程占用了80端口
D .
可以用sudo /etc/init.d/service start|stop|restart 启动|停止|重启系统服务
E .
可以用netstat -pa 查看所有的服务端口(LISTEN,ESTABLISHED)
F .
ps -aux | grep pid 可以查看绑定某端口的进程号为pid的进程的详细情况
正确答案: A B C D E F 有关Web服务器的说法,正确的是()
A .
Web服务器可以提供静态和动态内容
B .
Web服务器返回的静态内容由URL标识
C .
/.../app?150&21传递的内容由app可执行文件产生,150和21是调用参数
D .
最小的URL后缀“/”,会被扩展成类似“/index.html”的默认主页
正确答案: A B C D有关套接字接口函数open_clientfd()、open_listenfd(),下面说法正确的是()
A .
这两个函数中open_clientfd()只可以用于客户端编程
B .
这两个函数中open_clientfd()可以用于客户端和服务器端编程
C .
这两个函数中open_listenfd()只可以用于服务器端编程
D .
open_clientfd()中的port参数是客户端的端口
E .
open_clientfd()中的port参数是服务器端的端口
F .
open_clientfd()返回的clientfd可以有Unix I/O接口读写
G .
open_listenfd()返回的listenfd可以有Unix I/O接口读写
正确答案: A C E F结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容- XXXX- XXXX- ...
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
- 《深入理解计算机系统V3》学习指导
- ...
转载于:https://www.cnblogs.com/l97----/p/7967927.html
2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结相关推荐
- 20135219洪韶武——信息安全系统设计基础第十一周学习总结
信息安全系统设计基础第十一周学习总结 学习时间:10小时 学习内容:课本第八章 一.重点内容 1.重点理解异常的概念.种类.问题处理 (1)控制流的概念 从处理器加点开始,直到断点为止,PC假设一个 ...
- 20135327郭皓——信息安全系统设计基础第十一周学习总结
第十一周(11.16-11.22): 学习计时:共6小时 读书: 代码: 作业: 博客: 一.学习目标 1. 了解异常及其种类 2. 理解进程和并发的概念 3. 掌握进程创建和控制的系统调用及函数使用 ...
- 信息安全系统设计基础第十一周学习总结
第八章 异常控制流 ECF:(异常控制流)突变集合 平滑:顺序结构的指令 突变:跳转.调用.和返回等指令,不在同一栈 基本机制:ECF是操作系统用来实现I/O.进程和虚拟存器的基本机制 ECF是计 ...
- # 2017-2018-1 20155224 《信息安全系统设计基础》第九周学习总结
2017-2018-1 20155224 <信息安全系统设计基础>第九周学习总结 教材学习内容总结 存储器 随机访问存储器(RAM): 静态RAM:用来作为高速缓存存储器,每个位存储在一个 ...
- 2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结
- 2018-2019-1 20165206 <信息安全系统设计基础>第九周学习总结 - 教材学习内容总结 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组.每个字节都有一 ...
- 20135203齐岳 信息安全系统设计基础第十三周学习总结
20135203齐岳 信息安全系统设计基础第十三周学习总结 学习计时:8/9共小时(计划/实际) 读书:4/5 代码:1/1 作业:1/1 博客:2/2 第十二章 并发编程 一.学习目标 掌握三种并发 ...
- # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结
20155337 2017-2018-1 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 1.1信息就是位+上下文 hello.c程序是以字节序列的方式储存在文件中的.每个字节都 ...
- 20135219洪韶武——信息安全系统设计基础第五周学习总结
信息安全系统设计基础第五周学习总结 学习任务:教材第四章[处理器体系结构] 学习时间:10小时 一.教材知识点梳理[4.1-4.3] 1.ISA[指令集体系结构] 一个处理器支持的指令和指令的字节级 ...
- 20145227《信息安全系统设计基础》第一周学习总结
20145227<信息安全系统设计基础>第一周学习总结 学习内容总结 Linux是一个操作系统.如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命 ...
- 2018-2019 20165203 《信息安全系统设计基础》第一周学习总结
2018-2019-1 20165203 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 编译:gcc [选项] [文件名] 选项参数表 参数 对应功能 -E 仅执行编译预处理 ...
最新文章
- 关于Unity中的光照(六)
- Windows8 正式版最简单的去除桌面水印方法
- 数据结构:单向链表的反转
- ORA-19809: limit exceeded for recovery files问题解决
- Intel笔记本处理器发展简史(二)
- Python selenium 文件自动下载 (自动下载器)
- 让XP远程桌面连接支持网络身份验证
- flash静态的农夫走路_FLASH静态图形图像演示课件
- 9月1日云栖精选夜读:阿里云数据库掌门人褚霸:骑行与数据人生
- C++语言特性的性能分析
- 启用视口着色:在视图窗口实时显示灯光照明效果_daiding
- JavaScript自写逻辑思维导图(非常详细)
- 票务搜索网站有戏网“今夜有戏”
- ps制作凹陷的的直线
- mysql数据导入导出 CSV格式_导出mysql的数据为csv格式的文件
- SAP那些事-理论篇-14-SAP中的财务管理理念
- android EditText 属性介绍
- 从专业角度说说修仙游戏应该怎么做
- alin的学习之路:面试题 计算机网络相关
- CVE-2022-40684 Fortinet(飞塔)身份验证绕过漏洞
热门文章
- ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证
- 编译c语言程序时 程序中的注释部分将,C语言程序编译时,程序中的注释部分将 答案:不参加编译,也不会出现在目标程序中...
- 数组|leetcode35.搜索插入位置
- 将两个有序链表合并为一个链表任然有序C语言
- java 内存模型6_深入理解Java内存模型(六)——final
- Windows和VMware虚拟机相互间无法复制的解决方案
- oracle序列创建及使用,Oracle创建和使用序列
- 小米台灯突然自己亮了_买了台灯,视力反而变差了?
- linux 清理内存的c函数,Linux C函数之内存配置函数
- emwin 使用外部字库_整6个月的等待,ST终于可以免费使用ThreadX全家桶了