4 内存管理
发表于|更新于|操作系统
|总字数:82|阅读时长:1分钟|浏览量:
存储管理
目录
- 存储器的层次结构
- 程序的装载和链接
- 连续分配方式
- 分页存储管理方式
- 分段存储管理方式
- 虚拟存储器的基本概念
- 请求分页存储管理的方式
- 页面置换算法
- 请求分段存储管理的方式
文章作者: Estom
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
相关推荐

2021-03-30
4.5 虚拟存储器
4.5 虚拟存储器的基本概念1 虚拟存储器引入 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。 从上面的描述中可以看出,虚拟内存允许程序不用将地址空间中的每一页都映射到物理内存,也就是说一个程序不需要全部调入内存就可以运行,这使得有限的内存运行大程序成为可能。例如有一台计算机可以产生 16 位地址,那么一个程序的地址空间范围是 0~64K。该计算机只有 32KB 的物理内存,虚拟内存技术允许该计算机运行一个 64K 大小的程序。 概念 没有必要全部装入内存,仅须将那些当前要运行的少数页面或段先装入内存便可运行,其余部分暂留在盘上。 程序在运行时,如果它所要访问的页(段)已调入内存,便可继续执行下去; 但如果程序所要访问的页(段)尚未调...

2021-12-24
nohup
nohup将程序以忽略挂起信号的方式运行起来 补充说明nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 语法nohup(选项)(参数) 选项12--help:在线帮助;--version:显示版本信息。 参数程序及选项:要运行的程序及选项。 实例使用nohup命令提交作业,如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件: 1nohup command > myout.file 2>&1 & 在上面的例子中,输出被重定向到myout.fil...

2020-09-10
12Electron
electron 使用网页技术开发桌面应用。 electron提供了一系列本地应用的框架,主要包括桌面图标、桌面菜单等本地应用独有的部分。 界面显示的部分,由electron提供运行环境。 界面显示的功能,主要由nodejs实现。所以,本质上还是使用nodejs 逻辑说明 在web技术当中,分为前端和后端。前端通过HTML、CSS、JavaScript实现页面的动态变化。 后端使用nodejs处理数据,将数据渲染到页面,并返回新的页面。 前端和后端通过url脚本进行通信。nodejs的脚本不能在前端执行。 nodejs是JavaScript的一个扩展库,使得JavaScript能做到更多的本地数据处理,从而成为可以在服务器端运行,通过虚拟的V8处理器,访问服务器资源。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。Node.js使用JavaScript进行编程,运行在JavaScript引擎上(V8) 前端JavaScript主要参与页面响应,通过接口API向...

2021-12-24
readelf
readelf用于显示elf格式文件的信息 补充说明readelf命令 用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)。 这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依赖BFD库(BFD库是一个GNU项目,它的目标就是希望通过一种统一的接口来处理不同的目标文件),所以即使BFD库有什么bug存在的话也不会影响到readelf程序。 运行readelf的时候,除了-v和-H之外,其它的选项必须有一个被指定。 ELF文件类型 种类型的ELF文件: 可重定位文件:用户和其他目标文件一起创建可执行文件或者共享目标文件,例如lib*.a文件。 可执行文件:用于生成进程映像,载入内存执行,例如编译好的可执行文件a.out。 共享目标文件:用于和其他共享目标文件或者可重定位文件一起生成elf目标文件或者...

2020-01-04
NP问题
1 时间复杂度时间复杂度并不是表示一个程序解决问题需要花多少时间,而是当问题规模扩大后,程序需要的时间长度增长得有多快。也就是说,对于高速处理数据的计算机来说,处理某一个特定数据的效率不能衡量一个程序的好坏,而应该看当这个数据的规模变大到数百倍后,程序运行时间是否还是一样,或者也跟着慢了数百倍,或者变慢了数万倍。 不管数据有多大,程序处理花的时间始终是那么多的,我们就说这个程序很好,具有O(1)的时间复杂度,也称常数级复杂度;数据规模变得有多大,花的时间也跟着变得有多长,这个程序的时间复杂度就是O(n),比如找n个数中的最大值;而像冒泡排序、插入排序等,数据扩大2倍,时间变慢4倍的,属于O(n^2)的复杂度。 还有一些穷举类的算法,所需时间长度成几何阶数上涨,这就是O(a^n)的指数级复杂度,甚至O(n!)的阶乘级复杂度。不会存在O(2n^2)的复杂度,因为前面的那个“2”是系数,根本不会影响到整个程序的时间增长。同样地,O (n^3+n^2)的复杂度也就是O(n^3)的复杂度。因此,我们会说,一个O(0.01n^3)的程序的效率比O(100*n^2)的效率低,尽管在n很小的时候...

2021-12-24
init
initinit进程是所有Linux进程的父进程 补充说明init命令 是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。 语法1init(选项)(参数) 选项12-b:不执行相关脚本而直接进入单用户模式;-s:切换到单用户模式。 参数运行等级:指定Linux系统要切换到的运行等级。 实例几个常用的命令 查看系统进程命令:ps -ef | head查看init的配置文件:more /etc/inittab查看系统当前运行的级别:runlevel 运行级别 到底什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。你也可以在/etc/inittab中查看它的英文介绍。 1234567#0 停机(千万不能把initdefault 设置为0)#1 单用户模式#2 多用户,没有 NFS(和级别3相似,会停止部分服务)#3 完全多用户模式#4 没有用到#5 x11(X...
公告
欢迎参观Estom的小屋




