操作系统总结

一、进程管理

1.1 基本概念

进程由程序、数据、进程控制块(PCB)组成。

1.2 进程状态

三态模型

 五态模型

1.3 进程间通信

同步与互斥

同步:进程之间的合作。

互斥:临界资源的分配。

临界资源的管理原则:有空即进,无空则等,有限等待,让权等待。

PV操作

只要有一个进程在使用临界资源,那么s就小于0。其它进程再调用它,也小于0,进入休眠。

当所有进程都没有使用临界资源时,那么s=0,可以继续执行。

procedure p(var s:semaphore) begin
    s:=s-1;
    if s<0 then 
        // 进程休眠
    else
        // 继续执行
end;

procedure v(var s:semaphore) begin
    s:=s+1;
    if s<=0 then
        // 唤醒进程
    else
        // 继续执行
end;

利用PV操作可以实现互斥(对变量进行加锁),用于访问临界资源。

p(mutex)
临界区
v(mutex)

1.4 管程

由于需要合理安排PV操作的位置来实现互斥,这就导致编程上容易出错,导致死锁。

管程:管理进程。使用了更为安全的方法来实现互斥。

管程将所有对临界资源的申请(生产者)和释放(消费者)都放入缓冲区中,对缓冲区进行集中管理。

1.5 进程调度

三级调度:高级调度、中级调度、低级调度。

调度算法:先来先服务、时间片轮转、优先级调度、多级反馈调度(时间片和优先级结合)。

1.6 死锁

产生死锁的必要条件:互斥、请示保持、不可剥夺、环路。

死锁的处理策略:鸵鸟策略(不理睬策略)、预防策略、避免策略、检测与解除死锁。

死锁避免算法:银行家算法。进程申请临界资源就相当于到银行贷款,当银行有能力提供贷款时,就给进程分配临界资源,当进程用完临界资源后,释放资源,相当于还贷。也就是分配临界资源前,先检测,后分配。

1.7 线程

线程与进程类似,但是所消耗的资源较少,也叫轻量级进程。

线程在进程内部运行。如:一个软件为一个进程,而这个软件中画图是一个线程,而其它按钮是另一个线程,那么画图和按钮可以分别操作,互不影响。如果画图和按钮都属于同一个线程,那么画图时,再点击按钮,该软件可能会卡住。

二、存储管理

2.1 基本概念

存储器的结构

虚拟地址:并非真实的地址,又称相对地址、逻辑地址。

地址空间:相对地址空间可以转换为绝对地址空间。绝对地址空间又称物理地址空间。

存储空间:逻辑地址空间简称地址空间,物理地址空间简称存储空间。

地址重定位

地址重定位是指逻辑地址转为物理地址的过程。

静态重定位:程序装入主存时已经完成了地址重定位,缺点是必须分配连续的存储区域,且不能扩充存储空间,也不能移动。

动态重定位:程序在运行期间完成地址重定位,优点是存储空间可以扩充和移动,不必分配连续的存储区域。

2.2 存储管理方案

分区存储:每个进程分配一个存储区域,只能在该区域中运行。

分区存储有:固定分区,可变分区,可重定位分区。

分区保护:上界/下界寄存保护、基址/限长寄存器保护。

上界寄存器<=物理地址<=下界寄存器;基址寄存器<=物理地址<基址寄存器+限长寄存器。

2.3 分页存储

纯分页存储管理

分页原理:将进程的地址空间划分为若干个大小相等的区域,称为页。将主存空间划分为和页大小相等的物理块。对该进程分配主存时,将页分别装入不相邻接的物理块中。

地址结构:分页系统的地址由两部分组成,页号和偏移量(页内地址)。

页表:当进程的多个页被分配到多个物理块时,就会产生一个映射关系,即映射表,称为页表。

快表

页式存储至少要访问两次主存,要想提高速度,就在地址映射机构增加一个小容量的联想存储器(称为快表),用于存储访问频率高的少数页。

两级页表机制

为了提示页表的查询效率,对页表分为两级:第一级为外层页表,用于存入页表的物理地址、第二级为页表,用于存入页的物理块号。

2.4 分段存储

将地址空间分为若干个段,段也是连续的存储空间,但是各个段的长度不相等。与分页存储类似,这里也有映射表,称为段表,记录了段在主存中的基地址和长度。

2.5 段页式存储

结合了分页和分段存储的优点,得到段页式存储。

将主存分为若干个大小相等的物理块,将进程的地址空间分为若干个段,再将每个段划分为若干页,以页为单位离散分配。

2.6 虚拟存储

程序局部性原理

程序在执行时会表现出时间和空间的局限性。同一指令可能被反复执行,同一地址(或附近的地址)可能被反复访问。

虚拟存储器的实现

在主存不足时,可以使用硬盘当做主存,即虚拟存储。将暂时不运行的程序置换到硬盘中。

虚拟存储的置换算法有:最佳置换算法、先进先出(FIFO)转换算法、最近最少未使用(LRU)算法、最近未用置换(NUR)算法。

虚拟存储的置换会带来额外的开销,为了减少开销,必须把程序的工作集(即需要运行的那部分程序)驻留在主存中。正确选择工作集的大小(窗口尺寸),可以有效减少开销。

三、设备管理

3.1 概述

在设备管理中,主要利用中断技术、DMA技术、通道技术和缓冲技术。

3.2 IO软件

IO软件分为4层:中断处理程序、设备驱动程序、与设备无关的系统软件、用户软件。

3.3 设备管理的相关技术

通道技术

通道使得数据传输独立于CPU。如串口发送,CPU向串口的通道发命令,串口完成发送后,发出中断信号,无需CPU模拟串口时序。

DMA技术

数据的存取独立于CPU,适用于大量的数据移动。

缓冲技术

如串口接收,引入了FIFO用于缓冲接收到数据,等接收完一帧,再处理数据,可以提高效率。

Spooling技术(外围设备联机操作)

将一台打印机共享给多个用户使用。

3.4 磁盘调度

磁盘调度分为移臂调度和旋转调度两类,先进行移臂调度,再进行旋转调度。

磁盘调度的目标是使磁盘的平均寻道时间最少。

磁盘驱动调度

常用的磁盘调度算法:先来先服务、最短寻道时间优先、扫描算法、单向扫描调度算法。

旋转调度算法

当移动臂定位后,旋转调度应该考虑如下情况:

访问同一磁道不同扇区时,先达到扇区的先进行传送。

访问不同磁道不同扇区,先达到扇区的先进行传送。

访问不同磁道相同扇区,任选一个扇区进行传送。

四、文件管理

4.1 文件与文件系统

常用的文件系统有:FAT、Vfat、NTFS、Ext、HPFS。

4.2 文件的结构与组织

文件的逻辑结构

文件的逻辑结构分为:有结构的记录式文件、无结构的流式文件。

在unix系统中,所有文件都被看作成流式文件。

文件的物理结构

文件的物理结构分为:连续结构、链接结构、索引结构、多个物理块的索引表。

4.3 文件目录

文件目录由文件控制块组成

文件控制块包含:基本信息类、存取控制信息类、使用信息类。

目录结构

目录结构常常使用多级目录结构,也称为树型目录结构。

4.4 存取方法和存储空间的管理

常用的空闲空间管理方法有:空闲区表、位示图、空闲块链、成组链接法。

4.5 文件的使用

操作系统在操作级和编程级向用户提供文件的服务,在操作级提供的命令有:目录管理类命令、文件操作类命令、文件管理类命令。

4.6 文件的共享和保护

文件共享

使用文件链接可以减少文件的复制,是一种文件共享的方法。

常用的文件链接和硬链接和符号链接。

硬链接:与普通文件没区别,但是允许有不同的文件名。

符号链接:与快捷方式相似,并非真实文件。

文件的保护

文件的保护方式有:存取控制矩阵、存取控制表、用户权限表、密码。

4.7 系统的安全与可靠性

系统的安全

从4个级别对文件进行安全性管理:系统级、用户级、目录级、文件级。

文件级的管理,可以对文件设置以下几种属性:只执行、隐藏、只读、读写、共享、系统。

文件系统的可靠性:转储和恢复、日志文件、文件系统的一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值