博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-2019-1 20165206 《信息安全系统设计基础》第九周学习总结
阅读量:6571 次
发布时间:2019-06-24

本文共 1350 字,大约阅读时间需要 4 分钟。

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

- 教材学习内容总结

  • 计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组。每个字节都有一个唯一的物理地址。

  • 物理寻址:CPU访问内存的最自然的方式就是使用物理地址,这种方式被称为物理寻址。

    1296608-20181202163536938-1538215638.png

  • 虚拟寻址:CPU通过生成一个虚拟地址来访问主存,这个虚拟地址在被送到内存之前先转换成适当的物理地址。

    1296608-20181202163545474-886703012.png

  • 地址翻译:将一个虚拟地址转换为物理地址的任务。

  • 地址空间:地址空间是一个非负整数地址的有序集合。

线性地址空间:如果地址空间中的整数是连续的,那么我们说它是一个线性地址空间。

虚拟地址空间:在一个带虚拟空间的系统中,CPU从一个有 N=2^n 个地址的地址空间中生成虚拟地址,这个地址空间成为称为虚拟地址空间。

物理地址空间:对应系统中的物理存储器的M个字节。

  • 在任意时刻,虚拟页面的集合都分为三个不相交的子集:

未分配的:VM系统还未分配的页。

缓存的:当前已缓存在物理内存中的已分配页。

未缓存的:未缓存在物理内存中的已分配页。

  • Linux虚拟内存空间:Linux为每个进程维护了一个单独的虚拟地址空间,形式如图。

    1296608-20181202163607496-902197517.png

  • 内核虚拟内存包含内核中的代码和数据结构。内核虚拟存储内存的某些区域被映射到所有进程共享的物理页面。内核虚拟内存的其他区域包含每个进程都不相同的数据。

  • Linux将虚拟内存组织成一些区域的集合。一个区域就是已经存在着的虚拟内存的连续片,这些页是以某种方式相关联的。

一个具体区域的区域结构包含下面的字段:

vm_start:指向这个区域的起始处。

vm_end:指向这个区域的结束处

vm_prot:描述这个区域内包含的所有页的读写许可权限。

vm_flags:描述这个区域内的页面是与其他进程共享的,还是这个进程私有的。

vm_next:指向链表中下一个区域结构。

  • 内存映射:Linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域内容的过程。

  • 虚拟内存区域可以映射到两种类型的对象中的一种:

1、Linux文件系统中的普通文件:一个区域可以映射到一个普通磁盘文件的连续部分;

2、匿名文件:一个区域可以映射到一个匿名文件,匿名文件是由内核创建的,包含的全是二进制零。

- 代码调试中的问题和解决过程

  • 问题一:在编译server.c生成可执行文件时报错。

    1296608-20181202163624241-1446255251.png

  • 问题一解决方案:

    参考博客:

将csapp.c文件复制到工作目录下,同时应注意编译时需要加上参数“-pthread”。

- 上周错题总结:

  • 错题一:有关计算机网络,下面说法正确的是()

    A .
    相对主机,网络是一种I/O设备
    B .
    物理上,网络是一个按照地理远近组成的层次系统,最低层是WAN
    C .
    以太网适配器都有一个32位的全球唯一地址
    D .
    LAN使用网桥可以组成WAN
    E .
    路由器用来由各种LAN,WAN构建互联网络

  • 答案:A E

  • 错题二:客户端-服务器模型中客户端和服务器都是指()

    A .
    进程
    B .
    程序
    C .
    PC机器,服务器主机
    D .
    浏览器程序和服务器主机

  • 答案:A

转载于:https://www.cnblogs.com/brs666/p/10054001.html

你可能感兴趣的文章
如何优雅的使用RabbitMQ
查看>>
js json 对象相互转换
查看>>
jQuery中click事件多次触发解决方案
查看>>
java IO
查看>>
css3中定义required,focus,valid和invalid样式
查看>>
Spark history-server 配置 !运维人员的强大工具
查看>>
Atitit.http httpclient实践java c# .net php attilax总结
查看>>
Atitit.识别损坏的图像
查看>>
swift获取图片像素颜色值
查看>>
MyCat:取代Cobar数据库中间件
查看>>
ajax提交复杂对象数据
查看>>
wordpress发送测试邮件
查看>>
用PyAIML开发简单的对话机器人
查看>>
Android 7.1 App Shortcuts使用
查看>>
解决: is not found. Have you run APT to generate them?
查看>>
jenkins配置记录(1)--添加用户权限
查看>>
Android bitmap绘制文字自动换行
查看>>
express下使用ES6
查看>>
django中的filter和get的区别 (MultipleObjectsReturned: get() returned more than one Publisher --)(DoesN...
查看>>
javascript模板库jsrender加载并缓存外部模板文件
查看>>