社区
Linux_Kernel
帖子详情
关于页表和页目录的问题
Binizard
2004-04-28 11:58:16
linux中创建一个进程的时候页表和页目录是如何初始化的?
所有的页表是不是在初始化的时候就都已经全部在内存中了?如果是的化,不是要占用很多内存吗?如果不是,那linux是怎么处理的?谢谢了!我是菜鸟,希望能讲的详细一点。
...全文
58
2
打赏
收藏
关于页表和页目录的问题
linux中创建一个进程的时候页表和页目录是如何初始化的? 所有的页表是不是在初始化的时候就都已经全部在内存中了?如果是的化,不是要占用很多内存吗?如果不是,那linux是怎么处理的?谢谢了!我是菜鸟,希望能讲的详细一点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cokoc
2004-04-29
打赏
举报
回复
我觉得进程被创建时在继承其父进程的内存空间的同时创建的页表等并没有立即在内存中分配,只有在该进程被第一次运行时,才会由缺页处理程序来对它进行内存页表等资源的分配.
bmyyyudong
2004-04-28
打赏
举报
回复
linux创建进程时全部继承父进程的页表和页目录,在fork中创建,页表和页目录全部
指向父进程的内存空间,以后由于程序的设计才分开运行.
计算机操作系统(第三版)
《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。
目录
第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的目标 1 1.1.2 操作系统的作用 2 1.1.3 推动操作系统发展的主要动力 4 1.2 操作系统的发展过程 5 1.2.1 无操作系统的计算机系统 5 1.2.2 单道批处理系统 6 1.2.3 多道批处理系统 7 1.2.4 分时系统 9 1.2.5 实时系统 11 1.2.6 微机操作系统的发展 12 1.3 操作系统的基本特性 14 1.3.1 并发性 14 1.3.2 共享性 15 1.3.3 虚拟技术 16 1.3.4 异步性 17 1.4 操作系统的主要功能 18 1.4.1 处理机管理功能 18 1.4.2 存储器管理功能 19 1.4.3 设备管理功能 21 1.4.4 文件管理功能 21 1.4.5 操作系统与用户之间的接口 22 1.5 OS结构设计 24 1.5.1 传统的操作系统结构 24 1.5.2 客户/服务器模式 26 1.5.3 面向对象的程序设计 27 1.5.4 微内核OS结构 29 习题 33 第二章 进 程 管 理 2.1 进程的基本概念 34 2.1.1 程序的顺序执行及其特征 34 2.1.2 前趋图 35 2.1.3 程序的并发执行及其特征 36 2.1.4 进程的特征与状态 37 2.1.5 进程控制块 41 2.2 进程控制 43 2.2.1 进程的创建 43 2.2.2 进程的终止 45 2.2.3 进程的阻塞与唤醒 46 2.2.4 进程的挂起与激活 47 2.3 进程同步 47 2.3.1 进程同步的基本概念 47 2.3.2 信号量机制 50 2.3.3 信号量的应用 53 2.3.4 管程机制 55 2.4 经典进程的同步
问题
58 2.4.1 生产者—消费者
问题
58 2.4.2 哲学家进餐
问题
61 2.4.3 读者—写者
问题
63 2.5 进程通信 65 2.5.1 进程通信的类型 65 2.5.2 消息传递通信的实现方法 66 2.5.3 消息传递系统实现中的若干
问题
68 2.5.4 消息缓冲队列通信机制 69 2.6 线程 71 2.6.1 线程的基本概念 72 2.6.2 线程间的同步和通信 75 2.6.3 线程的实现方式 77 2.6.4 线程的实现 78 习题 81 第三章 处理机调度与死锁 3.1 处理机调度的层次 84 3.1.1 高级调度 84 3.1.2 低级调度 86 3.1.3 中级调度 87 3.2 调度队列模型和调度准则 88 3.2.1 调度队列模型 88 3.2.2 选择调度方式和调度算法的若干准则 90 3.3 调度算法 91 3.3.1 先来先服务和短作业(进程)优先调度算法 91 3.3.2 高优先权优先调度算法 93 3.3.3 基于时间片的轮转调度算法 95 3.4 实时调度 97 3.4.1 实现实时调度的基本条件 97 3.4.2 实时调度算法的分类 99 3.4.3 常用的几种实时调度算法 100 3.5 产生死锁的原因和必要条件 103 3.5.1 产生死锁的原因 103 3.5.2 产生死锁的必要条件 105 3.5.3 处理死锁的基本方法 105 3.6 预防死锁的方法 106 3.6.1 预防死锁 106 3.6.2 系统安全状态 107 3.6.3 利用银行家算法避免死锁 108 3.7 死锁的检测与解除 111 3.7.1 死锁的检测 111 3.7.2 死锁的解除 113 习题 114 第四章 存 储 器 管 理 4.1 存储器的层次结构 116 4.1.1 多级存储器结构 116 4.1.2 主存储器与寄存器 117 4.1.3 高速缓存和磁盘缓存 117 4.2 程序的装入和链接 118 4.2.1 程序的装入 118 4.2.2 程序的链接 120 4.3 连续分配方式 121 4.3.1 单一连续分配 121 4.3.2 固定分区分配 122 4.3.3 动态分区分配 123 4.3.4 伙伴系统 126 4.3.5 哈希算法 126 4.3.6 可重定位分区分配 127 4.3.7 对换 129 4.4 基本分
页
存储管理方式 130 4.4.1
页
面与
页
表
130 4.4.2 地址变换机构 131 4.4.3 两级和多级
页
表
133 4.5 基本分段存储管理方
【OS学习笔记】三十一 保护模式九:
页
目录
、
页
表
和
页
三者的关系详解
上一篇文章学习了:保护模式九:段
页
式内存管理机制概述 本篇文章接着学习以下内容:
页
目录
概念
页
表
概念
页
目录
、
页
表
与
页
之间的关系 虚拟地址(线性地址)到物理地址的具体变换过程。 1、
页
目录
、
页
表
和
页
的对应关系 第一个支持分
页
式内存管理的是Intel80386处理器。 我们知道,在上一篇文章学习的
页
映射表,是一个具有1048576个
页
表
项的一维表格。又因为每个表项占4字节,所以,映射表的大小是...
操作系统 | 内存管理——
页
表
、
页
表
项、
页
目录
、多级
页
表
一、
页
表
、
页
表
项
页
表
由多个
页
表
项组成,即
页
表
中每一行的就是一个
页
表
项。
页
表
项中记录的信息:
页
框号:记录虚
页
面对应的具体哪个物理
页
面 有效位:标识该
页
表
项对应的虚
页
面有没有读进内存,否则在磁盘 访问位:引用位,标识该
页
面有没有被访问过 修改位:此
页
面在内存中有没有被修改过,如果被修改过,将来是要被持久化到磁盘上的,该标志位就是这个目的 保护位:标识该
页
面的读写等权限
页
表
项一般是由硬件设计的,因为地址转换时大多数是由硬件完成的。 二...
页
目录
项和
页
表
项
页
目录
项和
页
表
项 上图就是
页
目录
项和
页
表
项的格式。可以看出,由于
页
表
或者
页
的物理地址都是4KB对齐的(低12位全是零),所以上图中只保留了物理基地址的高20位(bit[31:12])。低12位可以安排其他用途。 【P】:存在位。为1表示
页
表
或者
页
位于内存中。否则,表示不在内存中,必须先予以创建或者从磁盘调入内存后方可使用。 【R/W】:读写标志。为1表示
页
面可以被读写,为0表示只读。当处理器运行在0、1、2特权级时,此位不起作用。
页
目录
中的这个位对其所映射的所有
页
面起作用。 【U/S】:用户/超级用户标
进程
页
表
两级结构:
页
目录
和
页
表
页
进程
页
表
的基本结构仅适合于小进程地址空间,在大地址空间下,该结构发生了变化。大虚址空间下的内存进程
页
表
结构采用
页
表
页
和
页
目录
。 32位意味着虚址空间可达4GB 虚址空间计算方法:32位的编址为232,232=210*210*210*22=4GB 1k=1024b 1m=1024K 1g=1024M 若虚址空间为2GB,在
页
长4KB时共有 2G=1024K*1024K
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章