导图社区 计算机操作系统
操作系统是管理和控制计算机硬件与软件资源的计算机程序,用户和计算机的接口,同时也是计算机硬件和其他软件的接口。本图是对书本的全面梳理,每个自己不理解的知识点都做了很详尽的解释。
编辑于2020-01-30 03:40:38计算机操作系统
操作系统引论
操作系统的目标和作用
操作系统的目标
方便性
让计算机易于操作,易学易用
有效性
两层含义:1:提高系统的利用率 2:合理组织计算机的操作流程,加速程序的运行,总之提高系统的吞吐量
可扩充性
方便的增添新的功能和模块
开放性
开放互联,操作系统遵守世界标准规范
操作系统的作用
OS作为用户与计算机硬件系统之间的接口
在OS的帮助下,用户能够方便,快捷,可靠的运行程序
OS作为计算机系统资源的管理者
OS对,处理机,存储器,I/0设备,以及文件进行管理
OS实现了对计算机资源的抽象
首先在裸机上覆盖一层I/O设备管理软件,实现了第一次抽象,在第一层上覆盖文件处理软件,实现第二次抽象。OS通过在计算机硬件上安装多层系统软件,增强系统功能,隐藏细节实现了OS对计算机资源的抽象
推动操作系统发展的主要动力
不断提高计算机资源的利用率
方便用户
器件的不断更新换代
不断提出新的应用需求
操作系统的发展过程
未配置操作系统的计算机系统
人工操作方式
脱机I/O/联机I/O
脱机I/O是指输入/输出工作不受主机直接 控制,而由卫星机专门负责完成I/O, 主 机专门快速计算任务,从而二者可以并行 操作。 联机I/O是指作业的输入、 调入内存以及 结果输出都在CPU直接控制下进行
批处理操作系统
单道批处理系统
单道批处理系统的处理过程
为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。其处理程是:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统
单道批处理系统的缺点
单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I0请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。
多道批处理系统
为了提高系统的利用率和吞吐量所以引入了多道批处理系统 多道批处理系统有两个特点: 1. 多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。 2. 成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。 多道处理系统的优点是由于系统资源为多个作业所共享,其工作方式是作业之间自动调度执行。并在运行过程中用户不干预自己的作业,从而大大提高了系统资源的利用率和作业吞吐量。其缺点是无交互性,用户一旦提交作业就失去了对其运行的控制能力,而且是批处理的,作业周转时间长,用户使用不方便。
多道程序设计的基本概念
多道批处理系统的缺点
多道批处理系统需要解决的问题
分时系统
为什么引入时分系统:为了满足人机交互 分时操作系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。
分时系统的引入
为了: 人机交互 共享主机
分时系统实现中的关键问题
用户无法与自己的作业进行交互 需要解决的问题 及时接受:为每个终端配置多路卡,和缓冲区,来处理及时接受的问题 及时处理: 作业直接进入内存,获得处理机的资源 采用轮转运行的方式(系统规定每个作业只能运行一个时间片(30ms))
分时系统的特征
多路性:允许多个终端连接一个主机 独立性:每个用户的操作互不干扰 及时性:用户能在很短的时间内获得响应 交互性:用户可通过终端进行人机对话
实时系统
能及时响应外部时间的请求
实时系统的类型
工业控制系统 信息查询系统 多媒体系统 嵌入式系统
实时任务的类型
周期性实时任务:外部设备周期的发信号给计算机,要求他按指定周期循环执行 非周期实时任务:没有周期性,单必须要有截止时间 截止时间可以分为:开始 截止时间,在这个时间里必须开始执行 完成截止时间:必须完成 硬实时任务和 系统必须满足任务对截止时间的要求,要不然会发生重大错误 软实时任务:就算错过了截止时间,影响也不太大
实时系统和分时系统特征的比较
多路性: 独立性: 及时性: 交互性: 可靠性:分时系统要求系统可靠,实时系统要求系统高度可靠
微机操作系统的发展
单用户任务 操作系统
只允许一个用户上机,且用户程序作为一个任务运行
单用户多任务操作系统
只允许一个用户上机,但是允许用户吧程序分为若干个任务,并发执行(多开)
多用户多任务操作系统
允许用户通过各自的终端,使用同一台机器,共享主机系统的各种资源,每个用户程序可分为几个任务,使他们并发执行
操作系统的基本特性
并发
并发性 (Concurrence) 是指两个或多个事件在同一时间间隔内发生。
并行与并发
引入进程
共享
系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式
同时访问方式
虚拟
是指通过技术吧一个物理实体变成若干个逻辑上的对应物
时分复用技术
空分复用技术
异步
所谓异步性是指进程以不可预知的速度向前推进。内存中的每个进程何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需要多少时间才能完成等,都是不可预知的。 比如,当正在执行的进程提出某种资源请求时,如打印请求,而此时打印机正在为其他某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。可见,由于资源等因素的限制,进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。 尽管如此,但只要在操作系统中配置有完善的进程同步机制,且运行环境相同,作业经多次运行都会获得完全相同的结果。因此,异步运行方式是允许的,而且是操作系统的一个重要特征。
操作系统的主要功能
处理机管理功能
进程控制
进程同步
进程同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系
进程通信
调度
储存器管理功能
内存分配
内存保护
地址映射
内存扩充
设备管理功能
缓冲管理
设备分配
设备处理
文件管理功能
主要任务是对用户文件和系统文件进行管理,方便用户使用
文件储存空间的管理
为每个文件分配必要的外存空间,提高外存利用率,进而提高文件系统的存取速度
目录管理
为每个文件间建立一个目录项,包括文件名,文件属性,文件在磁盘上的物理位置,并对众多的目录项加以有效的组织 实现按名存取
文件的读/写管理和保护
文件读写管理:根据用户的请求,从外存中读取数据,或将数据写入外存。在进行文件读写时系统根据用户给出的文件名检索文件在外存中的位置,然后根据文件读写指针进行文件读写。 文件保护:防止未经允许的用户存取文件 2:防止冒名顶替存取文件 3:防止以不正确的方式使用文件
操作系统与用户之间的接口
用户接口
程序接口
现代操作系统的新功能
系统安全
网络功能和服务
支持多媒体
OS结构设计
传统操作系统结构
模块化结构OS
分层式结构OS
无结构操作系统
客户/服务器模式简介
面向对象技术的基本概念
微内核OS结构
进程的描述与控制
前趋图和程序执行
前趋图用于描述程序的顺序执行和并发执行的情况
前趋图
为了更好的描述程序的顺序和并发执行情况 一个有向无循环图,用于描述程序的先后执行顺序
程序的顺序执行
程序的顺序执行
程序一步步执行
程序顺序执行执行的特征
有三个特征: 顺序性:每个操作结束后,下一个进程才能执行 封闭性:在封闭的环境下运行,运行时独占全机资源 可再现性:只要条件和初始情况一样,结果就一样
程序并发执行
并非所有的进程都能并发执行,只有不纯在先后关系的进程才能并发执行 并发的目的:,提高资源的利用率
程序 的并发执行
进程可以同执行
程序并发执行的特征
并发的特征: 间断性:程序在并发执行的过程中共享系统资源,以及为完成同一项任务互相合作,导致程序之间形成制约关系。 失去封闭性:不再独占系统资源 不可再现性:不同程序可能共享一个资源,当前一个程序改变这个资源时,后一个程序的接收到的初始条件不确定
进程的描述
进程的定义和特征
进程的定义
进程的引入:为了能使用程序并发执行,并且可以对并发执行的程序加以描述和控制 进程: 是程序的一次执行 是一个程序及其数据在处理机上顺序执行时所发生的活动 是在具有独立功能的程序在数据集合运行的过程,是系统进行资源分配和调用的单位 过程: 为进程分配一个专门的数据结构(PCB)用PCB来控制和管理进程 包括:程序段,相关的数据段,和PCB三个部分
进程的特征
特征: 动态性:进程是运行的进程实体 并发性:多个进程实体同存于内存中,在一段时间内 独立性:进程实体是一个独立的单位参与运行和独立结束调度的基本单位 异步性:进程以不可预知的速度向前进行 比较: a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
进程的基本状态及转换
三种基本状态
就绪状态:进程已处于准备好运行的状态(没有获得CPU) 执行状态:正在执行(在单处理系统中,只有一个进程处于执行状态) 阻塞状态:在执行过程中发生事件(I/O请求,申请缓冲区失败)暂时无法继续执行的状态
三种基本状态的转换
执行和就绪可以相互转行 执行到终止 执行到阻塞:发生了某事件导致进程的执行受阻(访问了临界资源,正被其他进程访问时) 执行到就绪:1.时间片结束而被终止, 2.被高优先级进程抢占,3.进程创建完成,其状态就会转换到就绪状态 阻塞到就绪 就绪到执行:为其分配了处理机
创建状态和终止状态
创建状态
进程是由创建产生的, 过程:申请PCB->向PCB中填写控制和管理进程的信息->为该进程分配运行的资源 -》把进程转入就绪状态并插入就绪队列之中
终止状态
进程终止有两个步骤: 1:操作系统进行善后工作 2:最后将PCB清零
挂起操作和进程的状态转换
挂起操作的引入
引入挂起的原因: cpu的速度很快,iO的速度很慢, 1:用户的需要 2:父进程请求(父进程协调子进程的工作) 3:符合调节的需要(当系统任务较重时 4:操作系统的需要
引入挂起原语操作后三个进程状态的转换
引入挂起操作后五个进程状态转换
阻塞和挂起的区别
进程是否在等待事件?阻塞与否 进程是否在被换出内存?挂起与否
进程管理中的数据结构
操作系统中用于管理控制的数据结构
进程控制块PCB的作用
其作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位或与其它进程并发执行的进程。 1.作为独立运行基本单位的标志 2.能实现间断性运行方式 3.提供进程管理所需要的信息 4.提供进程调度所需要的信息 5.实现与其它进程的同步与通信
进程控制块的信息
1.进程标识符:用于唯一标识一个进程 2.处理机状态:主要由各种寄存器中的内容组成包括 1. 通用寄存器 2.指令寄存器 3.程序状态字psw 4.用户指针栈 3.进程调度的信息 1.进程状态 2.进程优先级 3.进程调度的其他信息 4。事件 4.进程控制信息 1.程序和数据的地址 2.进程同步和通信机制 3.资源清单 4.链接指针
进程控制块的组织方式
进程的控制
操作系统内核
进程的创建
进程的终止
进程的阻塞与唤醒
进程的挂起与激活
进程同步
我们把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步
进程同步的基本概念
两种形式的制约关系 临界资源 临界区 同步机制应遵守的原则
两种形式的制约关系
临界资源
临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享
临界区
每个进程中访问临界资源的那段代码称为临界区(criticalsection),每次只允许一个进程进入临界区,进入后,不允许其他进程进入。不论是硬件临界资源还是软件临界资源,多个进程必须互斥的对它进行访问。多个进程涉及到同一个临界资源的的临界区称为相关临界区。使用临界区时,一般不允许其运行时间过长,只要运行在临界区的线程还没有离开,其他所有进入此临界区的线程都会被挂起而进入等待状态,并在一定程度上影响程序的运行性能。
同步机制应遵循的规则
硬件的同步机制
关中断
利用Test-and-Set指令实现互斥
利用Swap指令实现进程互斥
信号量机制
整形信号量
记录型信号量
AND型信号量
信号量级
信号量的应用
利用信号量实现互斥
利用信号量实现前驱关系
管程机制
管程的定义
条件变量
经典进程的同步问题
生产者-消费者问题
利用记录型信号量解决生产者---消费者问题
利用AND信号量解决生产者消费者问题
利用管程解决生产者消费者者问题
哲学家进餐问题
进程通信
进程通信的类型
共享存储器系统
管道通信系统
消息传递系统
客户机服务器系统
消息传递通信的实现方式
直接消息传递系统
直接通信原语
消息的格式
进程的同步方式
通信链路
间接通信-信箱通信
信箱通信是间接通信方式,需要通过某种中间实体(如共享数据结构来完成)
信箱的结构
信箱头
信箱体
信箱通信原语
信箱的创建和撤销
消息的发送和接收
信箱的类型
私用信箱
公用信箱
共享信箱
直接消息传递系统实例
消息缓冲队列通信中的数据结构
发送原语
线程的基本概念
Windows中分配CPU时间的基本单位是线程。线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
线程的引入
为了减少程序在并发执行时所付出的时空开销(把线程作为调度,分派的基本单位,而进程还拥有资源),使OS具有更好的并发性
线程与进程的比较
调度性
进程调度开销大 线程调度开销小 同一进程中,线程的切换不会引起进程切换,但从一个进程切换到另一个进程中会引起进程的切换
并发性
线程并发比进程并发,让OS拥有了更好的并发性
拥有资源
进程拥有资源 线程不拥有系统资源,仅有一点必不可少的,保证独立运行的资源
独立性
进程独立性高 线程独立性低
系统开销
在创建和撤销时,系统需要回收进程的进程控制块,分配或回收内存空间,I/O设备等。OS付出的开销明显大于线程的系统开销
支持多处理机系统
单线程进程只能运行在一个处理机上 多线程进程可以运行在很多处理机上
线程的状态和线程控制块
线程的实现
线程的实现方式
线程的实现
线程的创建和终止
处理机调度与死锁
处理机调度的层次和调度算法的目标
处理机调度的层次
处理机调度算法的目标
1.提高系统资源的利用率 2.公平性:各个进程都获得合理的cpu时间 3.平衡性:让各种外部设备都能经常处于忙碌状态 4.策略强制执行:所制定的策略其中包括安全策略,只要需要就必须准确的执行
作业与作业调度
批处理系统中的作业
作业调度的主要任务
接纳多少个作业
接纳那些作业
先来先服务和短作业优先算法
FCFS算法
选择一个先进入队列的进程,为其分配cpu直到完成,或者阻塞后,才分配给其他进程cpu资源
短作业优先的调度算法
作业的时间越短,优先级越高,越先进行处理 缺点:必须知道作业的运行时间 对长作业很不利 人机交互无法实现 无法考虑作业的紧迫程度不能保证作业及时处理
优先级调度算法和高响应比优先调度算法
优先级调度算法
根据作业的优先级进行调度
高响应比优先调度算法
既考虑了作业的运行时间,右考虑了作业的等待时间,提高了处理机调度的性能 实现? 引入动态优先级 优先权=等待时间+要求服务时间/要求服务时间=响应时间/要求服务时间 1.如果作业的等待时间相同,则要求服务的时间越短,其优先权越高.类似SJF 2.对于长时间作业的优先级会随时间而增高,类似FCFS 缺点:需要进行响应比计算,会增加系统的开销
进程调度
进程调度的任务,机制和方式
轮转调度算法
既然就绪队列上的每个进程每次仅允许一个时间片
轮转法的基本原理
将所有的就绪进程排成一个就绪队列,并设置一定的时间间隔产生一次中断,当队首进程完成一个时间片,就放到队尾,把cpu给到下一个进程
进程切换时机
切换的两种情况: 1:在时间片内进程就完成了,就立刻激活调度程序,将它把就绪队列中删除,再调度就绪队列中的队首进程,并启动一个新的时间片 2:未完成,在消耗完一个时间片后,中断程序被激活,进程放到就绪队列末尾, cpu给到队首进程
时间片大小的确定
时间片的大小应略大于一次典型交互的时间
优先级调度算法
多队列调度算法
多级反馈队列调度算法
(1)设置多个就绪队列。在系统中设置多个就绪队列,并为每个队列赋予不同的优先级,从第一个开始逐个降低。不同队列进程中所赋予的执行时间也不同,优先级越高,时间片越小。 (2)每个队列都采用FCFS(先来先服务)算法。轮到该进程执行时,若在该时间片内完成,便撤离操作系统,否则调度程序将其转入第二队列的末尾等待调度,.......。若进程最后被调到第N队列中时,便采用RR方式运行。 (3)按队列优先级调度。调度按照优先级最高队列中诸进程运行,仅当第一队列空闲时才调度第二队列进程执行。若优先级低队列执行中有优先级高队列进程执行,应立刻将此进程放入队列末尾,把处理机分配给新到高优先级进程。
实时调度
实时调度的基本条件
实时调度算法的分类
最早截止时间优先EDF算法
最低松弛度优先算法
优先级倒置
死锁概述
资源问题
计算机系统中的死锁
死锁的定义,必要条件和处理方法
死锁的定义
死锁产生的必要条件
互斥条件:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释放。 不可剥夺条件:进程所获得的资源在未使用完毕之前,不被其他进程强行剥夺,而只能由获得该资源的进程资源释放。 请求和保持条件:进程每次申请它所需要的一部分资源,在申请新的资源的同时,继续占用已分配到的资源。 循环等待条件:在发生死锁时必然存在一个进程等待队列{P1,P2,…,Pn},其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源,形成一个进程等待环路,环路中每一个进程所占有的资源同时被另一个申请,也就是前一个进程占有后一个进程所深情地资源。 以上给出了导致死锁的四个必要条件,只要系统发生死锁则以上四个条件至少有一个成立。事实上循环等待的成立蕴含了前三个条件的成立,似乎没有必要列出然而考虑这些条件对死锁的预防是有利的,因为可以通过破坏四个条件中的任何一个来预防死锁的发生。
预防死锁
该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件的一个或多个条件,来预防发生死锁。易实现,被广泛使用,但由于所施加的限制条件往往太严格,因而可能导致系统资源利用率和吞吐量降低。
破坏“请求和保持”条件
第一种方法静态分配即每个进程在开始执行时就申请他所需要的全部资源。第二种是动态分配即每个进程在申请所需要的资源时他本身不占用系统资源。
破坏“不可抢占”条件
一个进程不能获得所需要的全部资源时便处于等待状态,等待期间他占有的资源将被隐式的释放重新加入到 系统的资源列表中,可以被其他的进程使用,而等待的进程只有重新获得自己原有的资源以及新申请的资源才可以重新启动,执行。
破坏循环等待条件
采用资源有序分配其基本思想是将系统中的所有资源顺序编号,将紧缺的,稀少的采用较大的编号,在申请资源时必须按照编号的顺序进行,一个进程只有获得较小编号的进程才能申请较大编号的进程。
避免死锁
避免死锁是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁,而不需事先采取各种限制措施去破坏产生死锁的四个必要条件。这种方法施加的限制条件较弱,但在实现上有一定的难度。
系统安全状态
指系统能按某种顺序如(P1,P2,...,Pn),来为每个进程分配所需要的资源,直至最大需求,使每个进程都可以顺序完成。若系统不存在这样一个安全序列,则称系统处于不安全状态。
利用银行家算法避免死锁
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。 为保证资金的安全,银行家规定: (1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客; (2) 顾客可以分期贷款,但贷款的总数不能超过最大需求量; (3) 当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有限的时间里得到贷款; (4) 当顾客得到所需的全部资金后,一定能在有限的时间里归还所有的资金. 操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源,若能满足则按当前的申请量分配资源,否则也要推迟分配。
死锁的检测与解除
死锁的检测
死锁的解除
存储器管理
存储器的多层结构
多层结构的存储器系统
存储器的多层结构
可执行存储器
主存储器与寄存器
主存储器
寄存器
高速缓存和磁盘缓存
高速缓存
磁盘缓存
程序的装入和链接
程序的装入
装入:由装入程序将装入模块装入到内存。
绝对装入方式
绝对装入方式指在编译时,如果知道程序将驻留在内存的什么位置,那么,编译程序将产生绝对地址的目标代码。
可重定位装入方式
可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境
动态运行时的装入方式
在运行过程中程序在内存中的位置能经常改变
程序的链接
将编译后形成的一组目标模块以及他们所需要的库函数链接在一起,形成装入模块
静态链接方式
装入时动态链接
运行时动态链接
连续分配存储管理方式
单一连续分配
固定分区分配
将内存空间划分为固定大小的分区
划分分区的方法
分区大小相等
分区大小不等
内存分配
按照分区大小排列分区,建立一张分区使用表包含每个分区的起始地址,大小,状态(是否分配)
动态分区分配
动态分区分配中的数据结构
动态分区分配算法
基于顺序搜索的动态分区分配算法
首次适应算法
从头到尾找合适的分区 空闲区 地址递增顺序连在一起。FF算法要求空闲分区链以地址递增的次序链接。
循环首次算法
最佳适应算法
优先使用更小的分区,以保留更大的分区。且为了加速寻找,该算法需要空闲区间以从小到大的顺序形成空闲分区链
最坏适应算法
优先使用更大的分区,以防止产生太小不可用的碎片
临近适应算法
每次从上次查找结束的位置开始查找
基于索引搜索的动态分区分配算法
快速适应算法
伙伴系统
哈希算法
分区分配操作
动态可重定位分区分配
紧凑
为解决程序运行一段时间后,内存会被分割成许多小空间,而程序运行需要大空间,怎么解决了? 用紧凑,紧凑则是把原来的许多小分区拼接成一个大分区。 但是拼接后程序在内存的位置变化了,怎么解决呢? 需要对程序或者数据进行重定位。
动态重定位
动态运行的装入程序把转入模块装入内存之后,并不立即把装入模块的逻辑地址进 行转换,而是把这种地址转换推迟到程序执行时才进行,装入内存后的所有地址都 仍是逻辑地址。这种方式需要重定位寄存器的支持,其中放有当前正在执行的程序 在内存空间中的起始地址。
动态从定位分区分配算法
重定位分区分配算法,与动态分区分配算法相同,差别是增加了紧凑功能
对换
多道程序环境下的对换技术
对换空间管理
进程的换出与换入
分页存储管理方式
分页存储管理的基本方法
页面和物理块
页面
页面大小
地址结构
页表
由于各个也分布离散,为了让进程能需要的页,所以建立了页表, 用户程序是页,通过页表查到块号,通过块号找到地址
地址变换机构
为了能将用户地址空间中的逻辑地址变换为内存空间中的物理地址,在系统中必须 设 置地址变换机构。该机构的基本任务是实现从逻辑地址到物理地址的转换
基本的地址变换结构
页表大多驻留在内存中。在系统中只设置一个页表寄 存器 PTR(Page-Table Register),在其中存放页表在内存的始址和页表的长度。平时,进程未 执行时,页表的始址和页表长度存放在本进程的 PCB 中。当调度程序调度到某进程时,才 将这两个数据装入页表寄存器中。因此,在单处理机环境下,虽然系统中可以运行多个进 程,但只需一个页表寄存器。 如何进行地址变换: 当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址(相对 地址)分为页号和页内地址两部分,再以页号为索引去检索页表。查找操作由硬件执行。在 执行检索之前,先将页号与页表长度进行比较,如果页号大于或等于页表长度,则表示本 次所访问的地址已超越进程的地址空间。于是,这一错误将被系统发现并产生一地址越界 中断。若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,便得到该表项 在页表中的位置,于是可从中得到该页的物理块号,将之装入物理地址寄存器中。与此同 时,再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中。这样便完 成了从逻辑地址到物理地址的变换。如图:
具有快表的地址变换机构
访问内存的有效时间
两级和多级页表
两级页表
多级页表
反置页表
反置页表的引入
地址变换
分段存储管理方式
引入分段存储管理方式的目的,则主要是为了 满足用户(程序员)在编程和使用上多方面的要求 什么要求呢?
分段存储管理方式的引入
引入分段存储管理方式,主要是为了满足用户和程序员的下述一系列需要: 1) 方便编程 2) 信息共享 3) 信息保护 4) 动态增长 5) 动态链接
分段系统的基本原理
分段
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑 信息。例如,有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等 其逻辑地 址由段号(段名)和段内地址所组成。
段表
在分段式存储管理系统中,则是为每个分段分配一个连续的分区,而进程中的各个段可以 离散地移入内存中不同的分区中 怎么物理内存中找出每个 逻辑段所对应的位置? 段表。
地址变换机构
为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用 于存放段表始址和段表长度 TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度 TL 进行比较。若 S>TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界, 则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的 起始地址,然后,再检查段内地址 d 是否超过该段的段长 SL。若超过,即 d>SL,同样发出 越界中断信号;若未越界,则将该段的基址 d 与段内地址相加,即可得到要访问的内存物 理地址。
信息共享
分页系统中对程序和数据的共享
分段系统中程序和数据的共享
可重入代码(Reentrant Code)又称为“纯代码”(Pure Code),是一种允许多个进程同时访 问的代码。为使各个进程所执行的代码完全相同,绝对不允许可重入代码在执行中有任何 改变。
段叶式存储管理方式
基本原理
地址变换过程
视频
基本分段存储管理
与 分页 最大的区别就是---离散分配时所分配地址空间的基本单位不同
什么是分段
类似分页管理中的 “分页”
什么是段表
如何实现地址变换
分段,分页管理对比
内存的基础知识
什么是内存,有何作用
存储单元,内存地址的概念和联系
按字节编址vs按字编址
进程运行的基本原理
指令的工作原理
操作码+若干参数(可能包含地址参数)
逻辑地址VS物理地址
从写程序到程序运行
编辑源代码文件
编译
由源代码生产目标模块
链接
由目标模块生产装入模块,链接后形成完整的逻辑地址
装入
将装入模块装入内存,装入后形成物理地址
三种链接方式
静态链接
装入前链接成一个完整装入模块
装入时动态链接
运行前边装入边链接
运行时动态链接
运行时需要目标模块才装入并链接
三种装入方式
绝对装入
编译时参数绝对地址
可重定位装入
装入时将逻辑地址转换为物理地址
动态运行时装入
运行时将逻辑地址转换为物理地址,需要重新定位寄存器
内存管理的概念
内存空间的分配与回收
连续分配管理方式
单一连续分配
只支持单道程序,内存分为系统区和用户区,用户程序放在用户区
无外部碎片,有内部碎片
固定分区分配
支持多道程序,内存用户控件分为若干个固定大小的分区,每个分区只能装一道作业
无外部碎片,有内部碎片
两种分区方式
分区大小相等
分区大小不等
动态分区分配
支持多道程序,在进程装入内存时,根据进程的大小动态的建立分区
无内部碎片,有外部碎片
外部碎片可用“紧凑”技术来解决
回收内存分区时,可能遇到四种情况
回收去之后有相邻的空闲分区
回收去之前有相邻的空闲分区
回收区前后都有相邻的空闲分区
回收区前后都没有相邻的空闲分区
非连续分配管理方式
基本分页储存管理
基本分页存储管理的思想:把进程分页,各个页面可离散放到各个的内存块中
重要概念
“页框,页帧,内存块,物理块”vs“页,页面”
“页框号,页帧号,内存块号,物理块号”vs“页号,页面号”
如何实现地址转换
1.计算出逻辑地址对应的页号
2.找到对应页面在内存的存放位置
3.算出逻辑地址对应的页面偏移量
4.物理地址 = 页面地址+页内偏移量
页号,页内偏移量的计算
页号 = 逻辑地址/页面大小;页内偏移量 = 逻辑地址%页面大小
或根据逻辑地址结构计算,逻辑地址 = 【页号P,页内偏移量w
页表
页表记录进程页面和实际存放的内存块之间的对应关系
一个进程对应一张页表,进程的每一页对应一个页表项,每个页表项由“页号”和“块号”组成
每个页表项的长度是相同的,页号是隐含的
基本地址变换机构
页表寄存器的作用
存放页表起始地址
存放页表长度
地址变换过程
1.根据逻辑地址算出页号,业内偏移量
2.页号的合法性检查(与页表长度对比)
3.若页号合法,再根据页表起始地址,页号遭到相对应页表项
4.根据页表项中记录的内存块号,页内偏移量得到最终的物理地址
访问物理内存对应的内存单元
其它小细节
页内偏移量位数与页面大小之间的关系(要能用其中一个条件推出另一个条件)
页式管理中地址是一维的
实际应用中,通常使一个页框恰好能放入整数个页表项
为了方便找到页表项,页表一般是放在连续的内存块中的
具有 块表的地址变换机构
局部性原理
什么是块表
引入块表后,地址变换过程
基本分段储存管理
分段
将地址空间按照程序自身的逻辑关系划分为若干个段,每段从0开始编址
每个段在内存中占据连续空间,但各段之间不可以 不相邻
逻辑地址结构:段号,段内地址
段表
记录逻辑段到实际存储地址的映射关系
每个段对应一个段表项,各段表项长度相同,由段号,段长,基址组成
地址变换
1.由逻辑地址得到段号,段内地址
2.段号与段表寄存器中的段长度比较,检测是否越界
3.由段表起始地址段号找到对应段表项
4.根据段表中记录的段长,检测段内地址是否越界
5.由段表中的“基址+段内地址”得到最终的物理地址
6.访问目标单元
分段vs分页
分页对用户不可见,分段对用户可见
分页的地址空间是一维的,分段的地址空间是二维的
分段更容易实现信息的共享和保护(纯代码/可重入代码可以共享)
分页(单级页表),分段访问一个逻辑地址都需要二次访存,分段储存中也可以引入块表机构
段页式管理
分段+分页
将地址空间按照程序自身的逻辑关系划分为若干个段,在将各段分为大小相等的页面
将内存空间分为与页面大小相等的一个个内存块,系统以块为单位为进程分配内存
逻辑地址结构:(段号,页号,页内偏移量)
段表,页表
每个段对应一个段表项,各段表项长度相同,由段号(隐含),页表长度,页表存放地址组成
每个页对应一个页表项。各页表项长度相同,由页号,页面存放的内存块号组成
地址变换
1.由逻辑地址得到段号,页号,页内偏移量
2.段号与段表寄存器中的段长度比较,检测是否越界
3.由段表地址段号找到对应的段表项
4.根据段表中记录的页表长度,检测页号是否越界
5.由段表中的页表地址,页号得到查询页表,找到相应页表项
6.由页面存放的内存块号,页内偏移量得到最终的物理地址
7.访问目标单元
访问一个逻辑地址所需访问次数
第一次----查段表,第二次----查页表,第三次----访问目标单元
可引入快表机构,以段号和页号为关键词查询块表,即可直接找到最终的目标页面存放位置,引入块表后仅需一次访存
内存空间的扩充(现实虚拟性)
覆盖技术
将程序分为多个段,常用的常驻内存,不常用的需要时调入
一个固定区
存放最活跃的程序段
固定区中的程序段在运行过程中不会别调入调出
若干个覆盖区
不可能同时被访问的程序段可共享一个覆盖区
覆盖区的程序段在运行过程中会根据需要调入调出
必须要程序员声明覆盖结构,操作系统完成自动覆盖
缺点:对用户不透明,增加用户编程负担
交换技术
内存空间紧张时,系统将内存中某些进程,换出外存,把外存中某些已具备运行条件的进程还如内存
内存紧张时,换出某些进程以腾出内存空间,再换如某些进程
磁盘分为文件区和对换区,换出程序放在对换区
覆盖技术和交换技术的区别
覆盖是在同一个程序或进程中的
交换在不同进程或作业之间的
地址转换
操作系统负责实现逻辑地址到物理地址的转换
三种方式
绝对装入:编译器复杂地址转换(单道程序阶段,无操作系统
可重定位装入:装入程序复杂地址转换(早期多道批处理阶段
动态运行时装入:运行时才进行地址转换(现代操作系统)
存储保护
保证各进程在自己的内存空间内运行,不会越界访问
两种方式
设置上下限寄存器
利用重定位,界地址寄存器进行判断
虚拟存储器
虚拟存储器概述
常规存储管理方式的特征和局部性原理
常规存储器管理方式的特征
局部性原理
虚拟存储器的基本工作情况
虚拟存储器的定义和特征
虚拟存储器的定义
虚拟存储器是指具有请求调入,和置换功能能从逻辑上对内存容量加以扩充的存储器系统。其逻辑容量由内存容量和外存容量之和所决定。
虚拟存储器的特征
虚拟存储器的实现方法
分页请求系统
请求分段系统
请求分页存储管理方式
为了支持虚拟存储器功能,在基本分页的基础上增加了请求调页和页面置换功能---请求分页存储方式
请求分页中的硬件支持
为了实现请求分页,系统提供了一定容量的内存和外存,还需要如下支持
请求页表机制
作用:将用户地址空间中的逻辑地址,映射为内存空间中的物理地址。 为了满足页面换入换出的功能,在基本分页的基础上增加了4个字段 各个字段: 页号: 物理块号: 状态位P:指示该页是否调入内存 访问字段A:记录本页在一段时间的访问次数,供置换算法参考 修改位M:记录该页是否被修改过,若修改过需要重新写入外存,若没有修改,就不需要再写到外存因为外存中有一份一样的。 外存地址:指出该页在外存上的地址
缺页中断机构
当所访问的页面不在内存时,边产生缺页中断,OS便将所缺的页调入内存 在中断后会: 保护cpu环境-》分析中断原因-》转入缺页中断处理程序 但是和一般的中断有区别: (1) 一般中断:执行完指令后找再响应中断, 缺页中断:立即响应中断 (2)硬件机构可以保存多次中断的状态
地址变换机构
请求分页中的内存分配
最小块数的确定
内存分配策略
物理块分配算法
页面调入策略
何时调入页面
从何处调入页面
页面调入过程
缺页率
访问失败的次数/程序访问页面的总次数=缺页率 影响却率的因素: 页面大小 进程所分配的物理块的数目 页面置换算法 程序的固有特性
页面置换算法
最佳置换算法和先进先出置换算法
最佳置换算法OPT
优先淘汰最长时间内不会被访问的页面 优缺点: 缺页率最小,性能最好,但无法实现
先进先出置换算法FIFO
优先淘汰最先进入内存的页面 实现简单:但性能很差,可能出现Belady异常
最近最久未使用和最少使用置换算法
最近最久未使用LRU
优先淘汰最近最久没访问的页面
最少使用置换算法
Clock置换算法
简单的clock置换算法
循环扫描各页面,第一轮淘汰访问位=0的,若第一轮没选中,则进行第二轮扫描 实现简单算法开销小,但未考虑页面是否被修改过。
改进型clock置换
若用(访问位,修改位)的形式表述,则:第一轮:淘汰(0,0)第一轮(0,1),并将扫描过的页面访问位都置为0.第3轮:淘汰(0,0)。第4轮:淘汰(0,1)
页面缓冲算法
影响页面换进换出的若干因素
页面缓冲算法PBA
访问内存的有效时间
抖动与工作集
多道程序度与抖动
多道程序与处理机的利用率
在多道程序中,运行更多进程可以增加cpu的利用率,但是当程序过多时会导致cpu的利用率下降 而出现这个现象的原因就是,发生了抖动
产生抖动的原因
抖动页面频繁换如换出的现象,主要原因是分配给进程的物理块不够
工作集
抖动的预防方法
请求分段存储管理方式
请求分段中的硬件支持
分段的共享与保护
输入输出系统
I/O系统的功能,模型和接口
I/O系统的基本功能
隐藏物理设备的细节
与设备的无关性
提高处理机和I/O设备的利用率
对I/O设备进行控制
确保对设备的正确共享
错误处理
I/O系统的层次结构和模型
I/O软件的层次结构
I/O系统中各种模块之间的层次视图
I/O系统接口
块设备接口
流设备接口
网络通信接口
I/O设备和设备控制器
I/O设备
I/O设备的类型
按使用特性分类
按传输速率分配
设备与控制器之间的接口
数据信号线
控制信号线
设备控制器
设备控制器的基本功能
设备控制器的组成
内存映像I/O
利用特定的I/O指令
内存映像I/O
I/O通道
I/O通道设备的引入
通道类型
字节多路通道
数组选择通道
数组多路通道
瓶颈问题
中断机构和中断处理 程序
中断简介
中断和陷入
中断
陷入
中断向量表和中断优先级
中断向量表
中断优先级
对多中断源的处理方式
屏蔽中断
嵌套中断
中断处理程序处理的步骤
测定是否有未响应的中断信号
保护被中断进程的cpu环境
转入相应的设备处理程序
中断处理
恢复cpu现场并退出中断
设备驱动程序
设备驱动程序概述
设备驱动程序的功能
设备驱动程序的特点
设备处理方式
设备驱动程序的处理过程
将抽象的要求转换为具体的要求
检测I/O请求的合法性
读出和检查设备的状态
传送必要的参数
启动I/O设备
I/O设备的控制方式
使用轮询的可编程I/O方式
使用中断的可编程I/O方式
直接存储器访问方式
直接存储器访问方式的引入
DMA控制器的组成
DMA工作过程
与设备无关的I/O软件
与设备无关的I/O软件的基本概念
与设备无关的软件
设备分配
逻辑设备名到物理设备名映射的实现
用户层的I/O软件
系统调用与库函数
系统调用
系统调用是操作系统内核和用户态运行程序之间的接口,它把用户程序的请求传送至内核,调用相应的内核函数完成所需的处理,将处理结果返回给用户程序。 系统中各种共享资源都由操作系统统一管理,因此在操作系统的外层软件或用户程序中,凡是与资源有关的操作(如存储分配、I/O等)都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成,所以系统调用是用户程序获得操作系统服务的唯一途径。 ---- 操作系统提供的系统调用很多,按功能分为: 进程和作业管理、文件操作、设备管理、内存管理、信息维护和进程通信系统调用六大类。
库函数
假脱机系统
假脱机技术
spolling
缓冲区管理
缓冲的引入
单缓冲区与多缓冲区
环形缓冲区
缓冲池
磁盘存储器的性能和调度
磁盘性能简介
早期的磁盘调度算法
基于扫描的磁盘调度算法
文件管理
初识文件管理
文件的定义:一组有意义的信息的集合
文件的属性:文件名,标识符,类型,位置,大小,保护信息。。
文件内部应该如何被组织起来(文件的逻辑结构
文件之间该如何被组织起来(目录结构
操作系统应向上提供哪些功能(create,delete,open,close,read,write系统调用)
文件如何存放在外存中(文件的物理结构)
操作系统如何管理外存中的空闲块(存储空间的管理)
操作系统需要提供其他文件管理功能
文件共享
文件保护
文件的逻辑结构
无结构文件
由二进制流或字符流组成,无明显的逻辑结构
有结构文件
由记录组成,分为定长记录,可变记录
逻辑结构
顺序文件
串结构:记录顺序与关键字无关
顺序结构:记录按关键字顺序排列
可变长记录的顺序文件无法实现随机存取,定长记录可以
定长记录,顺序结构的顺序文件可以快速检索(根据关键字快速找到记录)
最大缺点:不方便增加、删除记录
索引文件
建立一张索引表,每个记录对应一个表项,各记录不用保存顺序,方便增加/删除记录
索引表本身就是定长记录的顺序文件,一个索引表项就是一条定长记录,因此索引文件可支持随机存取
若索引表按关键字顺序排列,则可支持快速检索
解决了顺序文件不方便增删记录的问题,同时让不定长记录的文件实现了随机存取。但索引表可能占用很多空间
索引顺序文件
将记录分组,每组对应一个索引表项
检索记录时先顺序查询索引表,找到分组,再顺序查找分组
当记录过多时,可建立多级索引表
文件目录
文件目录的实现
一个文件对应一个FCB,一个FCB就是一个目录项,多个FCB组成文件目录
对目录的操作:搜索,创建文件,删除文件,显示文件,修改文件
目录结构
单级目录结构
一个系统只有一张目录表不允许文件重名
两极目录结构
不同用户的文件可以重名,但不能对文件进行分类
多级目录结构
不同目录下的文件可以重名,可以对文件进行分类,不方便文件共享
系统根据“文件路径”找到目标文件
从根目录出发的路径是“绝对路径”
从当前目录出发的路径是“相对路径
无环图目录结构
在树形目录结构的基础上,增加一些指向同一节点的有向边,使整个目录成为一个有向无环图
为共享结点设置一个共享计数器,计数为0时才真正删除该节点
索引节点
除了文件名之外的所有信息都放到索引节点中,每个文件对应一个索引节点
目录项中只包含文件名,索引节点指针,因此每个目录项的长度大幅减小
由于目录项长度减小,因此每个磁盘块可以存放更多个目录项,因此检索文件时磁盘I/O的次数就减小了很多
文件共享
硬链接
各个用户的目录项指向同一个索引节点
索引节点中需要有链接计数count
某用户想删除文件时,知识删除该用户的目录项,切count--
只有count==0时才能真正删除文件数据和索引结点,否则会导致指针悬空
软连接
在一个LInk型的文件中记录共享文件的存放路径(windows快捷方式)
操作系统根据路径一层层查找目录,最终找到共享文件
即使软连接指向的共享文件已被删除,LinK型文件依然存在,只是通过link型文件中的路径去查找共享文件会失败(找不到目标项)
由于用软链接的方式访问共享文件时要查询多级目录,会有多次磁盘I/O因此用软连接访问
文件保护
口令保护
为文件设置一个口令,用户想要访问文件时需要提供口令,由系统验证口令是否正确
实现开销小,但“口令”一般放在FCB或索引节点中,因此不太安全
加密保护
用一个密码对文件加密,用户想要访问文件时,需要提供相同的密码才能正确解密
安全性高,但加密/解密需要耗费一定的时间(Eg:异或加密)
访问控制
用一个访问控制表(ACL)记录各个用户对文件的访问权限
对文件的访问类型可以分为:读/写/执行/删除等
实现灵活,可以实现复杂的文件保护功能
文件的物理结构
连续分配
链接分配
隐式链接
显式链接
索引分配
文件储存空间管理
存储空间的划分与初始化
文件卷(逻辑卷),目录去,文件区的概念
目录去包含文件目录,空闲表,位示图,超级块等用于文件管理的数据
几种管理方法
空闲表法
空闲表中记录每个连续空闲的其实盘块号,盘块数
分配时可采用首次适应,最佳适应等策略;回收时注意表项的合并问题
空闲链表法
空闲盘块链
以盘块为单位组成一条空闲链
分配时从链头依次取出空闲块,回收时将空闲块查到链尾
空闲盘区链
以盘区为单位组成一条空闲链
分配时可采用首次适应,最佳适应等策略;回收时注意相邻空闲盘区合并的问题
位示图法
一个二进制位对应一个盘块,(字号,位号)或(行号,列号)与盘块号一一对应
重要考点:要能够自己算出盘块号-》(字号,位号)之间的相互转换
需要注意的题目条件
二进制0/1到底哪个代表空闲,哪个代表不空闲
字号位号,盘快号到底是从0开始还是从1开始
成组链接法
UNIX采用的策略,适合大型文件系统,
文件系统的层次结构
磁盘
磁盘组织与管理
磁盘的结构
磁盘,磁道,扇区的概念
磁盘由表面涂有磁性物质的圆形盘片组成
每个盘片被划分为一个个磁道,每个磁道又划分为一个个扇区
如何在磁盘中读,写数据
磁头移动到目标位置,盘片旋转,对应扇区划过磁道才能完成读/写
盘面,柱面的概念
磁盘有多个盘片摞起来,每个盘片有两个盘面
所有盘面中相对位置相同的磁道组成柱面
磁盘的物理地址
柱面号,盘面号,扇区号
磁盘的分类
根据磁头是否可以移动
固定头磁盘(每个磁道有一个磁头)
移动头磁盘(每个盘面只有一个磁头
根据盘片是否可更换
固定盘磁盘
可换盘磁盘
磁盘调度算法
一次磁盘读写操作的时间
寻找时间:启动磁臂,移动磁头所花的时间
延迟时间:将目标扇区转到磁头下面所花的时间
传送时间:读/写数据花费的时间
磁盘调度算法
先来先服务FCFS
按访问请求到达的先后顺序进行处理
最短寻找时间优先SSTF
每次都优先相应距离磁头最近的磁道访问请求
贪心算法的思想,能保证眼前最优,但无法保证总的寻道时间最短
缺点:可能导致饥饿
扫描算法(电梯算法,SCAN)
只有磁头移动到最边缘的磁道时才可以改变磁头移动方向
缺点:对各个位置磁道的响应频率不平均
循环扫描算法,C-SCAN
只有磁头朝某个方向移动时才会响应请求,移动到后边缘后立即让磁头返回起点,返回途中不响应任何请求
低频考点
LOOK算法
SCAN算法的改进,只要在磁头移动方向上不再有请求,就立即改变磁头方向
C-LOOK算法
c-scan算法的改进,只要在磁头移动方向不再有请求,就立即让磁头返回
减少延迟的方法
交替编号
具体做法:让编号相邻的扇区在物理上不相邻
原理:读取完一个扇区后需要一段时间处理才可以继续读入下一个扇区
错位命名
具体做法:让相邻盘面的扇区编号“错位”
原理:与“交替编号"的原理相同。”错位命名法“可降低延迟时间
磁盘地址结构设计
理解为什么要用(柱面号,盘面号,扇区号)的结构
理解为什么不用(盘面号,柱面号,扇区号)的结构
原因:在读取地址连续的磁盘块时,前者更不需要移动磁头
磁盘的管理
磁盘初始化
低级格式化/物理格式化:划分扇区
磁盘分区(c盘,D盘,E盘)
逻辑格式化:建立文件系统(建立根目录文件,建立用于储存空间管理的数据结构)
引导块
计算机启动时需要运行初始化程序(自举程序)来初始化
ROM中存放很小的自举装入程序
完成的自举程序存放在初始块(引导块)中
坏块的管理
简单的磁盘:逻辑格式化时将坏块标记出来
复杂的磁盘:磁盘控制器维护一个坏块链,并管理备用扇区