网上很多介绍3种页面置换算法的例子和过程是不正确的, 本文根据《操作系统概念》第七版对三种算法做介绍,并给出正确的例子以验证算法。
一、FIFO先进先出页面置换算法,创建一个FIFO队列来管理内存中的所有页。在计算缺页率的时候最好把每一次页面调度的队列写出来,这样不容易出错。
下面举例说明:
假设页帧为3,引用串为:7,0,1,2,0,3,0,4,2
页面走向:7,0,1,...
分类:
编程语言 时间:
2015-08-11 12:16:51
阅读次数:
170
分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的。分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管理方案都有这个问题,当位于内存中的代码和数据需要换出时,必须现在备份存储上找到空间,这是问题就产生了。备份存储也有前面所述的与内存相关的碎片问题,只不过访问更慢)。传统上,分页支持一直是由硬件来处理的。最近的...
分类:
其他好文 时间:
2015-07-13 12:16:07
阅读次数:
337
背景内存是现代计算机运行的中心。内存有很大一组字或字节组成,每个字或字节都有它们自己的地址。CPU根据程序计数器(PC)的值从内存中提取指令,这些指令可能会引起进一步对特定内存地址的读取和写入。一个典型指令执行周期,首先从内存中读取指令。接着该指令被解码,且可能需要从内存中读取操作数。在指令对操作数执行后,其结果可能被存回到内存。内存单元只看到地址流,而并不直...
分类:
其他好文 时间:
2015-07-11 12:16:27
阅读次数:
187
所有申请的资源都被其他等待进程占有,那么该等待进程有可能在无法改变其状态,这种情况称为死锁(deadlock)。系统模型进程在使用资源之前必须先申请资源,在使用资源之后要释放资源。进程所申请的资源数量不能超过系统所有资源的总量。在正常操作模式下,进程只能按如下顺序使用资源:
①申请:如果申请不能立即被允许,那么申请进程必须等待,直到它获得该资源为止。
②使用:进程...
分类:
其他好文 时间:
2015-06-19 11:50:12
阅读次数:
75
操作系统概念学习笔记 12=======进程同步(二)管程基本的、高级的同步构造,即管程(monitor)类型。使用:管程类型提供了一组由程序员定义的、在管程内互斥的操作。管程类型的表示包括一组变量的声明(这些变量的值定义了一个类型实例的状态)和对这些变量操作的子程序和函数的实现。管程的类型表示不能直接为各个进程所使用。因此,在管程内定义的子程序只能访问位于管程内那些局部声明的变量和形式参数。类似的...
分类:
系统相关 时间:
2015-06-18 11:37:34
阅读次数:
139
操作系统概念学习笔记 10CPU调度
多道程序操作系统的基础。通过在进程之间切换CPU,操作系统可以提高计算机的吞吐率。对于单处理器系统,每次只允许一个进程运行:任何其他进程必须等待,直到CPU空闲能被调度为止。多道程序的目标是在任何时候都有某些进程在运行,以使CPU的使用率最大化。多道程序的思想较为简单,当一个进程必须等待时,操作系统会从该进程拿走CPU的使用权,而将CPU交给其他进程。CPU-...
分类:
其他好文 时间:
2015-06-12 11:45:03
阅读次数:
147
操作系统概念学习笔记 9线程概述单个进程可以包括多个控制线程。线程 ——一种CPU利用的基本单元,它是形成多线程计算机的基础。线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成。它与属于统一进程的其他线程共享代码段、数据段和其他操作系统资源。一个传统重量级的进程只有单个控制线程,如果进程有多个控制线程,那么能同时做多个任务。单线程与多线程动机一个应用程序通常是作为一个具有多个控...
分类:
编程语言 时间:
2015-05-12 09:23:42
阅读次数:
185
操作系统概念学习笔记 8进程概念进程进程是执行中的程序,这只是非正式的说法。进程不只是程序代码,程序代码称为文本段(代码段),还包括当前活动,通过程序计数器的值和处理器寄存器的内容来表示。此外,进程还包括进程堆栈段(临时数据、函数参数、局部变量、地址)和数据段(包括全全局变量。还可能包括堆(leap),是在进程运行期间动态分配内存。程序是被动实体,如存储在磁盘上包含一系列指令的文件内容(可执行文件)...
分类:
系统相关 时间:
2015-05-06 13:14:49
阅读次数:
272
操作系统概念学习笔记 6系统调用系统调用系统调用(system call),通常用c或c++编写,对底层任务(如需直接访问硬件)可能以汇编语言指令的形式提供。一个系统调用的例子:
编写一个从一个文件读取数据并复制到另一个文件的简单程序,则需要以下系统调用序列:获取输入文件名:
屏幕输入提示
接收输入
获取输出文件名:
屏幕输入提示
接收输入
打开输入文件:
如果文件不存在,放弃
loop:
读取输...
分类:
其他好文 时间:
2015-04-29 13:41:49
阅读次数:
125
操作系统概念学习笔记 5操作系统管理简述进程管理处于执行中的程序被称作进程。进程需要一定的资源(包括cpu时间、内存、文件、I/O设备)来完成任务。这些资源可以在进程创建时分配给进程,也可以在执行时分配给进程。除了在创建时得到各种物理和逻辑资源外,进程还可以接受传输过来的各种初始化数据。程序本身并不是进程,程序是被动的实体。而进程是活动的实体。进程是系统工作的单元。单线程进程具有一个程序计数器来明确...
分类:
其他好文 时间:
2015-04-28 23:00:48
阅读次数:
213