自己做抽奖网站违法/网店运营推广中级实训

自己做抽奖网站违法,网店运营推广中级实训,网络设置网址,梅州做网站设计公司目录 3.1 考点分析 3.1 操作系统概述 3.1.1 操作系统的功能 3.1.2 操作系统的分类 3.1.3 嵌入式操作系统主要特点 3.2 进程 3.2.1 进程的组成和状态 3.2.2 前趋图与进程资源图(重点) 3.2.3 进程同步与互斥 3.2.4 进程调度 3.2.5 死锁 3.3 线…

目录

3.1 考点分析

3.1 操作系统概述

3.1.1 操作系统的功能

3.1.2 操作系统的分类

3.1.3 嵌入式操作系统主要特点

3.2 进程

3.2.1 进程的组成和状态

3.2.2 前趋图与进程资源图(重点)

3.2.3 进程同步与互斥

3.2.4 进程调度

3.2.5 死锁

3.3 线程

3.4存储管理

3.4.1 分区存储管理

3.4.2 分页存储管理

3.4.3 分段式存储管理

3.4.4 段页式存储管理

3.5 设备管理

3.5.1 设备管理概述

3.5.2 I/O软件

3.5.3 设备管理技术

3.6 文件管理

3.6.1文件管理概述

3.6.2 索引文件结构(重点)

3.6.3 文件目录

3.6.4 文件存储空间的管理


3.1 考点分析

考试分值:本章节每年都考3-5分左右。

考点内容:

  • 进程管理:操作系统概述、进程组成和状态、前趋图、进程同步与互斥、进程调度、死锁、线程。
  • 存储管理:分区存储管理、分页存储管理、分段存储管理、段页式存储管理。
  • 设备管理:设备管理概述、I/O 软件、设备管理技术。
  • 文件管理:文件管理概述、索引文件结构、文件目录、文件存储空间管理 。

参考资料:王道计算机考研 操作系统_哔哩哔哩_bilibili

3.1 操作系统概述

3.1.1 操作系统的功能

进程管理。实质上是对处理机的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配给每个任务,主要包括进程控制、进程同步、进程通信和进程调度。

文件管理。主要包括文件存储空间管理、目录管理、文件的读/写管理和存取控制。

存储管理。存储管理是对主存储器“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。

设备管理。实质是对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。

作业管理。包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。

3.1.2 操作系统的分类

批处理操作系统:单道批处理和多道批处理(主机与外设可并行)。

分时操作系统:一个计算机系统与多个终端设备连接。将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

实时操作系统:实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。

网络操作系统:是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。三种模式:集中模式、客户端/服务器模式、对等模式。

分布式操作系统:分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。

微型计算机操作系统:简称微机操作系统,常用的有Windows、Mac OS、Linux。

3.1.3 嵌入式操作系统主要特点

嵌入式系统(embedded system)是为了完成某个特定功能而设计的系统,或是具有附加机制的系统,或是其他部分的计算机硬件与软件的结合体。在许多情况下,嵌入式系统都是一个大系统或产品中的一部分,如汽车中的防抱死系统。

微型化。从性能和成本角度考虑,希望占用的资源和系统代码量少,如内存少、字长短、运行速度有限、能源少(用微小型电池)。

可定制。从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

实时性。嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高。

可靠性。系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施。

易移植性。为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。

嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:片级初始化→板级初始化→系统初始化。

3.2 进程

3.2.1 进程的组成和状态

进程是指计算机中正在运行的程序的一个实例,是系统进行资源分配和调度的基本单位。进程由进程控制块PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)组成。

进程基础的状态是下左图中的五态图,需要熟练掌握左下图中的进程五态之间的转换。

创建:这是进程的起始阶段,系统会为新进程分配必要的资源,如内存空间、进程控制块(PCB)等,并进行一些初始化操作,之后在获得许可后进入就绪状态。

就绪:此时进程已经具备运行条件,只等待操作系统的调度来获取 CPU 资源。一旦被调度选中,就可以进入执行状态。

执行(运行):进程正在 CPU 上运行,执行程序中的指令。在此期间,如果时间片用完,进程会回到就绪状态等待下一次调度;若进程发出 I/O 请求,会进入阻塞状态 ;当进程执行完毕或出现异常结束时,会进入终止状态。

阻塞:当进程需要等待某个事件发生(如 I/O 操作完成、等待其他资源等)而无法继续执行时,会进入阻塞状态。在该状态下,进程不占用 CPU 资源,直到所等待的事件完成,才会回到就绪状态。

终止:进程执行结束,或者因为出现错误等原因被系统终止,此时系统会回收进程所占用的资源,如内存、打开的文件等。

【真题】在单处理机系统中,采用先来先服务调度算法。系统中有4个进程P1、P2、P3、P4(假设进程按此顺序到达),其中P1为运行状态,P2为就绪状态,P3和P4为等待状态,且P3等待打印机,P4等待扫描仪。若P1(A),则P1、P2、P3和P4的状态应分别为(C)。

A. 时间片到

B. 释放了扫描仪

C. 释放了打印机

D. 已完成

A. 等待、就绪、等待和等待

B. .运行、就绪、运行和等待

C. 就绪、运行、等待和等待

D. 就绪、就绪、等待和运行

解析:P1处于运行状态,那么对应于它的操作就是时间片到,P1进入就绪状态。而此时,P3和P4都处于等待状态,都在等待除了CPU之外的其他事物,它们等待的事物并没有到,所以还是处于等待状态,或阻塞状态。P2此时是就绪状态,获得了P1释放的CPU,进入运行状态。

3.2.2 前趋图与进程资源图(重点)

前趋图:是指一个有向无环图,它用于描述进程之间执行的先后顺序。前趋图中的每个节点均可用于表示一个进程或一段程序,甚至是一条语句,节点间的有向边则表示两个节点之间所存在的偏序或前趋关系。

程序之间的前趋关系可用“→”来表示。如果Pi和Pj间存在着前趋关系,则可将它们写成(Pi, Pj)∈→,也可写成Pi→Pj,表示在P开始执行之前P必须执行完成。此时称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的节点称为初始节点,把没有后继的节点称为终止节点。此外,每个节点还具有一个权重,用于表示该节点所含有的程序量或程序的执行时间。

在图 (a)所示的无循环的前趋图中,存在着如下前趋关系:

P1P2, P1P3, P1P4, P2P5, P3P5, P4P6, P4P7, P5P8,P6P8,P7P9

P8Pg9

进程资源图:用于描述进程和资源之间关系,可以帮助我们直观地分析进程对资源的请求、分配和使用情况,进而判断系统是否处于死锁状态等。

如下图所示,P代表进程,R代表资源,R方框中有几个圆球就表示有几个这种资源,在上图中,R1指向P1,表示R1有一个资源已经分配给了P1,P1指向R2,表示P1还需要请求一个R2资源才能执行。

阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续。如上图中P2。

非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如上图中P1、P3。

死锁状态:当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

【真题】在如下所示的进程资源图中,(C);该进程资源图是(B)

A. P1、P2、P3都是阻塞节点。

B. P1是阻塞节点、P2、P3是非阻塞节点。

C. P1、P2是阻塞节点、P3是非阻塞节点。

D. P1、P2是非阻塞节点、P3是阻塞节点。

A.可以化简的,其化简顺序为P1→P2→P3

B.可以化简的,其化简顺序为P3→P1→P2

C.可以化简的,其化简顺序为P2→P1→P3

D.不可以化简的,因为P1、P2、P3申请的资源都不能得到满足

解析:进程资源图化简的方法是:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞的,接着把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来,这样,系统剩余的空闲资源便多了起来,接着又去看看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。最后,所有的资源和进程都变成孤立的点。图中P3是不阻塞的,故P3为化简图的开始,把P3孤立,再回收分配给他的资源,可以看到P1也变为不阻塞节点了,故P3、P1、P2是可以的。

3.2.3 进程同步与互斥

临界资源:各进程间需要以互斥方式对其进行访问的资源。

临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。

互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用;如打印机。

同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。

互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。

同步信号量:对共享资源的访问控制,初值一般是共享资源的数量。

P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

经典问题(生产者和消费者的问题):三个信号量:互斥信号量S0(仓库独立使用权),同步信号量S1(仓库空闲个数),同步信号量S2(仓库商品个数)。

生产者流程:生产一个商品S—>P(S0)—>P(S1)—>将商品放入仓库中—>V(s2) —>V(s0)。

消费者流程:P(SO)—>P(S2)—>取出一个商品—>V(s1) —>V(s0)。

 【真题】进程P1、P2、P3、P4和P5的前趋图如下图所示:

若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(C);c和d处应分别填写(B);e和f处应分别填写(B)。

A. V(S1)P(S2)和V(S3)

B. P(S1)V(S2)和V(S3)

C. V(S1)V(S2)和V(3)

D. P(S1)P(S2)和V(S3)

A. P(S2)和P(S4)

B. P(S2)和V(S4)

C. V(S2)和P(S4)

D. V(S2)和V(S4)

A. P(S4)和V(S4)V(S5)

B. V(S5)和P(S4)P(s5)

C. V(S3)和V(S4)V(S5)

D. P(S3)和P

解析:这种题型常考,并且也很简单。五个信号量对应前趋图上五根连线,如下图:

 【真题】进程P1、P2、P3、P4、P5和P6的前趋图如下所示,若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(C);空③和空④处应分别为(B):空⑤和空⑥处应分别为(D)。

A. V(S1)V(S2)和P(S2)

B. P(S1)P(S2)和V(S2)

C. V(S1)V(S2)和P(s1)

D. P(S1)P(S2)和V(S1)

A. V(S3)和V(S5)V(S6)

B. P(s3)和V(s5)V(S6)

C. V(S3)和P(S5)P(S6)

D. P(S3)和P(S5)P(S6)

A. P(S6)和P(S7)V(S8)

B. V(S6)和V(S7)V(S8)

C. P(S6)和P(S7)P(S8)

D. V(S7)和P(S7)P(S8)

3.2.4 进程调度

进程调度方式是指当有更高优先级的进程到来时如何分配CPU。分为可剥夺和不可剥夺两种,可剥夺指当有更高优先级进程到来时,强行将正在运行进程的CPU分配给高优先级进程;不可剥夺是指高优先级进程必须等待当前进程自动释放CPU。

在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。

(1)高级调度。高级调度又称“长调度”“作业调度”或“接纳调度”,它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。在系统中一个作业只需经过一次高级调度。

(2)中级调度。中级调度又称“中程调度”或“对换调度”,它决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。

(3)低级调度。低级调度又称“短程调度”或“进程调度”,它决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。

调度算法:

  • 先来先服务FCFS先到达的进程优先分配CPU。用于宏观调度。
  • 时间片轮转:分配给每个进程CPU时间片,轮流使用CPU,每个进程时间片大小相同,很公平,用于微观调度。
  • 优先级调度:每个进程都拥有一个优先级,优先级大的先分配CPU.
  • 多级反馈调度:时间片轮转和优先级调度结合而成,设置多个就绪队列1,2,3…n,每个队列分别赋予不同的优先级,分配不同的时间片长度;新进程先进入队列1的末尾,按FCFS原则,执行队列1的时间片;若未能执行完进程,则转入队列2的末尾,如此重复。

3.2.5 死锁

当一个进程在等待永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁状态,就会造成系统死锁。

死锁产生的四个必要条件:资源互斥、每个进程占有资源并等待其他资源、系统不能剥夺进程资源、进程资源图是一个环路。

死锁产生后,解决措施是打破四大条件,有下列方法:

  • 死锁预防:采用某种策略限制并发进程对于资源的请求,破坏死锁产生的四个条件之一,使系统任何时刻都不满足死锁的条件。
  • 死锁避免:一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就可以避免死锁。
  • 死锁检测:允许死锁产生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法加以解除。
  • 死锁解除:即死锁发生后的解除方法,如强制剥夺资源,撤销进程等。
  • 死锁资源计算:系统内有个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1。

【真题】某系统中有3个并发进程竞争资源R,每个进程都需要5个R,那么至少有(B)个R,才能保证系统不会发生死锁。

A. 12

B. 13

C. 14

D. 15

解析:每个进程需要5个R才能执行,则当每个进程都只有4个R时是死锁最坏的情况,即3*4=12个资源是死锁发生的最大资源数,再加1就能保证不发生死锁,因此是13。

【真题】假设系统中有个进程共享3台打印机,任一进程在任一时刻最多只能使用1台打印机。若用PV操作控制n个进程使用打印机,则相应信号量S的取值范围为(B);若信号量S的值为-3,则系统中有(D)个进程等待使用打印机。

A. 0,-1,…,-(n-1)

B. 3,2,1,0,-1,,-(n-3)

C. 1,0,-1,,-(n-1)

D. 2,1,0,-1,,-(n-2)

【真题】假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求和已分配资源数如下表所示,此时系统剩余的可用资源数分别为(D)。如果进程按(B)序列执行,那么系统状态是安全的。

A. 1、1和0

B. 1、1和1

C. 2、1和0

D. 2、0和1

A. P1-P2-P4-P5-P3

B. P5-P2-P4-P3-P1

C. P4-P2-P1-P5-P3

D. P5-P1-P4-P2-P3

3.3 线程

传统的进程有两个属性:可拥有资源的独立单位;可独立调度和分配的基本单位。

引入线程的原因是进程在创建、撤销和切换中,系统必须为之付出较大的时空开销,故在系统中设置的进程数目不宜过多,进程切换的频率不宜太高,这就限制了并发程度的提高。引入线程后,将传统进程的两个基本属性分开,线程作为调度和分配的基本单位,进程作为独立分配资源的单位。用户可以通过创建线程来完成任务,以减少程序并发执行时付出的时空开销。

线程是进程中的一个实体,是被系统独立分配和调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(如程序计数器、一组寄存器和栈),它可与同属一个进程的其他线程共享进程所拥有的全部资源,例如进程的公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。

3.4存储管理

3.4.1 分区存储管理

所谓分区存储组织,就是整存,将某进程运行所需的内存整体一起分配给它,然后再执行。有三种分区方式:

固定分区:静态分区方法,将主存分为若干个固定的分区,将要运行的作业装配进去,由于分区固定,大小和作业需要的大小不同,会产生内部碎片。

可变分区:动态分区方法,主存空间的分区是在作业转入时划分,正好划分为作业需要的大小,这样就不存在内部碎片,但容易将整片主存空间切割成许多块,会产生外部碎片。可变分区的算法如下:

  • 首次适应法:按内存地址顺序从头查找,找到第一个>=9K空间的空闲块,即切割9K空间分配给进程。
  • 最佳适应法:将内存中所有空闲内存块按从小到大排序,找到第一个>=9K空间的空闲块,切割分配,这个将会找到与9K空间大小最相近的空闲块。
  • 最差适应法:和最佳适应法相反,将内存中空闲块空间最大的,切割9K空间分配给进程,这是为了预防系统中产生过多的细小空闲块。
  • 循环首次适应法:按内存地址顺序查找,找到第一个>=9K空间的空闲块,而后若还需分配,则找下一个,不用每次都从头查找,这是与首次适应法不同的地方。

可重定位分区:可以解决碎片问题,移动所有已经分配好的区域,使其成为一个连续的区域,这样其他外部细小的分区碎片可以合并为大的分区,满足作业要求。只在外部作业请求空间得不到满足时进行。

3.4.2 分页存储管理

分页存储管理是将用户程序的地址空间和内存空间按照固定大小的页和页框进行划分,以实现离散分配和地址转换的一种存储管理方式。

(1)页面:把用户程序的逻辑地址空间划分成若干个大小相等的片,称为 “页” 或 “页面”,每页有一个编号,称为页号,从 0 开始依次递增。例如,一个程序的地址空间为 32KB,页面大小为 4KB,则该程序的地址空间可划分为 8 个页面,页号为 0 - 7。

(2)内存空间划分:将内存的物理地址空间也划分成与页面大小相同的若干个存储块,称为 “页框” 或 “物理块”,同样从 0 开始编号。假设内存大小为 128KB,页面大小为 4KB,那么内存就被划分成 32 个页框。

(3)页表:为了实现从逻辑地址到物理地址的转换,系统为每个进程建立了一张页表,用于记录进程的页面与内存页框之间的映射关系。在进程地址空间内的所有页(0~n),依次在页表中有一页表项,其中记录了相应页在内存中对应的物理块号,当进程在执行时,通过查找该表即可找到每页在内存中的物理块号。

(4)地址转换:进程执行时,CPU 给出的是逻辑地址,由页号和页内偏移量两部分组成。首先,根据逻辑地址中的页号查找页表,找到对应的物理块号,从而实现了从逻辑地址到物理地址的转换。

逻辑页分为页号和页内地址,页内地址就是物理偏移地址,而页号与物理块号并非按序对应的,需要查询页表,才能得知页号对应的物理块号,再用物理块号加上偏移地址才得出了真正运行时的物理地址。

  • 优点:利用率高,碎片小,分配及管理简单。
  • 缺点:增加了系统开销,可能产生抖动现象。

页面置换算法:当内存中的页面数达到系统规定的上限,而又需要加载新的页面时,就需要使用页面置换算法来决定将内存中的哪个页面置换出去,以腾出空间来加载新的页面。

  • 最优算法:OPT,理论上的算法,无法实现,是在进程执行完后进行的最佳效率计算,用来让其他算法比较差距。原理是选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的。
  • 先进先出算法:FIFO,先调入内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺页率可能越多(即效率越低)。
  • 最近最少使用:LU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理,这种方式效率高,且不会产生抖动现象,使用大量计数器,但是没有LFU多。
  • 淘汰原则:优先淘汰最近未访问的,而后淘汰最近未被修改的页面。

快表:在地址转换过程中,操作系统需要将虚拟地址转换为物理地址。如果每次都要在页表中查找,会消耗大量的时间。快表就是用来缓存最近经常访问的页表项,当进行地址转换时,首先在快表中查找,如果找到对应的页表项,就可以直接获取物理地址,而无需访问内存中的页表,从而大大提高了地址转换的速度。

是一块小容量的相联存储器,由快速存储器组成,按内容访问,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。

快表是将页表存于Cache中;慢表是将页表存于内存上。慢表需要访问两次内存才能取出页,而快表是访问一次Cache和一次内存,因此更快。

 【真题】某计算机系统页面大小为4K,若进程的页面变换表如下所示,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制(B)。

A. 1024H

B. 3D16H

C. 4Dl6H

D. 6D16H

解析:页面大小为4K,则页内偏移地址为12位,才能表示4K大小空间;由此,可知逻辑地址1D16H的低12位D16H为偏移地址,高4位1为逻辑页号,在页表中对应物理块号3,因此物理地址为3D16H。

【真题】某进程有4个页面,页号为0~3,页面变换表及状态位、访问位和修改位的含义如下图所示,若系统给该进程分配了3个存储块,当访问前页面1不在内存时,淘汰表中页号为(D)的页面代价最小。

A. 0

B. 1

C. 2

D. 3

解析:根据局部性原理,应该优先淘汰最近未被访问过的,而后淘汰最近未被修改过的,由页表可知,023最近都被访问过,而只有3最近未被修改过,应该淘汰3.然而其实这种题目,就算不知道上述原理,也能做出,答案只有一个,肯定是与其他不同的,具有唯一性的一个,在023中,02的访问位和修改位一样,只有3不同,答案就是3。

3.4.3 分段式存储管理

(1)分段:作业的地址空间被划分为若干段,每个段定义了一组逻辑信息,如主程序段、子程序段、数据段及栈段等。每个段都有自己的名字,通常可用段号代替。段从 0 开始编址,采用连续地址空间,段的长度由相应逻辑信息组的长度决定,各段长度不相等,作业地址空间呈现二维特性,逻辑地址由段号(段名)和段内地址组成。

(2)段表:系统为每个进程建立一张段映射表,即段表。每个段在表中占有一个表项,记录该段在内存中的起始地址和段的长度。段表可存放在寄存器中以提高地址变换速度,更常见的是存放在内存中,用于实现从逻辑段到物理内存区的映射。

(3)地址变换机构:系统设置段表寄存器,存放段表起始地址和段表长度。进行地址变换时,将逻辑地址中的段号与段表长度比较,若段号大于段表长度则产生越界中断信号;若未越界,根据段表起始地址和段号计算段表项位置,读出段在内存中的起始地址,再检查段内地址是否超过段长,若超过则产生越界中断信号,若未越界则将段起始地址与段内地址相加得到物理地址。若段表在内存中,可增设联想存储器保存常用段表项,以减少存取数据的时间。

分段式存储管理优缺点如下:

  • 优点:空间浪费小、存储共享容易、存储保护容易、能动态链接。
  • 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

【真题】设某进程的段表如下所示,逻辑地址( B )可以转换为对应的物理地址。

A. (0,1597)、(1,30)和(3,1390)

B. (0,128)、(1,30)和(3,1390)

C. (0,1597)、(2,98)和(3,1390)

D. (0,128)、(2,98)和(4,1066)

解析:因为0段的段长只有600,而逻地址(0,1597)中的1597已经越界,不能转换成逻辑地址,而选项A和选项C中都包含逻辑地址(0,597)所以是错误的。又因为4段的段长只有960,而逻辑地址(4,1066)中的1066已经越界,也不能转换成逻辑地址,而选项D中包含逻辑地址(4,1066)所以是错误的。

3.4.4 段页式存储管理

(1)分段分页:先将用户程序的地址空间分成若干个逻辑段,再把每个段分成若干个大小固定的页。这样,作业的地址空间就呈现出三维特性,即段号、页号和页内地址。

(2)段表与页表:系统为每个进程建立一张段表,段表中的每个表项记录了该段的页表起始地址和段的长度等信息。段表用于实现从逻辑段到页表的映射,通过段表可以找到对应段的页表位置。每个段都有自己的页表,页表记录了该段中各个页在内存中的物理块号。页表用于实现从页号到物理块号的映射,通过页表可以确定每个页在内存中的具体存储位置。

(3)地址变换机构:在进行地址变换时,首先根据段表寄存器中的段表起始地址和逻辑地址中的段号,找到该段对应的段表项,从中取出页表起始地址。然后,根据页表起始地址和逻辑地址中的页号,查找页表,得到该页对应的物理块号。最后,将物理块号与逻辑地址中的页内地址相结合,就得到了要访问的内存物理地址。

3.5 设备管理

3.5.1 设备管理概述

设备是计算机系统与外界交互的工具,具体负责计算机与外部的输入/输出工作所以常称为外部设备(简称外设)。在计算机系统中,将负责管理设备和输入/输出的机构称为/O系统。因此,/O系统由设备、控制器、通道(具有通道的计算机系统)、总线和/O软件组成。设备的分类如下:

  • 按数据组织分类:块设备、字符设备。
  • 按照设备功能分类:输入设备、输出设备、存储设备、网络联网设备、供电设备。
  • 资源分配角度分类:独占设备、共享设备和虚拟设备。
  • 数据传输速率分类:低速设备、中速设备、高速设备。

设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成/O设备与主存之间的数据交换。

设备管理的主要功能是动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理/O设备的操作、提供设备使用的用户接口及设备的访问和控制。

3.5.2 I/O软件

I/O设备管理软件的所有层次及每一层功能如下图:

实当用户程序试图读一个硬盘文件时,需要通过操作系统实现这一操作。与设备无关软件检查高速缓存中有无要读的数据块,若没有,则调用设备驱动程序,向I/O硬件发出一个请求。然后,用户进程阻塞并等待磁盘操作的完成。当磁盘操作完成时,硬件产生一个中断,转入中断处理程序。中断处理程序检查中断的原因,认识到这时磁盘读取操作已经完成,于是唤醒用户进程取回从磁盘读取的信息,从而结束此次I/O请求。用户进程在得到了所需的硬盘文件内容之,后继续运行。

3.5.3 设备管理技术

一台独占设备,在同一时间只能由一个进程使用,其他进程只能等待,且不知道什么时候打印机空闲,此时,极大的浪费了外设的工作效率。

引入SPOOLING(外围设备联机操作)技术,就是在外设上建立两个数据缓冲区,分别称为输入井和输出井,这样,无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化。如下图所示:

【真题】以下关于I/O软件的叙述中,正确的是(C)

A. I/O软件开放了I/O操作实现的细节,方便用户使用I/O设备

B. I/O软件隐藏了I/O操作实现的细节,向用户提供物理接口

C. I/O软件隐藏了I/O操作实现的细节,方便用户使用I/O设备

D. I/O软件开放了I/O操作实现的细节,用户可以使用逻辑地址访问I/O设备

3.6 文件管理

3.6.1文件管理概述

文件:是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。

信息项:是构成文件内容的基本单位,可以是一个字符,也可以是一个记录,记录可以等长,也可以不等长。一个文件包括文件体和文件说明。文件体是文件真实的内容。

文件说明:是操作系统为了管理文件所用到的信息,包括文件名、文件内部标识、文件的类型、文件存储地址、文件的长度、访问权限、建立时间和访问时间等。

文件管理系统:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称文件系统。文件系统的功能包括按名存取;统一的用户接口;并发访问和控制;安全性控制;优化性能;差错恢复。

文件的类型:

1) 按文件性质和用途可将文件分为系统文件、库文件和用户文件。

2) 按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。

3) 按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。

4) UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。

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

文件的物理结构:指文件在物理存储设备上的存放方法,包括:

1)连续结构。连续结构也称顺序结构,它将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。

2)链接结构。链接结构也称串联结构,它是将逻辑上连续的文件信息(如记录)存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。

3)索引结构。将逻辑上连续的文件信息(如记录)存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。

4)多个物理块的索引表。索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块。

3.6.2 索引文件结构(重点)

如图所示,系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容,假设每个物理盘大小为4KB,共可存4KB*10=40KB数据;

10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址,假设每个地址占4B,则共有1024个地址,对应1024个物理盘,可存1024*4KB=4096KB数据。

二级索引节点类似,直接盘存放一级地址,一级地址再存放物理盘快地址,而后链接到存放数据的物理盘块,容量又扩大了一个数量级,为1024*1024*4KB数据。

【真题】设文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB,若要访问文件的逻辑块号分别为5和518,则系统应分别采用(C),而且可表示的单个文件最大长度是(D)KB。

A. 直接地址索引和一级间接地址索引

B. 直接地址索引和二级间接地址索引

C. 一级间接地址索引和二级间接地址索引

D. 一级间接地址索引和一级间接地址索引

A. 517

B. 1029

C. 16513

D. 66053

解析:依题意,有5个地址项为直接地址索引,所以直接地址索引涉及到的逻辑块为:0-4。2个地址项为一级间接索引,每个一级间接索引结点对应的逻辑块个数为:1KB/4B=256个。所以一级间接索引涉及到的逻辑块号为:5-516。二级间接索引所对应的逻辑块号即为:517以上。可表示的单个文件长度,首先计算直接地址索引,就是5个数据块,为5KB,而后一级间接地址索引,可表示256个数据块,即256KB,二级间接地址索引可存储1KB/4B=256个一级间接地址索引,每个一级间接地址索引又可存储256KB,因此是256*256KB,全部加起来共5+256*2+256*256=66053。

3.6.3 文件目录

文件控制块中包含以下三类信息:基本信息类、存取控制信息类和使用信息类。

  • 基本信息类。例如文件名、文件的物理地址、文件长度和文件块数等。
  • 存取控制信息类。文件的存取权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读/写执行RWX权限。
  • 使用信息类。文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等。

文件控制块的有序集合称为文件目录。

全文件名=绝对路径+文件名。要注意,绝对路径和相对路径是不加最后的文件名的,只是单纯的路径序列。

  • 相对路径:是从当前路径开始的路径。
  • 绝对路径:是从根目录开始的路径

 

【真题】若某文件系统的目录结构如下图所示,假设用户要访问文件Fault.swf,且当前工作目录为swshare,则该文件的全文件名为(D),相对路径和绝对路径分别为(B)。

A. fault.swf

B. flash\fault.swf

C. swshare\flash\fault.swf

D. \swshare\flash\fault.swf

A. swshare\flash\和\flash\

B. flash\swshare\和flash\

C. \swshare\flash\和flash\

D. \flash\和\swshare\flash\

3.6.4 文件存储空间的管理

文件的存取方法是指读/写文件存储器上的一个物理块的方法。通常有顺序存取和随机存取两种方法。顺序存取方法是指对文件中的信息按顺序依次进行读/写;随机存取方法是指对文件中的信息可以按任意的次序随机地读/写。

1)空闲区表。将外存空间上的一个连续的未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,适用于连续文件结构。

2)位示图。这种方法是在外存上建立一张位示图(Bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。

3)空闲块链。每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。

4)成组链接法。例如,在实现时系统将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第一个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。

【真题】某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第()个字中描述:如果磁盘的容量为1000GB,那么位示图需要()个字来表示。

A. -128

B. 256

C. 512

D. 1024

A. 1200

B. 3200

C. 6400

D. 8000

解析:在位示图中,一个物理块占1个字中的1位,第16385占到16386位(从0编号)

16386/32=512余数2,可知,其在513个字中描述,但因为从0开始编号,是第512个字;磁盘容量1000GB,共1000GB/4MB=250*1024个物理块,需要250Kb表示,即250*1024bit/32bit=8000个字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++初阶——类和对象(三) 构造函数、析构函数

C初阶——类和对象&#xff08;三&#xff09; 上期内容&#xff0c;我们围绕类对象模型的大小计算&#xff0c;成员存储方式&#xff0c;this指针&#xff0c;以及C实现栈和C语言的比较&#xff0c;进一步认识了C的封装特性。本期内容&#xff0c;我们开始介绍类的默认成员函…

矩阵幂(矩阵k次幂)

矩阵幂 #include<stdio.h> //矩阵乘法 void cf(int a[20][20],int b[20][20],int result[20][20],int n){for(int i0;i<n;i){for(int j0;j<n;j){result[i][j]0;for(int k0;k<n;k){result[i][j]a[i][k]*b[k][j];}}} }void print(int a[20][20],int n){for(int…

自己动手打造AI Agent:基于DeepSeek-R1+websearch从零构建自己的Manus深度探索智能体AI-Research

第一章&#xff1a;AI Agent基础与DeepSeek-R1架构解析&#xff08;1/10&#xff09; 1.1 AI Agent技术演进与核心价值 人工智能代理&#xff08;AI Agent&#xff09;经历了从规则驱动到数据驱动的范式转移。早期基于专家系统的符号主义方法&#xff08;如MYCIN医疗诊断系统…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固定表头表格

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14_13可展开行的固…

Gemini Robotics:将人工智能带入物理世界

25年3月来自谷歌的技术报告“Gemini Robotics: Bringing AI into the Physical World”。 大型多模态模型的最新进展&#xff0c;已使数字领域出现卓越的通才能力&#xff0c;但将其转化为机器人等物理智体仍然是一项重大挑战。一般有用的机器人需要能够理解周围的物理世界&am…

生活中的可靠性小案例11:窗户把手断裂

窗户把手又断了&#xff0c;之前也断过一次&#xff0c;使用次数并没有特别多。上方的图是正常的把手状态&#xff0c;断的形状如下方图所示。 这种悬臂梁结构&#xff0c;没有一个良好的圆角过渡&#xff0c;导致应力集中。窗户的开关&#xff0c;对应的是把手的推拉&#xff…

多元时间序列预测的范式革命:从数据异质性到基准重构

本推文介绍了一篇来自中国科学院计算技术研究所等机构的论文《Exploring Progress in Multivariate Time Series Forecasting: Comprehensive Benchmarking and Heterogeneity Analysis》&#xff0c;发表在《IEEE Transactions on Intelligent Transportation Systems》。论文…

印章/公章识别:PaddleX下的“Seal-Recognition”模型

最近做项目需要对印章进行识别&#xff0c;并提取其中的印章文字&#xff0c;又不希望这个模型太大&#xff0c;还要方便部署&#xff0c;于是乎这个模型是个不错的选择。 一、模型简介 “Seal-Recognition”模型是PaddleX旗下的一款模型&#xff08;PaddleX 是基于飞桨框架构…

算法专题一:双指针

1.移动零 题目链接&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 我们可以定义一个dest&#xff0c;一个cur&#xff0c;dest表示数组中不为零的数的最后一位&#xff0c;cur用来遍历数组 class Solution {public void moveZeroes(int[] nums) {for(int cur…

Linux驱动开发-①pinctrl 和 gpio 子系统②并发和竞争③内核定时器

Linux驱动开发-①pinctrl 和 gpio 子系统②并发和竞争③内核定时器 一&#xff0c;pinctrl 和 gpio 子系统1.pinctrl子系统2.GPIO子系统 二&#xff0c;并发和竞争1.原子操作2.自旋锁3.信号量4.互斥体 三&#xff0c;按键实验四&#xff0c;内核定时器1.关于定时器的有关概念1.…

数据库的高阶知识

目录 一、case when二、几种常见的嵌套查询2.1 比较运算符2.2 ANY/ALL 关键词2.3 in 关键词2.4 EXISTS关键词2.5 in和exists的异同点 三、开窗函数 数据库的基本知识 数据库的高阶知识 一、case when 在实际工作中&#xff0c;经常会涉及以下两类问题&#xff1a; 数据的映射…

MapReduce处理数据流程

&#xff08;一&#xff09;Shuffle MapReduce中的Shuffle过程指的是在Map方法执行后、Reduce方法执行前对数据进行分区排序的阶段 &#xff08;二&#xff09;处理流程 1. 首先MapReduce会将处理的数据集划分成多个split&#xff0c;split划分是逻辑上进行划分&#xff0c;…

OrioleDB: 新一代PostgreSQL存储引擎

PostgreSQL 12 引入了可插拔式的表存储方法接口&#xff0c;允许为不同的表选择不同的存储机制&#xff0c;例如用于 OLTP 操作的堆表&#xff08;HEAP、默认&#xff09;、用于 OLAP 操作的列式表&#xff08;Citus&#xff09;&#xff0c;以及用于超快速搜索处理的内存表。 …

电脑自动关机故障维修案例分享

电脑基本配置&#xff1a; C P U: AMD A10 9700 内存&#xff1a;8G 硬盘&#xff1a;金邦512G固态硬盘 主板&#xff1a;华硕 A320M-F 显卡&#xff1a;集成&#xff08;核心显卡&#xff09; 操作系统&#xff1a;Win10专业版 故障描述&#xff1a; 使用一段时间会黑屏…

栈(LIFO)算法题

1.删除字符串中所有相邻的重复字符 注意&#xff0c;我们需要重复处理&#xff0c;而不是处理一次相邻的相同元素就结束了。对示例来说&#xff0c;如果只进行一次处理&#xff0c;结果为aaca&#xff0c;但是处理之后又出现了相邻的重复元素&#xff0c;我们还得继续处理&…

conda的基本使用及pycharm里设置conda环境

创建conda环境 conda create --name your_env_name python3.8 把your_env_name换成实际的conda环境名称&#xff0c;python后边的根据自己的需要&#xff0c;选择python的版本。 激活conda环境 conda activate your_env_name 安装相关的包、库 conda install package_name …

synchronized与 Java内置锁(未写完)

文章目录 一、 synchronized 关键字二、Java对象结构1. 对象头2. 对象体3. 对齐字节4. 对象头中的字段长度5. Mark Word 的结构信息6. 使用 JOL 工具查看对象的布局 三、Java 内置锁机制3.1 内置锁的演进过程1. 无锁状态2. 偏向锁状态3. 轻量级锁状态4. 重量级锁状态 一、 sync…

LLM(3): Transformer 架构

Transformer 架构是当前大语言模型的主力架构和基础技术&#xff0c;本文以通俗易懂的方式&#xff0c;对此作简要介绍。 1.4 介绍 Transformer 架构 大多数现代的大规模语言模型&#xff08;LLMs&#xff09;依赖于 Transformer 架构&#xff0c;这是一种在 2017 年的论文《…

88.HarmonyOS NEXT 性能监控与调试指南:构建高性能应用

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT 性能监控与调试指南&#xff1a;构建高性能应用 文章目录 HarmonyOS NEXT 性能监控与调试指南&#xff1a;构建高性能应用1. 性能监…

012---状态机的基本知识

1. 摘要 文章为学习记录。主要介绍状态机概述、状态转移图、状态编码、状态机写法、状态机代码示例。 2. 状态机概述 状态机 &#xff08;Finite State Machine&#xff09;&#xff0c;也称为同步有限状态机&#xff0c;用于描述有先后顺序或时序规律的事情。 “同步”&…