页面置换算法之Clock算法 1.前言 缓冲池是数据库最终的概念,数据库可以将一部分数据页放在内存中形成缓冲池,当需要一个数据页时,首先检查内存中的缓冲池是否有这个页面,如果有则直接命中返回,没有则从磁盘中读取这一页,然后缓存到内存并返回。 但是内存的价值较高,一般来说服务器的内存总是小于磁盘大小的,而且内存不能完全分配给数据库作为缓冲池。这就意味着数据库基本上无法将所有的数据都缓冲到内存中。 当缓冲池满后,如果还有新的页面要被缓冲到池中,就要设计一种页面置换的算法,将一个旧的页面替换成新的页面。 一般来说我们熟悉的算法有下面几种: 下面逐一介绍各种算法。 2. 最佳置换算法 如果被替...

操作系统速记——存储管理 文章目录 存储器的结构 存储管理 连续存储管理 离散存储管理 虚拟存储 请求分页式管理 存储器的结构 存储器一般分为主存储器和辅助存储器两大类 主存储器简称主存,或称为内存,主存可分为系统区和用户区两个区域,系统区用于存放操作系统,用户区用于存放用户程序和数据 存储管理是对主存中的用户区进行管理 存储层次至少分为三级:cache、主存、辅存 存储管理 将用户源程序变为可在内存中执行的程序,通常需要经过编译、链接、装入 地址转换 绝对装入:装入时,程序的物理地址与逻辑地址完全相同 静态重定位:装入时,将程序中的所有逻辑地址修改成物理地...

一句话+一张图说清楚——银行家算法 土豆洋芋山药蛋 2018-05-08 21:10:44 69665 收藏 715 分类专栏: 操作系统【OS】 文章标签: 银行家算法 操作系统 本文试图用一句话+一张图说清楚操作系统中的银行家算法。我相信用一句话可以讲清楚一个算法的核心思想,一张图可以描述整个算法的操作步骤。但本人能力有限,错误之处望大家指出,多谢。 一句话: 当一个进程申请使用资源的时候,银行家算法通过先 试探 分配给该进程资源,然后通过安全性算法判断分配后的系统是否处于安全状态,若不安全则试探分配作废,让该进程继续等待。 那么此时会有一个问题,如何判断系统是否处于安全状态?算...

OpenStack是干嘛的 OpenStack是为云计算服务的,更确切地说,它是工作在IaaS这个层面的一套软件。 我们知道,IaaS全称是“基础设施及服务”,目的是为用户灵活的提供各种资源,从而满足客户的需求。所谓的基础设施,主要就是计算,存储和网络三类资源。那为什么需要OpenStack呢? 云计算的思想是将所有的资源“池”化,也即是说,不管你有多少台服务器,多少个硬盘,我先把它们做成池子,然后再灵活地分配给不同的用户。那么具体谁来做池子,做完池子以后怎么分配给用户,这就是OpenStack做的事情。它就好比电脑的操作系统,每个应用占用多少CPU,占用多少内存,由操作系统来分配。Op...

面向服务的架构(SOA) 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 中文名 面向服务的结构 外文名 Service-Oriented Architecture 外语缩写 SOA 本 质 组件模型 面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用...