ICode9

精准搜索请尝试: 精确搜索
  • 保护模式篇——TLB与CPU缓存2021-10-23 17:31:08

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信

  • 1.简介和概述2021-10-18 05:00:07

    线程 进程并不是内核支持的唯一一种程序执行形式。除了重量级进程(有时也称为UNIX进程)之外, 还有一种形式是线程(有时也称为轻量级进程)。线程也已经出现相当长的一段时间,本质上一个进 程可能由若干线程组成,这些线程共享同样的数据和资源,但可能执行程序中不同的代码路径。简而 言之,进

  • Linux从头学15:【页目录和页表】-理论 + 实例 + 图文的最完全、最接地气详解2021-10-11 09:03:00

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。 关注下方公众号,回复【书籍】,获取 Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章( PDF 格式)。 【IOT物联网小镇】 目录 目录页表的拆分过程页目录结构几个相关的寄存器加载用户程序时: 页目录、页表的分

  • 存储器管理之段页式存储管理2021-10-10 13:30:37

    基本思想: 用分段方法来分配和管理虚拟存储器,用分页方法来分配和管理实存储器(即主存)。 地址空间 一个程序首先被划分成若干程序段,每一段给予不同的分段标识符,然后,对每一分段又分成若干个固定大小的页面。 如上图所示,系统中的一个作业的地址空间结构页面尺寸为4K字节,该作业有

  • 操作系统学习2021-10-07 18:32:46

    目录 2.1 操作系统的启动 ​  3.1 内存分层结构 3.2 地址空间与地址生成  3.3 内存分配 3.4 压缩式与交换式碎片整理 4.1 非连续内存 分段 ​ 4.2 非连续内存 分页 4.3 页表概述 4.4 多级页表 ​ 4.5 反向页表 5.1 虚拟内存 1  5.2 虚拟内存 2 7.1 进程 定义 7.2 进程 组

  • 浙大操作系统课程错题集之5内存管理2021-10-04 18:06:16

    本文为个人在爱课程上  完成浙大操作系统课程的错题记录。   1.存储管理的主要研究内容是什么? 内存的分配和回收。记录内存空间的使用情况,实施内存的分配,回收系统或用户释 放的内存空间 地址变换。即利用地址变换机构,将逻辑地址转换为物理地址。 存储扩充。借助于虚拟存储

  • 内存管理2021-10-04 16:02:45

    预备 地址的生成 物理地址 首先一个内存地址代表一个物理内存中一个内存单元的存储空间。 例如: 地址能表示的范围和cpu有关,如果cpu是32位的,按字节编址的话。 首地址是:0, 最后的地址是:2^32 - 1, 地址的个数是:2^32, 内存大小是:地址的个数 * 8(字节的大小) = 4GB,也就是说如果cpu只有32位

  • 操作系统虚拟内存发展史2021-10-04 14:33:52

    目录混沌岁月左右横跳各自为王拆分王权管理的烦恼分配策略一些有趣的方式没有规矩,不成方圆拨云见日尘埃落地 混沌岁月 开天辟地之初,早期的内存并没有什么复杂的抽象,物理内存简单粗暴。 想要写什么?给,物理地址给你,随便搞。这样的操作系统并没有担负起它该有的责任,反而更像一个函数

  • 操作系统——多级页表与快表2021-10-01 19:00:58

    为了不浪费更多的内存,页面尺寸是越小越好,这样造成的内存碎片的长度就很小。但页面尺寸越小,同样的内存分区时所需要的页表的个数就越多,页表占用的空间也就越大。 一般情况下,操作系统将页面尺寸设置为4KB,相较于操作系统能使用的内存来说,这是很小的。页表是由页表项组成的,每个页表

  • 现代操作系统:原理与实现配套实验ChCore-lab022021-09-30 14:00:14

    现代操作系统:原理与实现配套实验ChCore-02 邮箱:wanglu082@yeah.net 欢迎交流~ 问题 1 请简单解释,在哪个文件或代码段中指定了 ChCore 物理内存布局。你可以从两个方面回答这个问题: 编译阶段和运行时阶段。 ChCore的物理内存布局可分为以下几部分: 保留(0x00000-0x80000) Boot

  • Linux下访问匿名页发生的神奇“化学反应”2021-09-29 15:02:15

    1.实例代码 首先以一个简单的示例代码来说明: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/mman.h> #define MAP_SIZE (100 * 1024 * 1024) int main(int argc, char *argv[]) { char *p; char val; int

  • 操作系统---内存管理2021-09-21 17:02:18

    我们程序所使用的内存地址叫做虚拟内存地址;实际存在硬件里面的空间地址叫做虚拟内存地址;操作系统引入了虚拟内存,进程持有的虚拟地址会通过CPU芯片中的内存管理单元(MMU)的映射关系,来转换变成物理地址,然后通过物理地址访问内存;操作系统管理虚拟地址与物理地址:内存分段和内存分页;内

  • 操作系统—内存篇2021-09-16 12:05:19

    内存的基本概念 内存是用于存放数据的硬件,程序执行前需要先放到内存中才能被CPU处理 内存地址是从0开始的,每个地址对应一个储存单元。如果计算机“按字节编址”则每个存储单元的大小为一字节;也就是1B,即8个二进制位。如果字长为16位的计算机“按字编址”,则每个存储单元大小为1

  • 内存空间的分配与回收2021-09-12 16:58:06

    内存空间的分配与回收 背景 给进程分配内存空间,操作系统需要记录哪些内存区域分配出去了,哪些还空着;当进程运行结束后,操作系统如何回收内存空间 1.连续分配管理方式 1.1.单一连续分配 内存只能有一道用户程序,内存分成2块,操作系统区和用户区,用户程序放在用户区没有外部碎片,

  • LAB2入门2021-09-10 22:30:09

    目录 前言 一、XV6内存管理 二、一些JOS中的定义 总结 前言         LAB2主要实现的是JOS内存管理的功能,内存管理包括两个部分:(1)内核的物理内存分配器,以便内核可以分配物理内存以及释放,分配器的大小为1页,4K。主要功能:记录哪些页面空闲、哪些已经分配、多少个进程在共享

  • (存储管理)01.分页式存储管理2021-09-05 23:33:48

    将内存划分为若干个大小相等的分区,叫做块;将逻辑空间划分出与块大小一致的分区,叫做页。作业运行时,通过地址重定位技术,实现页与块的对应。这样就以页的方式来管理存储块,就叫分页式存储管理。 在分配存储块时,会根据作业的逻辑地址的大小计算所需要多少个存储块,然后查找空闲块并更新空

  • 进程切换与线程切换的区别2021-08-26 17:00:44

    一、什么是虚拟内存   虚拟内存是操作系统为每个进程提供的一种抽象,每个进程都有属于自己的、私有的、地址连续的虚拟内存,当然我们直到最终进程的数据以及代码必然药放到物理内存上,那么必须有某种机制能记住虚拟地址空间中的某个数据,被放到了那个物理内存地址上,这就是所谓的地

  • 内存管理2021-08-24 17:04:07

    一、连续分配 1、单一连续分配 优点 实现简单; 无外部碎片; 不一定需要内存保护 缺点 只能用于单用户、单任务OS; 有内部碎片; 存储器利用率低; 2、固定分区分配 优点 实现简单; 无外部碎片; 缺点 1.较大用户程序时,需要采用覆盖技术,降低了性能; 2.会产生内部碎

  • BUAA OS——Lab4实验报告2021-08-15 17:34:34

    lab4实验报告 思考题 4.1 思考并回答下面的问题: 内核在保存现场的时候是如何避免破坏通用寄存器的? 系统陷入内核调用后可以直接从当时的\(a0-\)a3 参数寄存器中得到用户调用msyscall 留下的信息吗? 我们是怎么做到让sys 开头的函数“认为”我们提供了和用户调用msyscall 时同样的

  • 15、通过例子讲解逻辑地址转换为物理地址的基本过程2021-08-13 12:03:50

    可以借助进程的页表将逻辑地址转换为物理地址。 通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M。进程未执行时,页表的始址和页表长度放在进程控制块(PCB) 中,当进程被调度时,操作系统内核会把它们放到页表寄存器中。 注意:页面大小是2的整数幂 设页

  • 9、如果系统中具有快表后,那么地址的转换过程变成什么样了?2021-08-12 11:32:43

    ①CPU给出逻辑地址,由某个硬件算得页号、页内偏移量,将页号与快表中的所有页号进行比较。 ②如果找到匹配的页号,说明要访问的页表项在快表中有副本,则直接从中取出该页对应的内存块 号,再将内存块号与页内偏移量拼接形成物理地址,最后,访问该物理地址对应的内存单元。因 此,若快表命中,则

  • 《操作系统概念精要》之内存篇(二)-分段-分页2021-08-06 23:31:20

    分段 基本概念 在编写代码的时候,程序员认为它是由主程序加上一组方法,过程或者函数的集合。他还包括这种数据结构:对象,数组,堆栈,变量。每个模块或者数据元素通过名字来引用。而不关心具体的内存位置。 分段就是支持这种用户视图的内存管理方法。逻辑地址空间是由一组段构成。每

  • CMU15-213学习笔记(五)virtual memory虚拟内存2021-08-06 16:31:52

    CMU15-213学习笔记(五)virtual memory虚拟内存 分页存储管理 早期:程序员自己管理主存,通过分解程序并覆盖主存的方式执行程序。1961年,英国曼切斯特研究人员提出一种自动执行overlay的方式。 动机:把程序员从大量繁琐的存储管理工作中解放出来,使得程序员编程时不用管主存容量的大

  • 致敬 hacker |盘点内存虚拟化探索之路2021-08-04 11:32:28

    ​简介: 内存虚拟化相比裸机,仍然存在较大差异,是当下值得关注的问题! ​ 云与虚拟化 云计算是通过 Internet 服务的方式提供动态可伸缩资源的计算模式,经过多年的发展已成为企业 IT 技术的重要支撑。虚拟化是云计算的核心技术之一,将一台计算机抽象为多台逻辑计算机,即虚拟机,每个虚拟

  • 详细剖析linux的内存管理方式(分段式、分页式、段页式),以及进程状态的具体关系2021-08-03 22:01:38

     进程状态之间的关系:  1.分段式内存管理: 分段:进程地址空间按照逻辑关系将自身划分为若干个段,每个段都有自己的段名,从0开始编址。 内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段不相邻。 组成:段号--段号的位数决定每个进程最多可分为几段。        

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有