软考之操作系统

来源:互联网 发布:英语短语软件 编辑:程序博客网 时间:2024/05/17 05:02

1.操作系统基础知识

操作系统的作用:1.通过资源管理,提高计算机系统的效率。2.改善人机界面,向用户提供友好的工作环境。

操作系统的特征:并发性,共享性,虚拟性和不确定性

操作系统的功能:处理器管理,文件管理,存储管理,设备管理,作业管理

操作系统的类型:批处理操作系统,分时系统,实时系统,网络操作系统,分布式操作系统,微机操作系统,嵌入式操作系统


2.处理器管理

概念:进程是程序的一次执行,改程序可以和其他程序并发执行。

进程状态及状态转换图
三态模型-运行,就绪,阻塞
五态模型-新建,就绪,运行,阻塞,终止

进程就是系统进行分配和调度的最小单位。它有三种基本状态:
就绪状态:进程已得到运行所需资源,只等待CPU的调度即可运行
运行状态:进程已得到运行所需资源,并且得到了CPU的调度
挂起状态:不具备运行条件、等待时机的状态


(图片来源见水印)
就绪->运行的条件是被调度程序选中
运行->就绪的条件是时间片到了(超时),或被更高优先级的进程剥夺
运行->挂起的条件是不具备运行条件,等待某一事件的发生
挂起->就绪的条件是等待的事件已发生,具备了运行条件

进程的互斥:当有若干个进程都要使用某一个资源时,任何时刻最多只允许一个进程去使用该资源,其他要使用它的进程必须等待,知道该资源的占用着释放了该资源。(这种资源被称为临界资源)

进程同步并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。当一个进程没有得到另一个进程的消息时候应该等待,知道消息到达才被唤起。

信号量与PV操作
信号量是一种特殊的变量,表现形式是一个整形S和一个队列。
P操作:也称为down()、wait()操作,使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列。
V操作:也称为up()、signal()操作,使S=S+1,若S≤0,唤醒等待队列中的一个进程。

死锁
(1)产生原因
系统提供的资源数比进程要求的资源少;或者若干个进程要求的资源总数 大于系统能够提供的资源数,这时候,进程之间就会出现竞争资源的现象,对竞争资源分配不当,就会出现死锁。

(2)死锁的必要条件:
互斥条件——每个资源每次都只能够给一个进程是用脑。
请求保持条件——一个进程申请资源得不到满足时候处于等待自愿的状态,且不释放占有资源。
不可剥夺条件——任何一个进程不能够抢夺另一个进程所占用的资源,只能够自己来释放。
环路条件——存在一组进程,每个进程都在等待别人释放进程。
注意:四个条件是必要不充分条件。即发生死锁,四个条件一定同时成立;四个条件同时成立,不一定发生死锁。

(3)解决死锁方法:
1.死锁预防:
1>预先静态分配法:破坏“不可剥夺条件”。预先分配所需资源,保证不等待资源。
2>资源有序分配法:破坏”环路条件“,。把资源分类按顺序排列,保证不形成环路。
2. 死锁避免
通过算法合理的分配资源,达到避免死锁的效果,经典的算法是银行家算法。它是在保证至少有一个进程能够得到所需的全部资源的前提下进行资源分配的。
银行家算法:一种经典的死锁避免方法。基本思想:当某个进程提出申请时,必须判断将资源分配给该进程后是否会引起死锁。若不会,则进行分配;否则就不分配。可以保证在任何时刻至少有一个进程可以得到所需的全部资源而执行结束。
3 .死锁的检测
为解决死锁问题,这种系统设置了一些定时运行的“死锁检测程序”当检测到有死锁情况时候,再设法将其排除。
4.死锁解除:1.资源剥夺法:从某些进程中强行剥夺足够数量的资源分配给死锁进程。2.撤销进程法:根据某种策略逐个地撤销死锁进程。

3.存储管理

存储管理的对象是主存,也叫内存。功能包括:分配和回收主存空间、提高主存利用率、扩充主存、主存信息保护。
一般的存储器结构有: 寄存器-(缓存) -主存-外存。
数据存放的地址是由符号决定的。源程序的地址空间叫符号名地址空间或者名空间。它是从0开始的,不是主存中的真实地址。所以称为 相对地址、程序地址、逻辑地址、虚拟地址。
存储空间:物理地址的集合。
地址重定位:将逻辑地址转化为物理地址的过程。(静态重定位、动态重定位)


存储管理主要是为了解决多个用户使用主存的问题,其存储管理方案主要包括分区存储管理,分页存储管理,分段存储管理,段页式存储管理以及虚拟存储管理

分区存储管理
*固定分区:这是支持多道程序设计的最简单存储管理方法,它把主存划分成若干个固定的和大小不同的分区,每个分区能够装入一个作业,分区的大小是固定的,算法简单,但是容易生产较多的存储器碎片。
*可变分区:是一种动态分区方式,存储空间的划分是在作业装入时进行的,故分区的个数是可变的,分区的大小刚好等于作业的大小。
*可重定位分区:这是客服固定分区碎片问题的一种存储分配方式,它能够把相邻的空闲存储空间合并成一个完整的空区,还能够整理存储器内各个作业的存储位置,以达到消除存储碎片和紧缩存储空间的目的。紧缩工作需要花费大量时间和系统资源。

分页存储管理
纯分页存储管理:将一个进程的地址空间分为若干大小相等的区域,称为页。主存空间也划分为和页相同大小的物理快,称为块或页框。在为进程分配主存时,将进程中若干的页分别装入多个不相邻接的块中。

分段存储管理
作业的地址空间被划分为若干段,每一段是完整的逻辑信息,如主程序段、子程序段、数据段和堆栈段等,和页面的区别是段的长度是不同的。每一段都有自己的名字,都从0开始编址。有一个段表,记录各段的基址和段长,然后逻辑地址通过段表进行转化。

段页式存储管理
将地址先分段,然后段内分页,加上页内地址。

虚拟存储管理
为了扩大主存容量而采用的一种设计方法,其容量是由计算机的地质结构决定的。
程序的局部性原理 
1.时间局限性:如果一段空间被访问,那么再一段时间内它有可能会被再次访问,如循环变量。
2.空间局限性:如果一段空间被访问,那么它临近的空间再一段时间内页可能被访问,如遍历数组。

页面置换算法:虚拟存储器是具有要求调入功能和置换功能,能仅把作业的一部分装入内存便可运行作业的存储器系统,是能从逻辑上对主存容量进行扩充的一种虚拟的存储器系统。在进程运行过程中,如果发生缺页,此时需要使用页面置换算法来解决。
(1)最佳(Optimal)置换算法
(2)先进先出(FIFO)置换算法
(3)最近最少未使用(Least Recently Used, LRU)置换算法
(4)最近未用(Not Used Recently, NUR)置换算法

4.设备管理

设备是计算机系统与外界交互的工具,负责计算机与外部的输入输出工作,所以也常叫做外设。
负责输入输出的系统称为I/O系统,由设备、控制器、通道(如果有的话)、总线和I/O软件(驱动)组成。
设备分类:
(数组组织:块设备(以块为大小进行组织),字符设备(单个字符传送,如打印机)
(资源分配:独占设备、共享设备、虚拟设备(利用虚拟技术把独占设备变成共享设备)。
(数据传输率:低速(数百个字节每秒,鼠标,键盘,语音输入),中速(数千至数十千字节每秒,打印机等),高速设备(数百千字节以上,如磁盘,光盘)。


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


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


设备管理主要利用的技术:中断技术、DMA技术(主存与I/O设备直接的块传送)、通道技术(通道实现I/O,与CPU直接交互,CPU不再负责I/O)、缓冲技术(在所有的I/O设备与主存之间都是用了缓冲区,分为单缓冲、双缓冲、多缓冲、环形缓冲)、Spooling技术(Simulatneous Peripheral Operations On Line,外围设备联机操作)或称之为假脱机,是指一种物理设备模拟另一种物理设备的技术。使独占设备变成多台虚拟设备。


I/O软件
主要目标是设备独立性和统一命名。
分层:中断处理程序、设备驱动程序、与设备无关的系统软件、用户软件。(没有严格划分)

磁盘调度
磁盘是可以被多个进程共享的设备,当有多个进程的时候访问磁盘的时候,为了保证信息的安全,系统需要使用调度算法进行进程间资源的分配。这就是磁盘调度算法。
磁盘调度的目标就是使磁盘的平均寻道时间最少。
常用算法:


)先来先服务算法(First Come First Served) 
)最短寻道时间优先(Shortest Seek Time First, SSTF)每次都选择磁道最近距离,但是并不能保证平均最短。
)扫描算法(SCAN):也称电梯调度算法,即每一次向一个方向进行扫描,直到需要反方向的调度。
)单向扫描算法(CSCAN):和扫描算法类似,但是是一直只扫描一个方向。

4.设备管理

文件与文件系统
文件是具有符号名的、再逻辑上具有完整意义的一组相关信息项的集合。
文件管理系统,就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理喝存取文件信息的软件机构,简称文件系统。


文件类型:
)性质和用途:系统文件、库文件、用户文件。
)保存期限:临时文件、档案文件和永久文件。
)保护方式:只读文件、读写文件、可执行文件、不保护文件。
)Linux/UNIX系统将文件分为:普通文件、目录文件和设备文件(特殊文件)
)常用的文件系统有: FAT、VFat、NTFS、Ext2,3,HPFS。


文件的结构和组织
文件的逻辑结构可分为两大类:一是有结构的记录式文件。而是无结构的流式文件。


文件的物理结构
连续/顺序结构。
链接/串联结构,不连续,里用块指针。
索引结构:文件索引表,索引表记录了文件信息所在的逻辑块号对应的物理地址。
多个物理块的索引表。多个物理快的索引表有两种组织方式:链接文件和多重索引方式。
在UNIX/LINUX中采用的是三级索引结构,文件系统中inode是基本的构件,它表示文件系统树形结构的节点。
UNIX文件索引表分为4种寻址方式:直接寻址、一级间接寻址、二级间接寻址和三级间接寻址。


文件控制块
文件控制块包含以下三类信息:基本信息类,存取控制信息类和使用信息类。
1.基本信息类:文件名、物理地址、文件长度、文件块数。
2存取控制信息类。文件存取权限,像UNIX用户分成文件主、同组用户和一般用户三类。
3使用信息类:文件建立日期,最后一次修改日期、最后一次访问日期、当前使用的信息。


目录结构
常见的目录结构有三种:一级目录结构,二级目录结构,多级目录结构。


存取方法和存储空间管理
存取方法:顺序存取、随机存取、直接存取、按键存取。


文件存储空间的管理
空闲区表:将外存空间上一个连续未分配对应一个空闲区。
位示图:在外存上建立一张位示图,记录文件存储器的使用情况。
空闲块链:每个空闲物理块种有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表。
成组链接法:将空闲块分成若干组。




这一块的内容真的有点多,慢慢来吧,加油。
原创粉丝点击