zoukankan      html  css  js  c++  java
  • 第五讲 计算机体系结构 内存层次

    总算搞完Lab1

    管理存储介质的东西

    cpu 内存 io 设备

    内存一次最小单位 8 bit
    计算机 总线32bit

    有大量的数据要读写,CPU内有高速缓存
    内存层次,两级缓存

    操作系统的内存管理##

    内存 以字节为单位进行访问
    磁盘 扇区编号 每一个扇区512 字节最小单位

    内存管理系统的要求

    抽象,保护,共享,虚拟化

    内存管理机制:
    + 重定位:(relocation)
    + 分段 : (segmentation)
    + 分页 : (paging)
    + 虚拟储存(virtual memory)
    多数系统 按 需页式虚拟储存

    地址空间 & 地址生成##

    从写出来的符号 到总线上的物理地址

    地址空间 :
    物理地址空间 硬件支持的地址空间 起始是0 知道 MAXsys
    逻辑地址空间 CPU运行时 进程看到的地址 0- MAX prog

    逻辑地址根据方法转换成物理地址

    逻辑地址的生成###

    编译时:
    假设起始地址已知
    如果起始地址改变,必须重新编译

    加载时:
    编译时起始位置位置,编译器徐生成可重定位的代码(reloctable code)
    加载时,生成绝对地址

    执行时:
    执行时代码可移动
    需地址转换(映射)硬件支持

    地址的生成过程:
    


    逻辑地址到物理地址的传唤

    地址检查##

    连续内存分配##

    连续内存分配和内存碎片###

    你要分配510字节 结果分配了512字节 剩下几个字节就是内碎片
    取决于分配单元大小是否要取整。

    动态分区分配

    最先匹配策略###


    空闲分区链表
    First Fit Allocation

    Best Fit Allocation


    合并还慢 因为要找地址临近 但是却是按照大小排序的

    Wrost Fit Allocation

    碎片整理##


    紧凑(ompaction)
    碎片紧凑: 否有应用程序都是可以动态重定位

    分区对换
    Swapping in/out
    对换到对换区内

    处于等待状态的程序搬到外存区
    有一个对换区


    伙伴系统##

    伙伴系统的实现 Buddy System##

    整个可分配的分区大小 的策咯

    数据结构##

    空闲块的二维数组
    第一维 由小到大 排成第一位
    同大小就按地址排序


    u core 中的物理内存管理##

    ucore 已经实现了

  • 相关阅读:
    循环神经网络(RNN)的改进——长短期记忆LSTM
    AlphaGO的背后/《mastering the game of GO wtth deep neural networks and tree search》研究解读
    <科普>CPU进行四则运算(加减乘除)的主流方法
    在CV尤其是CNN领域的一些想法
    只要听说过电脑的人都能看懂的网上pdf全书获取项目
    python简单爬虫(爬取pornhub特定关键词的items图片集)
    并查集模板
    Linux命令学习-cp命令
    Linux命令学习-mv命令
    Linux命令学习-ls命令
  • 原文地址:https://www.cnblogs.com/sfzyk/p/8983209.html
Copyright © 2011-2022 走看看