操作系统基础知识.docx
- 文档编号:6611315
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:20
- 大小:485.13KB
操作系统基础知识.docx
《操作系统基础知识.docx》由会员分享,可在线阅读,更多相关《操作系统基础知识.docx(20页珍藏版)》请在冰豆网上搜索。
操作系统基础知识
操作系统基础知识
适用班级:
网络工程师
主讲:
刘琳芳
网址:
E-Mail:
bitpx@
分值说明:
网络工程师2-5分(早上试题)
比特培训中心
贵州·贵阳
一.操作系统基础知识1
1.1操作系统定义与作用1
1.2操作系统的功能2
二进程管理2
2.1基本概念2
2.1.1进程2
2.1.2进程的状态及状态间的切换2
2.1.3进程的控制2
2.2进程调度2
2.2.1调度的概念2
2.2.2进程调度方式2
2.3进程的死锁3
2.3.1死锁的概念3
2.3.2死锁举例3
2.3.3死锁产生的条件3
2.3.4死锁的处理3
三存储管理4
3.1基本概念4
3.2分区存储管理5
3.2.1单一连续分区5
3.2.2固定分区5
3.2.3可变分区5
3.3分页存储管理5
3.3.1分页原理5
3.3.2页表5
3.3.3地址结构6
3.3.4地址变换机构6
3.4分段存储管理7
3.4.1分段存储管理方式的引入7
3.5虚拟存储管理8
3.5.1虚拟存储原理8
3.5.2虚拟存储器定义8
3.6工作集8
四文件系统8
4.1文件与文件系统8
4.1.1文件8
4.1.2文件系统8
4.2文件的结构和组织8
4.3文件目录8
4.3.1文件控制块和索引结点8
4.3.2目录结构8
五试题部分10
一.操作系统基础知识
1.1操作系统定义与作用
操作系统有两个重要的作用:
(1)通过资源管理,提高计算机系统的效率
(2)改善人机界面,向用户提供友好的工作环境
操作系统不仅是计算机硬件和各种软件之间的接口,也是用户与计算机之间的接口。
1.2操作系统的功能
1)进程管理2)存储管理3)设备管理4)文件管理5)作业管理
二进程管理
2.1基本概念
2.1.1进程
程序是静态的概念,是指令的集合。
进程是一个程序关于某个数据集的一次运行,可以和其他程序并发执行的一次执行。
即进程是运行中的程序,是程序的一次运行活动。
进程通常由程序、数据和进程控制块(PCB)组成的。
程序部分:
描述了进程需要完成的功能。
数据部分:
包括程序执行时需要的数据及工作区。
进程控制块:
是进程的描述信息和控制信息,由状态、优先级、访问权限等信息组成,是进程动态特性的集中反映,也是进程存在的唯一标志。
2.1.2进程的状态及状态间的切换
三态模型
在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有运行、就绪和阻塞3种基本状态。
(1)运行:
当一个进程在处理机上运行时,则称该进程处于运行状态。
显然对于单处理机系统,处于运行状态的进程只有一个。
(2)就绪:
一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
(3)阻塞:
也称等待或睡眠状态。
一个进程正在等待某一事件发生(如等待I/0完成等而停止运行),这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞。
图进程的三态模型
2.1.3进程的控制
进程的控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制。
对进程的主要控制有创建、撤销、激活、阻塞等。
进程的创建:
调用进程创建原语创建一个进程,首先申请一个空白PCB,为新进程所需的程序和数据等分配必要的内存空间,然后初始化PCB内的各项内容,最后将新进程插入到就绪队列。
引起进程创建主要有用户登录、提供服务等事件。
进程的阻塞:
在进程执行的过程中,出现了要求的数据尚未到达,或者要求启动某个I/O设备,必须等到I/O操作完成后才能继续执行的这些事件时,由于无法继续执行,进程变调用阻塞原语来把自己阻塞,并插入到到阻塞对列。
将处理机分配给另一个就绪进程,并进程切换。
进程的唤醒:
当被柱阻塞的进程所期待的事件出现时,,则由有关的进程(比如,用完I/O设备的进程)调用唤醒原语Wakeup(),将等待该事件的进程唤醒,状态由阻塞改为就绪,再将该进程插入到就绪队列中。
2.2进程调度
2.2.1调度的概念
“进程调度”,又称低级调度,它决定处于主存中的就绪进程哪个可以占用CPU,是操作系统中最活跃、最重要的调度程序。
2.2.2进程调度方式
是指当有更高优先级的进程到来时如何分配CPU。
非抢占式:
一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程运行完毕或发生某件事而被阻塞,才把处理机分配给其他进程,决不允许某进程抢占已经分配出去的处理机。
抢占方式:
这种方式允许调度程序根据某种原则,去停止某个正在执行的进程,将已分配给该进程的处理机,重新分配给另一进程。
常用的调度算法类型:
(1)时间片原则。
各进程按时间片运行,运行完以后,便停止该进程的执行,而重新调度进程。
(2)优先权原则,指当有更高优先级的进程到来时,强行将正在运行的进程占用的CPU分配给高优先级的进程;
(3)短进程优先原则。
当新到达的进程比正在执行的进程明显短时,将剥夺当前进程的执行,将处理机分配给短进程,使之优先。
例题:
在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。
系统采用可剥夺方式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如表3-7所示。
表3-7设备的先后顺序和占用设备时间
进程优先级使用设备的先后顺序和占用设备时间
P1高R2(30ms)→CPU(10ms)→R1(30ms)→CPU(10ms)
P2中R1(20ms)→CPU(30ms)→R2(40ms)
P3低CPU(40ms)→R1(10ms)
假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为__(26)__%;R2的利用率约为____(27)____%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。
供选择的答案:
(26)A.60B.67C.78D.90(27)A.70B.78C.80D.89
2.3进程的死锁
2.3.1死锁的概念
所谓死锁是多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都无法继续运行下去的现象。
2.3.2死锁举例
例:
同类资源分配不当引起死锁。
若系统中有m个资源被n个进程共享,当每个进程都要求k个资源,而m 例如m=5,n=3,k=3,若系统采用的分配策略是轮流地为每个进程分配资源,则第一轮系统先为每个进程分配1台,还剩下2台;第二轮系统再为2个进程各分配1台,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态,导致系统发生死锁。 问题,若要绝对不发生死锁,最少的资源数量应为多少? 应为 。 2.3.3死锁产生的条件 1)互斥条件: 进程对其要求的资源进行排他性控制,即一次只允许一个进程使用。 2)请求保持条件: 零星地请求资源,即已获得部分资源后,又请求新的资源,而该资源被其他进程占有,此时请求被阻塞,但对已获得的资源保持不放。 3)不可剥夺条件: 进程已获得的资源在未使用完之前不能被剥夺,只能在使用完时由自己释放。 4)环路条件: 发生死锁时,在进程资源有向图中必构成环路,其中每个进程占有一个进程申请的一个或多个资源。 2.3.4死锁的处理 死锁的主要处理策略: 避免策略: 精心地分配资源,动态地回避死锁。 在避免死锁的方法中,把系统的状态分为安全状态和不安全状态,所谓安全状态,是指系统能按某种顺序(如 称 只要能使系统始终处于安全状态,便可以避免死锁的发生。 例子: 假定系统有三个进程P1,P2,P3,,系统共有12台磁带机,进程P1总共需要10台磁带机,P2P3分别要求4台和9台。 设在T0时刻,进程P1、P2和P3分别获得5台、2台和2台,尚有3台未分配,如下表所示: 进程 最大需求 已分配 可用 P1 10 5 3 P2 4 2 P3 9 2 试分析T0时刻的安全序列。 银行家算法: 该算法对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后,系统可能进入不安全状态,则不予分配;若分配资源后系统仍处于安全状态,则分配。 设P表示进程,R表示系统所拥有的资源,进程P请求某类资源Request[j]=k,表示进程需要k个Rj类型的资源。 当进程P发出请求资源的请求后,系统按下述步骤进行检查: (1)Requesti<=Needi,则转向步骤 (2),否则认为出错,因为它请求的资源数已经超过它所宣布的最大值。 (2)如果Requesti<=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,Pi必须等待。 (3)系统试探把要求的资源分配给进程Pi,并修改系统中的各数值。 Available: =Available-Requesti; Allocation: =Allocationi+Requesti; Needi: =Needi-Requesti; (4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态,若安全,才正式将资源分配给该进程,否则,将试探分配作废,恢复原来的资源分配状态,让该进程Pi等待。 例子: 操作系统分配资源时的一个重要考虑是避免死锁的发生。 若系统中有同类资源16个,由四个进程P1、P2、P3、P4共享。 P1、P2、P3、P4所需的资源总数分别为8、5、9、6.各进程请求资源的次序如下,若系统采用银行家算法为他们分配资源,那么___依次申请分配会使系统进入不安全状态。 序号 进程 申请量 1 P1 6 2 P2 4 3 P3 5 4 P4 1 5 P1 1 6 P2 1 供选择答: A.3.4B.3.5C.4.5D.5.6 三存储管理 存储管理的对象是主存储器(简称主存或内存)。 3.1基本概念 将一个用户源程序变为一个可在内存中执行的程序,通常要经过以下几步: (1)编译。 由编译程序将用户源代码编译成若干个目标模块; (2)链接。 由链接程序将编译后形成的目标模块以及他们所需要的库函数,链接在一起,形成一个装入模块; (3)装入。 由装入程序将装入模块装入内存。 图对用户程序的处理步骤 (1)虚拟地址: 程序员编写源程序的地址,它从0号单元开始编址,并顺序分配所有地址单元,所以它不是主存中的真实地址,故称为相对地址、程序地址、逻辑地址。 (2)物理地址: 源程序经过汇编或编译后,最后装入到内存中的地址叫绝对地址或物理地址。 3.2分区存储管理 3.2.1单一连续分区 仅用在早期单用户单任务操作系统中。 将内存分为系统区和用户区。 3.2.2固定分区 是一种静态分区方式。 在系统生成时已将主存划分为若干个分区,每个分区的大小可不等。 图a为分区说明表,图b为存储空间分配情况。 3.2.3可变分区 可变分区分配用两种管理表格: 已分配表: 记录已分配分区的情况.未分配表: 记录未分配区的情况。 把一个新作业装入内存时,要按照一定的分配算法,从空闲分区表中选出一个分区给该作业。 请求分区主要有如下4种算法. l)最佳适应算法 假设系统中有n个空白区(自由区),每当用户申请-个空间时,将从这n个空白区中找到一个最接近用户需求的分区。 这种算法能保留较大的空白区。 但缺点是空闲区不可能刚好等于用户要求的区,所以必然要进行再次分割,会产生许多小到无法再继续分配的小分区,称为外碎片。 2)最差适应算法: 系统总是将用户作业装入最大的空白分区。 这种算法将一个最大的分区一分为二,所以剩下的空白区通常也大,不容易产生外碎片。 3)首次适应算法 每当用户作业申请一个空间时,系统总是从主存的低地址开始选择一个能装入作业的空白区。 当用户释放空间时,该算法更易实现相邻的空白区合并。 4)循环首次适应算法 与首次适应算法的不同之处是,每次分配都是从刚分配的空白区开始寻找一个能满足用户要求的空白区,减少了查找空闲分区的开销,但是缺少大的空闲分区。 3.3分页存储管理 3.3.1分页原理 将一个进程的地址空间划分成若干大小相等的区域,称为页。 相应地,将主存空间划分成与页相同大小的若干物理块,称为块或页框。 在为进程分配主存时,将进程中若干页分别装入多个不邻接的块中。 3.3.2页表 在将进程的每一页离散地分配到主存的多个物理块中后,系统应保证能在主存中找到每个页面所对应的物理块。 为此,系统为每个进程建立一张页面映射表,简称页表。 每个页在页表中占一个表项,记录该页在主存中对应的物理块号。 进程执行时,通过查找页表,就可以找到每页所对应的物理块号。 图页表 3.3.3地址结构 分页系统的逻辑地址结构如图所示,它由两部分组成前一部分为页号,后一部分为页内地址。 图中的地址长度为32位,其中0-11位为页内地址,每页的大小为多少? 允许该地址空间最多有多少页面? 3112110 页号 页内地址 3.3.4地址变换机构 地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址,实际上就是将用户程序中的页号变换成主存中的物理块号。 在进行地址变换时,系统对页号与页表长度进行比较,如果页号大于等于页表寄存器中的页表长度L〈页号从0开始〉,则访问越界,产生越界中断。 若未出现越界,则根据页表寄存器中的页表基址和页号计算出该页在页表项中的位置,得到该页的物理块号,将此物理块号装入物理地址寄存器中。 与此同时,将有效地址(逻辑地址)寄存器中的页内地址直接装人物理地址寄存器的块内地址字段中,这样便完成了从逻辑地址到物理地址的变换。 ●页式存储系统的逻辑地址是由页号和页内地址两部分组成。 假定页面的大小为4K,地址变换过程如图所示,图中逻辑地址用十进制表示。 地址变换过程 图中有效地址经过变换后,十进制物理地址a应为___(17)____。 供选择的答案: A.33220B.8644C.4548D.2500 3.4分段存储管理 3.4.1分段存储管理方式的引入 1.方便编程;2.分段共享;3.分段保护;4.动态增长; 3.4.2分段系统的基本原理 一、分段 作业的地址空间被划分为若干个段。 每段是一组比较完整的信息单元。 如主程序段、子程序段、数据段。 每个段都从0号单元开始编址,并采用一段连续的地址空间。 段的长度由相应的逻辑信息组长度来决定。 逻辑地址由段号(名)和段内地址所组成。 3116150 段号 段内地址 二、段表 进程中各个段离散的放入内存的分区中。 系统为每个进程建立一张段映射表,成为段表。 每个段在段表中占一个表项。 记录该段在内存中的起始地址和该段的长度,实现从逻辑地址到物理内存区的映射。 段表 三、地址变换机构 设置段表寄存器,存放段表起始地址和段表长度。 在地址变换时,系统将逻辑地址中的段号S与段表程度进行比较,若段号>=段表长度时,表示越界。 若未越界,则根据段表的起始地址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存中的起始地址。 再检查段内地址是否超过该段的段长。 若超过,则越界。 若未越界,则讲该段的基址与段内地址相加,形成最终要访问的内存地址。 如图。 图分段系统的地址变换过程 四、分段和分页的主要区别 (1)页是物理单位,提高内存利用率; 段是信息的逻辑单位,是一组意义相对完整的信息,是为了满足用户的需要。 (2)页的大小是固定的,由系统确定。 段的长度不固定,决定于用户编写的程序。 (3)分页系统的地址变换简单,只需比较页号是否越界。 分段系统需要进行两次越界比较,变换复杂。 3.5虚拟存储管理 3.5.1虚拟存储原理 基于程序的局限性: (l)时间局限性: 如果程序中的某条指令一旦执行,则不久的将来该指令可能再次执行;如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。 产生时间局限性的原因是在程序中存在着大量的循环操作。 (2)空间局限性: 一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问.即程序在一段时间内访问的地址可能集中在一定的范围内,其原因是程序的顺序执行。 3.5.2虚拟存储器定义 基于局部性原理,一个作业在运行之前,没有必要全部装入内存,而仅将那些当前要运行的那部分页面或段,先装入内存便可启动运行,其余部分暂时留在磁盘上。 程序在运行时如果它要访问的页(段)已调入内存,便可继续执行下去;如果程序所要访问的页尚未调入内存(称为缺页或断页),此时程序应利用OS所提供的请求调页(段)功能,将他们调入内存,以使进程能继续执行下去。 所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统,具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。 3.6工作集 工作集是指,在某段时间间隔内,进程实际要访问的页面的集合。 四文件系统 4.1文件与文件系统 4.1.1文件 文件是信息的一种组织形式,是存储在辅助存储器上的具有标识名的一组信息集合。 可以是有结构的,也可以是无结构的。 4.1.2文件系统 文件管理系统,就是操作系统中实现文件统一管理的一组相关软件和相关数据的集合,专门负责管理和存取文件信息的软件机构。 4.2文件的结构和组织 文件的结构是指文件的组织形式,从用户观点所看到的文件组织形式,称为文件的逻辑结构。 从实现角度在文件存储器上的存放方式,称为文件的物理结构。 文件的逻辑结构可以分为两种: 一是有结构的记录式文件,它是由一个以上的记录构成的文件。 二是无结构的流式文件,它是由一串顺序字符流构成的文件。 4.3文件目录 实现对大量文件的存储主要依赖文件目录来实现。 4.3.1文件控制块和索引结点 文件控制块: 为了实现“按名存取”,系统必须为每个文件设置用于描述和控制文件的数据结构,它包含文件名和文件存放的物理地址等信息,这个数据结构成为文件控制块(FCB)。 文件目录就是文件控制块的有序集舍。 文件名 扩展名 属性 备用 时间 日期 第一块号 盘块数 图MS-DOS的文件控制块 目录文件: 文件目录是由文件控制块组成的,专门用于文件的检索。 文件目录可以存放在文件存储器固定位置,也可以文件的形式存放在磁盘上,这种特殊的文件称为目录文件。 索引结点: 将文件名与文件的描述信息分开存储,把文件描述信息单独形成一个称为索引结点的数据结构,在文件目录的中每一个目录项,则仅存放文件名以及指向该结点的指针构成。 文件名 索引结点编号 文件名1 … 图UNIX的文件目录 4.3.2目录结构 常见的目录结构有3种: 一级目录结构、二级目录结构、多级目录结构(树型目录结构)。 1)单级目录结构 单级目录结构的整个目录组织是一个线性结构,在整个系统中只需要建立一张目录表,系统为每个文件分配一个目录项(文件控制块)。 单级目录结构简单,缺点是查找速度慢,不允许重名和不便于实现文件共享,因此主要在单用户环境中使用。 2)二级目录结构 二级目录主要由主文件目录MFD(masterfiledirectory)和用户目录UFD(userfiledirectory).结构如图。 在主文件目录中,每个用户文件目录都只占有一个目录项,其目录项包括用户名和指向该用户目录文件的指针。 用户目录是由用户所有文件的目录项组成,如图。 图二级目录结构图 3)多级目录 如果在两级目录结构中,又进一步允许用户创建自己的子目录并相应地组织自己的文件这样便可将两级目录演变为三级文件目录。 通常把包括三级在内的三级以上的文件目录结构称为树型结构的目录。 主目录在树型目录结构中,作为树的根结点,称为根目录。 数据文件作为树叶,其它所有目录均作为树的结点。 图中显示了多级目录结构。 图中,用方框代表目录文件,圆圈代表数据文件。 在该树型目录中,主(根)目录中含有三个用户的总目录项A、B和C。 在B项中指针所指出的B用户的总目录B中,又包含三个分目录即F、E和D,其中每个分目录中,又分别包含多个文件。 如在B目录的F分目录中,包含J和N两个文件。 图多级目录结构 绝对路径名: 在树型目录结构中,从根目录到任何数据文件之间,只有一条唯一的通路,在该路径上从树的根(即主目录)开始,把全部目录文件名与数据文件名,依次用“/”连接起来,即构成该数据文件的路径名(Pathname)。 系统中的每个数据文件都有唯一的路径名。 用户访问文件时,为保证访问的唯一性,用户在开始时必须使用文件的路径名。 例如,在图中,用户要访问文件J,可用其路径名B/F/J对来访问。 相对路径名: 由于一个进程在运行时所要访问的文件,大多只局限于某个范围之内。 基于这一点,可为每个进程设置一个“当前目录”,又称为“工作目录”。 进程对各文件的访问都是相对于‘当前目录”进行的。 此时对各文件所使用的路径名,只需从当前目录开始,再逐级通过目录文件,最后到达所要访问的数据文件。 将这一路径的全部目录文件名与数据文件名用“/”连接而形成的路径名称为相对路径名(relativepathname)。 相应地,前面从树根开始的路径名,称为绝对路径名(absolutepathname),如用户B的当前目录为F,则此时文件J的相对路径名就仅仅是J本身。 4.4廉价磁盘冗余陈列 廉价磁盘冗余陈列(RAID)是利用一台磁盘阵列控制器,来统一管理和控制一组磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统。 一、并行交叉存取 在一个拥有倒台磁盘驱动器的系统中,系统将没有盘块中的数据分为若干个盘块数据,再把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置,当需要将数据传送至内存时,采取并行传输方式,将各个盘块中的子盘块数据同时向内存中传输,这种方式叫并行交叉存取。 二、RAID的分级 1、RAID0级 该级仅提供了并行交叉存取。 它随能有效提高磁盘I/O速度,但并无冗余校验功能,致使磁盘系统可靠性不好,只要阵列中有一个磁盘损坏,便会造成不可弥补的数据丢失,较少使用。 2、RAID1级 具有磁盘镜像功能,可利用并行读、写特性,将数据分块并同时写入主盘和镜像盘,故比传统的镜像盘速度快,但磁盘容量的利用率只有50%。 3、RAID3级 具有并行传输功能的磁盘阵列。 它利用一台奇偶校验盘来完成容错功能,比起磁盘镜像,它减少了所需要的冗余磁盘数。 例如,当阵列中有7个磁盘时,可用6个盘作为数据盘,一个作为校验盘,此时利用率为6/7。 RAID3级常用于科学计算和图像处理。 4、RAID5级 这是一种具有独立传送功能的磁盘阵列,每个驱动器都有各自独立的数据通路,独立地进行读、写,无专门校验盘,用来进行纠错的校验信息,是以螺旋方式散布在所有数据盘上。 五试题部分 2004年11月试题 ●虚拟存储管理系统的基础是程序的__(23)__理论,这个理论的基本含义是指程序执行是往往会不均匀的访问主存储器单元。 根据这个理论,Denning提出了工作集理论。 工作集是进程运行时被频繁访问的页面集合。 在进程运行时,如果它的工作集页面都在__(24)__内,能够使该进程有效的运行,否则会出现频
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 基础知识