内存管理<原理篇>(三、交换和分区)

3.1 交换技术

我们在使用电脑的时候,打开的软件一般都很多,占用的内存也很大,而我们实际的物理内存只有4G、8G或16G,但是却能跑超过物理内存的大小的程序,这种超载的处理方式,有两种:交换技术虚拟内存。这一篇先介绍交换技术。

交换技术如图:

在这里插入图片描述

进程1睡眠的时候,会把进程1换出内存,保存在磁盘中,把要运行的进程2换入内存,这就是交换技术。

3.1.1 标准交换

标准交换是内存和备份存储之间进行移动。备份存储通常是快速硬盘。当CPU调度器决定要执行一个进程时,它调用分派器。分派器检查队伍中的下一个进程是否在内存中。如果不在并且没有空闲内存区域,那么分派器会换出(swap out)当前位于内存中的一个进程,并换入(swap in)所需进程。然后,重新加载寄存器,并且将控制权转移到所选进程。(这个就是进程的上下文切换,可以看向进程篇)

  • 换出时间

    假设用户进程的大小为200MB,并且备份存储传输速度为200MB/s(在某东看的数据)。200M进程换入或换出内存时间为1s。总共换入换出就是2s。现在电脑的内存基本是8G,除去操作系统的2G(windows占2G),一共有6G,那如果需要全部换入换出需要60s。这个速度如果是上下文切换的话,黄花菜都凉了。

    显然,上下文切换不可能一整个内存都换入换出,只能把进程相关的内存进行换入换出,这个在后面会分析。

  • 什么进程可以被换出

    进程完全处于空闲状态的优先被换出,或者是在阻塞状态下的进程。

  • 换出的位置

    磁盘空间会被分为文件区和swap区,对换出去的数据就保存在swap区。

现代操作系统并不使用标准交换。标准交换时间太多。有两种变种都是有使用:

  1. 正常情况下,禁止交换;当空闲内存(为被操作系统或进程使用的内存)低于某个阈值时,启用交换。当空闲内存的数量增加了,就停止交换。
  2. 交换进程的部分,以降低交换时间。

3.1.2 移动系统的交换

虽然用于PC的服务器大多数操作系统支持一些交换变形,移动系统通常不支持任何形式的交换。

原因如下:

  1. 移动设备采用闪存,而不是空间更大的硬盘作为它的永久存储。
  2. 闪存写入次数的限制
  3. 内存与闪存之间的吞吐量差。

当空闲内存降低到一定阈值以下时,苹果IOS,不是采用交换,而是要求应用程序自愿放弃分配的内存。只读数据(如代码)可从系统中删除,以后如有必要再从闪存重新加载。已修改的数据(如堆栈)不会被删除。然而,操作系统可以终止任何未能释放足够内存的应用程序。

Android不支持交换,而采用类似IOS使用的策略。如果没有足够可用的空闲内存,则它可以终止进程。然后在终止之前,Android将其应用程序状态写到闪存,以便它能快速重新启动。

3.1.3 例子

先看看进程在内存中运行的样子(也就是上一篇写的运行时重定位):

在这里插入图片描述

当前运行的是进程1,进程1PCB中的基地址为2000,早已经保存在重定位寄存器中了,所以当执行到call 40的时候,就会重新进行重定位,重定位成call 2000+40,这样就能找到合适的位置。

接下来看进程切换到进程3:

在这里插入图片描述

进程到进程3的时候,就会把进程3的PCB的基地址写入到重定位寄存器中,这样进程3运行的时候跟进程1是没区别,都是代码中的代码加上重定位寄存器,拿到结果地址再去寻找。

接下来就看交换了:

在这里插入图片描述

如果当前需要运行进程2,并且没有空间分配给进程2了,此时进程1又处在可被换出状态,进程2就会换入到进程1的位置,并且进程2的PCB的基地址被改成了2000,重定位寄存器也会修改成2000,这样进程2就可以在内存中执行了。

3.2 分区

从上面学习到了交换技术,那操作系统是怎么分配内存给进程的,接下来我们来学习一下之前分区的方方法。(现在没用了,不过可以学习相关思想。)

3.2.1 固定分区分配

  1. 分区大小相等

    最为简单的内存分配方法之一:将内存分为多个固定大小的分区

    哈工大的老师这个举的例子很妙,就是一块大面包,有几个孩子在,我们一般都是平分处理。

在这里插入图片描述

但是平分的话,也有一个很大的缺陷,有的孩子胃口大,吃的比较多,有的孩子胃口小,吃的小。

所以有如下缺点:

  • 进程内存过小:如果一些程序需要的内存比较少,达不到10M,那也分配10M内存给这个程序,明显照常内存浪费。
  • 进程内存过大:如果一些程序需要的内存比较大,一个分区就包含不少,所以也会出现问题。
  • 每一个分区可以只包含一个程序,因此,多道程序的程度受限于分区数。
  1. 分区大小不等

    竟然平分不公平,那可以把面包分成大小不等,由孩子自己来选择。

在这里插入图片描述

虽然这样分面包,小孩子可以自由选择,但是也会同样存在孩子胃口不固定的问题;也就是程序需要的内存是未知的,所以同样也存在上面的内存过小或内存过大问题。

3.2.2 动态分区分配

既然上面的分法不太好,那就每个孩子需要面包的时候,孩子需要多少,我们再分多少,这个就是动态分区分配。

我们先以动画的方式来看看这个分配的方式:

在这里插入图片描述

进程1需要6M内存,内存分配了6M,进程2需要12M,内存分配了12M,进程3需要2M,内存分配了2M。这就是动态分区分配,需要多少分配多少。

  1. 管理

    既然是动态分区分配,那肯定需要管理了,在没有看过管理方案的时候,总是以为需要管理分配出去的内存和空闲的内存,其实不然,只要管理好空闲内存就可以了。分配出去的内存,由进程管理,等到进程不用的时候再释放(应该是这样的,哈哈哈)。

    虽然王道考研说的有两种方式:①空闲分区表 ② 空闲分区链

    不过实际系统上,大部分都是用空闲分区链,因为需要多次的合并,减少节点等操作,比较适合链表结构,不过不管是空闲分区表和空闲分区链意思是一样,就是把空闲分区管理起来,下面就来看看怎么管理的。

在这里插入图片描述

刚开始进程1,进程2没进去内存空闲,空闲分区表

起始地址大小
10M40M

进程1开始加载进内存,大小为6M,内存分配了6M给进程1,剩下的空闲分区表

起始地址大小
16M34M

之后进程2,再次加载进内存,内存继续分配12M给进程2,剩下的空闲分区表

起始地址大小
28M22M

这时候进程1,结束运行,并释放了6M内存,这时候空闲分区表(详细回收下面在描述)

起始地址大小
10M6M
28M28M

这样就有两块空闲内存了。

  1. 分配

    如果这时候进程3,大小2M来申请内存,这时候内存又怎么分配???

在这里插入图片描述

这个时候就需要算法了,下面介绍几个算法:

①首次适配:内存管理器沿着空闲分区表/链开始搜索,直到找到第一个满足条件的空闲区。

​ 优点是一种速度比较快的算法,因为它尽可能少的搜索链表结点。

在这里插入图片描述

②最佳适配:需要搜索整个链表,找出能够容纳进程的最小的空闲区。

​ 缺点:每次都选择最小的分区进行分配,会留下来越来越多的、很小的、难以利用的内存块,也就是内存碎片(外部碎片)。

在这里插入图片描述

③最差适配:由于最佳适配会分裂出很多非常小的空闲区,为了避免这一问题,有想到了一种,总是分配最大的可用空闲区,使新的空闲区比较大从而可以继续使用。

缺点:不断的分配最大的空闲区,会导致较大的空闲区被用完,如果再来一个大进程,那就没有内存可用了。

在这里插入图片描述

④下次适配:下次适配算法其实跟首次适配算法相同,不同点是每次找到合适的空闲区时都记录当时位置,以便在下次寻找空闲区时从上次结束的地方开始搜索。而首次适配是每次都从开始搜索。

缺点:下次适配算法的缺点,低地址和高地址空闲分区都有相同概率被使用,从而导致没有大分区使用。(首次适配如果在低地址区就满足了,就不会往高地址区搜索了)

总结:最后还是接的首次适配算法,性能比较好。

  1. 回收

    回收就是进程使用完了,需要把这块内存释放,由空闲分区表/链接收这块内存,其实回收是比较简单的,主要记得这一思想就行:

    如果在空闲分区表/链中这块释放内存没有相邻的,就需要新创一个表项,保存这个信息。

    如果有相邻的,就进行合并。

  2. 碎片

    内存碎片是怎么产生的,想必到这里我们都知道了吧,就是进程不断的运行,内存管理不断的给新进程分配内存,不断的回收旧程序的内存,但是在这期间,总因为进程大小不一样,会产生各种不同的碎片,这些碎片就是内存碎片,因为这些碎片比较小,可能不一样够再次分配给进程,所以这些碎片暂时不能使用。

    内存碎片也有方法解决:

    第一个就是内存紧缩:啥时候内存紧缩呢?其实就是把内存从新调整个位置,把内存整体往上移动,这样就把之前又碎片的地方都用上了,不过这种方法,都不会使用,因为这种操作会很耗CPU,在3.1.1节的时候就计算过了,一个16G的内存移动一次需要多久,还有就是移动后的内存,进程是不是又要重新定位,也是一个很费时间的。

    第二个就是分段和分页:这个我们下一篇来介绍。

3.3 总结

想不到这一篇写这么久,这一篇其实很重要,虽然交换技术和分区技术现在不怎么用了,但是现在使用的都是这两种技术进化版,所以这两个技术确实有学习的必要,做到一个承上启下的作用。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CH1 操作系统概论............................................................................................................................1 1.1 操作系统概观............................................................................................................................1 1.1.1 操作系统的定义和目标.....................................................................................................1 1.1.2 操作系统的作用与功能.....................................................................................................2 1.1.3 操作系统的主要特性.........................................................................................................4 1.2 操作系统的形成和发展............................................................................................................6 1.2.1 人工操作阶段.....................................................................................................................6 1.2.2 管理程序阶段.....................................................................................................................6 1.2.3 多道程序设计与操作系统的形成.....................................................................................8 1.2.4 操作系统的发展与分类...................................................................................................11 1.3 操作系统提供的服务和用户接口..........................................................................................18 1.3.1 操作系统提供的基本服务...............................................................................................18 1.3.2 操作系统提供的用户接口...............................................................................................19 1.3.3 程序接口与系统调用.......................................................................................................20 1.3.4 操作接口与系统程序.......................................................................................................22 1.4 操作系统的结构设计..............................................................................................................26 1.4.1 操作系统的构件...............................................................................................................26 1.4.2 整体式结构的操作系统...................................................................................................29 1.4.3 层次式结构的操作系统...................................................................................................29 1.4.4 虚拟机结构的操作系统...................................................................................................31 1.4.5 客户/服务器与微内核结构的操作系统..........................................................................32 1.4.6 操作系统功能的实现模型...............................................................................................35 1.4.7 实例研究:Windows 2000/XP 客户/服务器结构...........................................................37 1.5 流行操作系统简介..................................................................................................................41 1.5.1 DOS 操作系统...................................................................................................................41 1.5.2 Windows 操作系统............................................................................................................42 1.5.3 UNIX 操作系统家族.........................................................................................................44 1.5.4 自由软件和Linux 操作系统............................................................................................45 1.5.5 IBM系列操作系统...........................................................................................................47 1.5.6 其他流行操作系统...........................................................................................................49 1.6 本章小结.................................................................................................................................50 CH2 处理器管理..............................................................................................................................56 2.1 中央处理器..............................................................................................................................56 2.1.1 单处理器系统和多处理器系统.......................................................................................56 2.1.2 寄存器..............................................................................................................................57 2.1.3 机器指令与特权指令.......................................................................................................58 2.1.4 处理器状态.......................................................................................................................58 2.1.5 程序状态字寄存器...........................................................................................................59 V 2.2 中断技术.................................................................................................................................60 2.2.1 中断的概念.......................................................................................................................60 2.2.2 中断源分类.......................................................................................................................60 2.2.3 中断装置..........................................................................................................................61 2.2.4 中断处理程序...................................................................................................................63 2.2.5 中断事件的具体处理方法...............................................................................................63 2.2.6 中断的优先级和多重中断...............................................................................................68 2.2.7 实例研究:Windows 2000/XP 中断处理........................................................................69 2.2.8 实例研究:Solaris 中断处理..........................................................................................75 2.2.9 实例研究:Linux 中断处理.............................................................................................76 2.3 进程及其实现..........................................................................................................................79 2.3.1 进程的定义和属性...........................................................................................................79 2.3.2 进程的状态和转换...........................................................................................................80 2.3.3 进程的描述.......................................................................................................................83 2.3.4 进程切换与模式切换.......................................................................................................87 2.3.5 进程的控制.......................................................................................................................88 2.3.6 实例研究:UNIX SVR4 进程管理...................................................................................91 2.3.7 实例研究:Linux 进程管理.............................................................................................94 2.4 线程及其实现..........................................................................................................................97 2.4.1 引入多线程技术的动机...................................................................................................97 2.4.2 多线程环境中的进程与线程...........................................................................................98 2.4.3 线程的实现.....................................................................................................................103 2.4.4 实例研究:Solaris 的进程与线程................................................................................106 2.4.5 实例研究:Windows 2000/XP 的进程与线程..............................................................110 2.5 处理器调度............................................................................................................................116 2.5.1 处理器调度的层次.........................................................................................................117 2.5.2 高级调度.........................................................................................................................117 2.5.3 中级调度........................................................................................................................118 2.5.4 低级调度........................................................................................................................118 2.5.5 选择调度算法的原则.....................................................................................................119 2.6 批处理作业的管理与调度....................................................................................................119 2.6.1 作业和进程的关系.........................................................................................................119 2.6.2 批处理作业的管理.........................................................................................................120 2.6.3 批处理作业的调度.........................................................................................................121 2.6.4 作业调度算法.................................................................................................................121 2.7 低级调度................................................................................................................................124 2.7.1 低级调度的功能.............................................................................................................124 2.7.2 低级调度算法.................................................................................................................124 2.7.3 实时调度........................................................................................................................127 2.7.4 多处理器调度.................................................................................................................128 2.7.5 实例研究:UNIX SVR4 调度算法.................................................................................132 2.7.6 实例研究:Windows 2000/XP 调度算法......................................................................133 VI 2.7.7 实例研究:Linux 调度算法...........................................................................................140 2.8 本章小结................................................................................................................................143 CH3 并发进程................................................................................................................................151 3.1 并发进程................................................................................................................................151 3.1.1 顺序程序设计.................................................................................................................151 3.1.2 进程的并发性.................................................................................................................151 3.1.3 与时间有关的错误.........................................................................................................153 3.1.4 进程的交互(Interaction Among Processes):协作和竞争........................................155 3.2 临界区管理............................................................................................................................156 3.2.1 互斥和临界区.................................................................................................................156 3.2.2 临界区管理的尝试.........................................................................................................157 3.2.3 实现临界区管理的软件方法.........................................................................................158 3.2.4 实现临界区管理的硬件设施.........................................................................................160 3.3 信号量与PV 操作.................................................................................................................162 3.3.1 同步和同步机制.............................................................................................................162 3.3.2 记录型信号量与PV 操作..............................................................................................163 3.3.3 用记录型信号量实现互斥.............................................................................................166 3.3.4 记录型信号量解决生产者-消费者问题.......................................................................168 3.3.5 记录型信号量解决读者-写者问题...............................................................................170 3.3.6 记录型信号量解决理发师问题.....................................................................................172 3.4 管程.......................................................................................................................................172 3.4.1 管程和条件变量.............................................................................................................172 3.4.2 Hoare 方法实现管程.......................................................................................................175 3.4.3 Hanson 方法实现管程....................................................................................................178 3.5 进程通信................................................................................................................................184 3.5.1 信号通信机制.................................................................................................................184 3.5.2 共享文件通信机制` .......................................................................................................185 3.5.3 共享存储区通信机制.....................................................................................................188 3.5.4 消息传递通信机制.........................................................................................................189 3.5.5 有关消息传递实现的若干问题.....................................................................................192 3.6 死锁.......................................................................................................................................195 3.6.1 死锁的产生.....................................................................................................................195 3.6.2 死锁的定义.....................................................................................................................196 3.6.3 死锁的防止.....................................................................................................................197 3.6.4 死锁的避免.....................................................................................................................198 3.6.5 死锁的检测和解除.........................................................................................................206 3.7 实例研究:WINDOWS 2000/XP 的同步和通信机制...........................................................209 3.7.1 Windows 2000/XP 的同步和互斥机制...........................................................................209 3.7.2 Windows2000/XP 进程通信机制....................................................................................210 3.8 实例研究:LINUX 信号量机制.............................................................................................211 3.9 本章小结................................................................................................................................212 VII CH4 存储管理................................................................................................................................225 4.1 主存储器................................................................................................................................225 4.1.1 存储器的层次.................................................................................................................225 4.1.2 快速缓存(caching) ....................................................................................................226 4.1.3 地址转换与存储保护.....................................................................................................227 4.2 连续存储空间管理................................................................................................................227 4.2.1 单用户连续存储管理.....................................................................................................227 4.2.2 固定分区存储管理.........................................................................................................229 4.2.3 可变分区存储管理.........................................................................................................230 4.3 分页式存储管理....................................................................................................................235 4.3.1 分页式存储管理的基本原理.........................................................................................235 4.3.2 相联存储器和快表.........................................................................................................236 4.3.3 分页式存储空间的分配和去配.....................................................................................237 4.3.4 分页存储空间的页面共享和保护.................................................................................238 4.3.5 多级页表........................................................................................................................238 4.3.6 反置页表........................................................................................................................240 4.4 分段式存储管理....................................................................................................................241 4.4.1 程序的分段结构.............................................................................................................241 4.4.2 分段式存储管理的基本原理.........................................................................................241 4.4.3 段的共享........................................................................................................................243 4.4.4 分段和分页的比较.........................................................................................................243 4.5 虚拟存储管理........................................................................................................................243 4.5.1 虚拟存储器的概念.........................................................................................................243 4.5.2 请求分页虚拟存储管理.................................................................................................245 4.5.3 请求分段虚拟存储管理.................................................................................................261 4.5.4 请求段页式虚拟存储管理.............................................................................................262 4.6 实例研究:INTEL X86/PENTIUM 存储管理硬件设施...........................................................263 4.6.1 Intel x86/Pentium 段机制——段选择符和段描述符....................................................264 4.6.2 Intel x86/Pentium 运行模式选择....................................................................................265 4.6.3 Intel x86/Pentium 地址转换............................................................................................265 4.6.4 Intel x86/Pentium 页式或段页式地址转换....................................................................266 4.7 实例研究:WINDOWS 2000/XP 虚拟存储管理...................................................................268 4.7.1 进程地址空间布局.........................................................................................................268 4.7.2 用户空间内存分配.........................................................................................................269 4.7.3 内存管理的实现.............................................................................................................273 4.8 实例研究:LINUX 的存储管理.............................................................................................279 4.8.1 Linux 存储管理概述.......................................................................................................279 4.8.2 虚拟地址空间的组织和管理.........................................................................................279 4.8.3 物理内存空间的管理.....................................................................................................280 4.8.4 用户态内存的申请与释放.............................................................................................281 4.8.5 内存的共享和保护.........................................................................................................282 VIII 4.8.6 交换空间、页面的换出和调入.....................................................................................283 4.8.7 缓冲机制........................................................................................................................284 4.9 本章小结................................................................................................................................285 CH5 设备管理................................................................................................................................292 5.1 I/O 硬件原理..........................................................................................................................292 5.1.1 I/O 系统...........................................................................................................................292 5.1.2 I/O 控制方式...................................................................................................................293 5.1.3 设备控制器.....................................................................................................................297 5.2 I/O 软件原理..........................................................................................................................298 5.2.1 I/O 软件的设计目标和原则...........................................................................................298 5.2.2 I/O 中断处理程序...........................................................................................................299 5.2.3 设备驱动程序.................................................................................................................300 5.2.4 与硬件无关的操作系统I/O 软件.................................................................................300 5.2.5 用户空间的I/O 软件.....................................................................................................302 5.3 具有通道的I/O 系统管理.....................................................................................................302 5.3.1 通道命令和通道程序.....................................................................................................302 5.3.2 I/O 指令和主机I/O 程序................................................................................................304 5.3.3 通道启动和I/O 操作过程.............................................................................................305 5.4 缓冲技术................................................................................................................................306 5.4.1 单缓冲............................................................................................................................306 5.4.2 双缓冲............................................................................................................................307 5.4.3 多缓冲............................................................................................................................307 5.5 驱动调度技术........................................................................................................................308 5.5.1 存储设备的物理结构.....................................................................................................308 5.5.2 循环排序........................................................................................................................309 5.5.3 优化分布........................................................................................................................310 5.5.4 交替地址........................................................................................................................311 5.5.5 搜查定位........................................................................................................................311 5.5.6 独立磁盘冗余阵列.........................................................................................................313 5.5.7 提高磁盘I/O 速度的一些方法.....................................................................................316 5.6 设备分配................................................................................................................................316 5.6.1 设备独立性.....................................................................................................................316 5.6.2 设备分配........................................................................................................................317 5.7 虚拟设备................................................................................................................................318 5.7.1 问题的提出.....................................................................................................................318 5.7.2 SPOOLING 的设计和实现.............................................................................................319 5.7.3 SPOOLING 应用例子.....................................................................................................321 5.8 实例研究:WINDOWS 2000/XP 的I/O 系统........................................................................321 5.8.1 Windows 2000/XP I/O 系统结构和组件.........................................................................321 5.8.2 Windows 2000/XP I/O 系统的数据结构.........................................................................325 5.8.3 Windows2000/XP 设备驱动程序....................................................................................328 IX 5.8.4 Windows 2000/XP I/O 处理.............................................................................................331 5.8.5 Windows 2000/XP 高速缓存管理................................................................................333 5.9 实例研究:LINUX 设备管理.................................................................................................344 5.9.1 Linux 设备管理概述.......................................................................................................344 5.9.2 Linux 硬盘管理...............................................................................................................345 5.9.3 Linux 网络设备...............................................................................................................346 5.9.4 Linux 设备驱动程序.......................................................................................................347 5.10 本章小结..............................................................................................................................347 CH6 文件管理................................................................................................................................352 6.1 文件.......................................................................................................................................352 6.1.1 文件的概念.....................................................................................................................352 6.1.2 文件的命名.....................................................................................................................353 6.1.3 文件的类型.....................................................................................................................353 6.1.4 文件的属性.....................................................................................................................354 6.1.5 文件的存取方法.............................................................................................................355 6.1.6 文件的使用.....................................................................................................................356 6.2 文件目录................................................................................................................................357 6.2.1 文件目录与文件目录项.................................................................................................357 6.2.2 一级目录结构.................................................................................................................358 6.2.3 二级目录结构.................................................................................................................358 6.2.4 树形目录结构.................................................................................................................359 6.3 文件组织与数据存储............................................................................................................361 6.3.1 文件的存储.....................................................................................................................361 6.3.2 文件的逻辑结构.............................................................................................................361 6.3.3 文件的物理结构.............................................................................................................365 6.4 文件系统其他功能的实现....................................................................................................371 6.4.1 文件操作的实现.............................................................................................................371 6.4.2 UNIX/Linux 文件操作系统调用.....................................................................................372 6.4.3 文件卷的安装和使用.....................................................................................................375 6.4.4 文件共享........................................................................................................................377 6.4.5 层次式文件系统模型.....................................................................................................382 6.4.6 辅存空间管理.................................................................................................................383 6.4.7 内存映射文件.................................................................................................................385 6.4.8 虚拟文件系统.................................................................................................................386 6.5 实例研究:LINUX 文件管理.................................................................................................387 6.5.1 Linux 文件管理概述.......................................................................................................387 6.5.2 Linux 文件系统的安装和管理........................................................................................388 6.5.3 虚拟文件系统VFS.........................................................................................................389 6.5.4 文件系统管理的缓冲机制.............................................................................................392 6.5.5 系统打开文件表.............................................................................................................394 6.5.6 EXT2 文件系统...............................................................................................................395 X 6.6 实例研究:WINDOWS 2000/XP 文件系统...........................................................................397 6.6.1 Windows 2000/XP 文件系统概述...................................................................................397 6.6.2 Windows2000/XP 文件系统模型和FSD 体系结构.......................................................398 6.6.3 NTFS 文件系统驱动程序...............................................................................................401 6.6.4 NTFS 在磁盘上的结构...................................................................................................402 6.6.5 NTFS 可恢复性支持.......................................................................................................405 6.6.6 NTFS 安全性支持...........................................................................................................405 6.7 本章小结................................................................................................................................406 CH7 操作系统的安全与保护........................................................................................................411 7.1 安全性概述............................................................................................................................411 7.2 安全威胁及其类型................................................................................................................411 7.3 保护.......................................................................................................................................415 7.3.1 操作系统保护层次.........................................................................................................415 7.3.2 内存储器的保护.............................................................................................................415 7.3.3 面向用户的访问控制.....................................................................................................415 7.3.4 面向数据的访问控制.....................................................................................................416 7.4 入侵者...................................................................................................................................416 7.4.1 入侵技术.........................................................................................................................416 7.4.2 口令保护.........................................................................................................................417 7.4.3 入侵检测.........................................................................................................................420 7.5 病毒(恶意软件)................................................................................................................421 7.5.1 病毒及其威胁.................................................................................................................421 7.5.2 病毒的特性.....................................................................................................................423 7.5.3 病毒的类型.....................................................................................................................423 7.5.4 反病毒的方法.................................................................................................................423 7.5.5 电子邮件病毒.................................................................................................................425 7.6 保护的基本机制、策略与模型............................................................................................426 7.6.1 机制、策略与模型.........................................................................................................426 7.6.2 身份认证机制.................................................................................................................438 7.6.3 授权机制.........................................................................................................................442 7.6.4 加密机制.........................................................................................................................452 7.6.5 审计................................................................................................................................456 7.7 实例研究:WINDOWS 2000/XP 的安全机制.......................................................................457 7.7.1. Windows 2000/XP 安全性概述.......................................................................................457 7.7.2. Windows2000/XP 安全性系统组件................................................................................457 7.7.3. Windows2000/XP 保护对象............................................................................................458 7.7.4. 访问控制策略.................................................................................................................458 7.7.5. 访问令牌.........................................................................................................................459 7.7.6. 安全描述符.....................................................................................................................459 7.8 本章小结................................................................................................................................461 CH8 网络和分布式操作系统........................................................................................................465 XI 8.1 计算机网络概述....................................................................................................................465 8.1.1 计算机网络的概念.........................................................................................................465 8.1.2 数据通信基本概念.........................................................................................................467 8.1.3 网络体系结构.................................................................................................................468 8.2 网络操作系统........................................................................................................................474 8.2.1 网络操作系统概述.........................................................................................................474 8.2.2 几个流行的网络操作系统.............................................................................................475 8.2.3 网络操作系统实例.........................................................................................................475 8.3 分布式操作系统....................................................................................................................477 8.3.1 分布式系统概述.............................................................................................................477 8.3.2 分布式进程通信.............................................................................................................478 8.3.3 分布式资源管理.............................................................................................................484 8.3.4 分布式进程同步.............................................................................................................485 8.3.5 分布式系统中的死锁.....................................................................................................495 8.3.6 分布式文件系统.............................................................................................................497 8.3.7 分布式进程迁移.............................................................................................................502 8.4 实例研究:WINDOWS2000 网络体系结构和网络服务.......................................................504 8.4.1 Windows 2000 网络体系结构.........................................................................................504 8.4.2 WindowS 2000 的层次化网络服务.................................................................................518 8.5 本章小结................................................................................................................................522
PgSQL(PostgreSQL)是一种开源的关系型数据库管理系统(RDBMS),它具有可扩展性、高性能和丰富的功能。以下是一些关于PgSQL的介绍: 1. 可扩展性:PgSQL支持水平扩展和垂直扩展,可以通过添加更多的服务器节点或增加硬件资源来提高系统的性能和容量。 2. 高性能:PgSQL使用了先进的查询优化器和并发控制机制,可以处理大规模数据和高并发访问的需求。它还支持索引、分区和并行查询等功能,提供了快速和高效的数据访问方式。 3. 丰富的功能:PgSQL支持多种数据类型,包括整数、浮点数、字符串、日期时间、数组、JSON等。它还提供了丰富的内置函数和扩展插件,可以满足各种复杂的数据处理和分析需求。 4. ACID事务支持:PgSQL采用了ACID(原子性、一致性、隔离性和持久性)事务模型,确保数据的完整性和一致性。它支持多版本并发控制(MVCC)机制,可以实现高并发的读写操作。 5. 安全性:PgSQL提供了强大的安全功能,包括用户认证、访问控制和数据加密等。它支持SSL/TLS协议进行数据传输的加密,可以保护敏感数据的安全性。 6. 可扩展的编程接口:PgSQL支持多种编程语言的接口,包括C/C++、Java、Python、Ruby等,开发人员可以使用自己熟悉的编程语言进行数据库应用程序的开发。 7. 社区支持:PgSQL是一个开源项目,拥有庞大的社区支持和活跃的开发者社区。用户可以通过官方文档、邮件列表、论坛等途径获取帮助和交流经验。 总之,PgSQL是一种功能强大、可靠性高的关系型数据库管理系统,适用于各种规模和复杂度的应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值