本文主要是介绍2013年软件设计师考试知识结构(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第三章 操作系统知识
操作系统基础知识
计算机系统中的软件分为应用软件和系统软件(操作系统/语言处理程序/链接程序/诊断程序/数据库管理系统)
操作系统的定义域作业
计算机系统包括硬件资源和软件资源(以文件形式存放在存储器上的程序和数据等信息).
操作系统能有效的组织和管理系统中的各种软硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口.
其作用主要有:通过资源管理,提高计算机系统的效率;改善人机界面,向用户提供友好的工作环境.
操作系统的特征与功能
操作系统的4个特征是并发性/共享性/虚拟性和不确定性.
从资源管理的观点来看,操作系统的功能可分为:
处理机管理:实际上是对处理机执行时间进行管理,采用多通道程序等技术将CPU的时间真正合理地分配给每个任务.主要包括进程控制/进程同步/进程通信和进程调度.
文件管理:包括存储空间管理/目录管理/文件的读写管理和存取控制
存储管理:是对主存储器空间进行管理,主要包括存储分配与回收/存储保护/地址映射和主存扩充.
设备管理:实质是对硬件设备的管理,包括对输入输出设备的分配/启动/完成和回收
作业管理:
操作系统的类型
批处理操作系统:
单道:一次只有一个作业装入内存执行
多道:其特点为多道/宏观上并行运行/微观上串行运行
分时操作系统:将cpu的工作时间划分为许多很短的时间片,轮流为各个终端服务,其特点有:多路性/独立性/交互性/及时性.UNIX系统是典型的多用户/多任务的分时系统.
实时操作系统:分为实时控制系统/实时信息处理系统,其特点是:快速的响应时间/有限的交互能力/高可靠性.
网络操作系统:是使联网计算机能方便而有效地共享网络资源,为网络用户提供所需各种服务的软件和相关协议的集合.
分布式操作系统:分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统的计算机无主次自分,任意两台计算机可以通过通信交换信息.分布式操作系统是网络操作系统的更高级形式.网络操作系统的工作,用户必须知道网址,而分布式系统用户则不必知道计算机的确切地址.
微操作系统:Linux操作系统是一个遵循标准操作系统界面的免费操作系统.
嵌入式操作系统:是运行在嵌入式智能芯片环境中,对整个智能芯片以及它操作、控制的各种附件装置等资源进行统一协调、处理、指挥和控制的系统软件.
处理机管理
处理机管理也称进程管理.进程是资源分配和独立运行的基本单位.
处理机管理重点需要研究诸进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题.
基本概念
进程顺序执行的特征:顺序性、封闭性和可再现性.
进程并发执行的特征:失去了程序的封闭性;程序和机器的执行程序的活动不再一一对应;并发程序间的相互制约.
进程通常是由程序、数据和控制块(PCB)组成.
进程的三态模型(运行/就绪/阻塞)和五态模型(增加了新增和终止两种状态).
进程的控制
进程的控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制.
进程控制是由操作系统内核(Kernel)中的原语实现的.内核是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充.原语(Primitive)是指由若干机器指令组成的,用于完成特定功能的程序段,其特点是在执行是不能被分割.
进程间的通信
同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题.
临界区(Critical section,CS)是进程中对临界资源(Critical Resource,CR)实施操作的那段程序.对互斥临界区管理有如下原则:有空即进/无空则等/有限等待/让权等待.
信号量机制:信号量分为公有(实现进程间的互斥)和私有信号量(实现进程间的同步).
信号量S的物理意义:S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数.PV操作是实现进程同步与互斥的常用方法,P操作表示申请一个资源,V操作表示释放一个资源.
P操作的定义:S:=S-1,若S>=0,则执行P操作的进程继续执行,否则置该进程为阻塞状态,并插入到阻塞队列中.
V操作的定义:S:=S+1,若S>0,则执行V操作的进程继续执行,否则从阻塞状态唤醒一个进程,并将其插入到就绪队列,然后执行V操作的进程继续.
PV操作属于低级通信方式,其编程难度大,效率低.为解决低级通信方式的缺点引入高级通信方式,有共享式存储模式、消息传递模式、管道通信.
管程
为解决分散编程带来的困难,提出了另一种同步机制---管程,其基本思路是采用资源集中管理的方法,将系统中的资源用某种数据接口抽象出来.
进程调度
进程调度方式是指当有更高优先级的进程到来时如何分配CPU.分为可剥夺和不可剥夺.
三级调度:在某些系统中,一个作业从提交到完成需要经历高、中、低三级调度.
高级调度(长调度/作业调度/接纳调度):它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程.
中级调度(中程调度/对换调度):它决定处于交换区的就绪进程哪个可以调入内存,以便直接参与对cpu的竞争.
低级调度(短程调度/进程调度):它决定处于内存中的就绪进程哪个可以占用cpu.低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大.
调度算法:
先来先服务(FCFS):比较有利于长作业和cpu繁忙的作业,而不利于短作业和i/o繁忙的作业.主要用于宏观调度
时间片轮转:主要用于微观调度,其设计目标是提高资源利用率.有固定时间片和可变时间片两种选择方法.
优先级调度:包括静态优先级(优先级在进程创建是确定,直到进程终止都不会改变)和动态优先级(进程创建时会赋予一个优先级,随着等待时间增长,优先级将提高).
多级反馈调度:是时间片轮转算法和优先级算法的综合与发展.其优点是照顾了短进程以提高系统吞吐量、缩短了平均周转时间;照顾I/O型进程以获得较好的I/O设备利用率和缩短响应时间;不必估计进程执行时间,动态调节优先级.其思路如下:
设置多个就绪队列,规定优先级越低则时间片越长;
新进程进入内存后,先投入到优先级最高的就绪队列中,按FCFS算法调度;若一个时间片内未完成,则较低投入到优先级次之的就绪队列中,也按FCFS算法调度,如此下去,当进程降低到最低优先级的就绪队列中,则按时间片轮转算法调度直到完成.
仅当较高优先级的队列为空,才调度较低优先级队列中的进程执行.
进程优先级确定需要考虑如下情况:
对I/O型进程,让其进入高优先级队列.
对计算型进程,每次执行完时间片后都进入更低优先级队列.
对I/O次数不多,而主要是CPU处理的进程,I/O完成后,放回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降.
为适应一个进程在不同时段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级.
死锁
所谓的死锁就是两个以上的进程相互都要求对方已经占有的资源导致无法继续运行下去的现象.进程推进顺序不当可能引起死锁/同类资源分配不当可能引起死锁/PV操作使用不当也可能引起死锁.
产生死锁的原因是为竞争资源及进程推进顺序非法.
产生死锁的四个必要条件是:互斥条件、请求保持条件、不可剥夺条件和环路条件.
死锁的处理策略主要有:鸵鸟策略(即不理睬策略)、预防策略、避免策略和检测与解除死锁.
死锁预防:是采用某种策略,限制并发进程对资源的请求,其有两种策略:预先静态分配法(破坏不可剥夺条件)和资源有序分配法(破坏环路条件).
死锁避免:银行家算法对进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后,系统进入不安全状态,则不予分配;所谓安全状态,是指系统能按某种顺序来为每个进程分配其所需的资源直至最大需求,使每个进程都可顺序完成.
死锁检测:
死锁解除:资源剥夺和撤销进程两种方法来解除死锁.
线程
传统的进程有两个基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位.
线程作为调度和分配的基本单位,进程作为独立分配资源的单位.
线程是进程中的一个实体,是呗系统独立分配和调度的单位.现在基本上不拥有资源,只拥有一点运行中必不可少的资源,它可以与同属于一个进程的其他线程共享进程所拥有的全部资源.线程分为用户级线程(User-LevelThreads)和内核支持线程(Kernel-SupportedThreads)
存储管理
其管理的对象是主存(内存).其主要的功能包括分配和回收主存空间、提高主存的利用率、扩从主存、对主存信息实现有效保护.
基本概念
存储器的机构:有”寄存器—主存—外存”和”寄存器—缓存—主存—外存”两种结构.
地址重定位:指将逻辑地址变换成主存物理地址的过程.分为静态地址重定位(无须硬件地址变换机构的支持)和动态地址重定位(依赖硬件地址变换机构).
存储管理方案
存储器管理的主要目的是解决多个用户使用主存的问题,其存储管理方案主要分为分区存储管理、分页存储管理、分段存储管理、段页式存储管理以及虚拟存储管理.
分区存储管理
其基本思想是把主存的用户区划分成若干区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行.分为:
固定分区:
可变分区:对于可变分区的请求和释放分区主要有如下算法:
最佳适应算法:从n个空白区中找到一个最接近用户需求的分区.这种算法能保留较大的空白区,但也会产生外碎片.
最差适应算法:系统总是将用户作业装入最大的空白分区.这种算法不容易产生外碎片.
首次适应算法:每当用户作业申请一个空间时,系统总是从主存的低地址开始选择一个能装入作业的空白区.当用户释放空间时,该算法更容易实现相邻的空白区合并.
循环首次适应算法:每次从刚分配的空白区开始寻找一个能满足用户要求的空白区.
可重定位分区:是解决碎片问题的简单而又行之有效的方法,其基本思想是,移动所有已分配好的分区,使之成为连续的区域.
分页存储管理
分页原理:将一个进程的地址空间划分成若干个大小相等的区域,称为页.相应地,将主存空间划分成与页相同大小的若干物理块,称为页框(块).在为进程分配主存时,将进程中若干页分别装入多个不相邻的块中.
分页系统的地址结构由页号+页内地址组成.
页表:页号和物理块号的映射关系表.
快表:在地址映射机构中增加一个小容量的联想存储器,用来保存当前访问频率高的少数活动页的页号及相关信息.
两级页表机制.
分段存储管理
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段式一组完整的逻辑信息,各段长度是不等的.其逻辑地址有段号和段内地址组成.在该地址结构中,一个作业最多有64kb个段,每段的最大长度为64kb.
系统中为每个进程建立一张段映射表(段表),每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址呵呵段长,其表现了从逻辑段到物理主存区的映射.
段页式存储管理
段页式系统的基本原理是先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分为若干个段,并为每个段赋予一个段名,再将每个段划分成若干页,以页框为单位离散分配.其地址结构由段号、段内页号和页内地址组成.
虚拟存储管理
作业只部分装入主存中便可开始启动运行,其余部分暂时留在磁盘上,需要时再装入主存,这样主存的容量将比实际主存的容量大得多.
程序局部性原理:在一段时间内程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域内.
时间局限性:某条指令被执行,则不久的将来该指令可能再次执行(程序中的循环操作),同理某个存储空间被访问,则不久的将来该存储空间可能再次被访问.
空间局限性:某个存储空间被访问,则在不久的将来,其附件的存储单元也最可能被访问(程序的顺序执行).
虚拟存储器是具有请求调入功能和置换功能,能仅把作业的一部分装入主存便可运行作业的存储器系统,是能逻辑哦上对主存容量进行扩充的一种虚拟的存储器系统.虚拟存储器的实现:
请求分页系统:在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统.其置换时以页为单位.
请求分段系统:在分段系统的基础上,增加了请求调段和分段置换功能所形成的段式虚拟存储系统.置换时以段为单位
请求段页式系统:在段页式系统的基础上,增加了请求调页和页置换功能所形成的段页式虚拟存储系统.
请求分页管理的实现:
请求分页的页表在纯分页的页表上增加若干项形成的.如状态位、访问字段和辅存地址等.
在请求分页系统中,每当所要访问的页面不存在时,便要产生一个缺页中断,请求OS将所缺的页调入主存.
缺页中断和一般中断的区别在于:
缺页中断在指令执行期间产生和处理中断信号,而一般中断在一条指令执行完,下一条指令开始执行前检查和处理中断信号.
发生缺页中断是,返回到被中断指令的开始重新执行该指令,而一般中断返回到下一条指令执行.
一条指令执行期间,可能会发生多次缺页中断.
页面置换算法:
最佳(Optimal)置换算法:将永远不使用或最长时间内不再被访问的页面置换出去.
先进先出(FIFO)置换算法;
最近最少未使用(Least Recently Used,LRU)置换算法;
最近未用(Not Used Recently,NUR)置换算法;
设备管理
设备管理概述
I/O系统由设备、控制器、通道、总线和I/O软件组成
分类:
按数据组织分类:块设备、字符设备;
从资源分配角度分类:独占设备、共享设备和虚拟设备.
按数据传输率分类:低速设备、中速设备、告诉设备.
设备管理的目标主要是如何提高设备的利用率,其主要功能是动态的掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口及设备的访问和控制.
I/O软件
I/O设备管理软件一般分为中断处理程序、设备驱动程序、与设备无关的系统软件和用户软件.
设备管理采用的相关缓冲技术
通道技术:使数据的传输独立于CPU.设置通道后,cpu只需要向通道发出I/O命令,通道接收到命令后,从主存中取出本次I/O主要执行的通道程序并执行,仅当通道完成了I/O任务后,才向CPU发出中断信号;其分为字节多路通道、数组选择通道和数组多路通道三类.
MDA技术:直接主存存取(Direct Memory Access,DMA)是指数据在主存和I/O设备间直接成块传送,不需要CPU的任何干涉,只需在过程开始启动和过程结束时的处理.
缓冲技术:缓冲可采用硬件缓冲和软件缓冲,可分为,单缓冲、双缓冲、多缓冲和环形缓冲.
Spooling(SimultaneousPeripheral Operations On Line,外围设备联机操作)技术:是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术.其由预输入程序、缓输出程序、井管理程序以及输入输出井组成的.
磁盘调度
使各进程对磁盘的平均访问(主要是寻道)时间最小.其分为移臂调度和旋转调度,并且是先进行移臂调度,然后再进程旋转调度.
常用的磁盘调度算法有,先来先服务(FCFS)算法、最短寻道时间优先(SSTF)算法、扫描算法、单向扫描算法.
旋转调度算法:
文件管理
文件与文件系统
文件系统是操作系统中实现文件统一管理的一组软件和相关数目的集合,专门负责管理和存取文件信息的软件机构,其功能组要包括,按名字存取、统一的用户接口、并发访问和控制、安全性控制、优化性能和差错恢复.
文件的结构和组织
文件目录
存取方法和存储空间的管理
文件的使用
文件的共享和保护
系统安全与可靠性
系统级安全管理:不允许未经授权的用户进入系统.
用户级安全管理:通过对所有用户分类和对指定用户分配访问权限,不同的用户对不同文件设置不同的存取权限来实现.
目录级安全管理:它与用户权限无关,其规定只有系统核心才具备写目录的权利
文件级安全管理:通过系统管理员或文件主对文件属性的设置来控制用户对文件的访问.
作业管理
操作系统中用来控制作业进入、执行和撤销的一组程序称为作业管理程序.
作业与作业控制
作业状态分为:提交(通过输入设备送入计算机系统的过程)、后备、执行和完成.
作业控制块(JCB),是记录与该作业有关的各种信息的登记表.JCB是作业存在的唯一标志
后备队列是由若干个JCB组成的.
作业调度
常用的作业调度算法有:先来先服务算法、短作业优先、响应比高优先(响应时间/执行时间=1+等待时间/执行时间)、优先级调度算法、均衡调度算法.
通常用平均周转时间和平均带权周转时间来衡量调度性能的优劣.
周转时间=作业完成时间-作业提交时间
带权周转时间=周转时间/作业执行时间.
用户界面
控制面板式用户界面à字符用户界面à图形用户界面à新一代用户界面
网络与嵌入式操作系统基础知识
网络操作系统
一个典型的网络操作系统的特征包括硬件独立性、多用户支持、支持网络实用程序及其管理功能、多种客户端支持、提供目录服务、支持多种增值服务等.
其分为集中模式、客户端/服务器模式、对等模式(peer to peer)模式
网络操作系统主要有三大阵营:UNIX、Windows NT 和NetWare
嵌入式操作系统
是运行在嵌入式智能芯片环境中,对整个智能芯片以及它的操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件.其特点有:微型化、可定制、实时性、可靠性和易移植性.
著名的嵌入式操作系统有:Windows CE、VxWorks、pSOS、Palm OS 和C/OS-II.
UNIX操作系统实例
UNIX操作系统
是由美国贝尔实验室发明的一种多用户、多任务的分时操作系统.
UNIX文件系统
其目录结构是树型带交叉勾连的.
当创建一个新目录时,系统自动创建两个文件名:.(点 表示当前目录)和..(点点 表示父目录).
其文件结构由引导块(占据文件系统的开头,占一个物理块,包含引导代码)、超级块(描述文件系统的状态)、索引节点区和数据存储区组成
UNIX进程与存储管理
在unix系统中,进行有控制块(PCB)、正文段和数据段组成.
进程控制子系统负责进程同步、进程间通信、存储管理及进程调度.调用Fork创建一个子进程,exec改变执行程序的映像,exit结束一个进程的执行,wait暂停进程的执行,signal控制进程对特别事件的响应,kill发出中断信号,msgsnd发送消息,msgrcv接收消息.
UNIX设备管理
Unix的设计者们遵循一条这样的规则:UNIX系统中可以使用的任何计算机资源都用一种统一的方法表示.UNIX包括两类设备:块设备和字符设备.其特点有:块设备和字符设备具有相似的层次结构;将设备作为一个特殊文件,并赋予文件名;采用完善的缓冲区管理技术.
输入输出转向>(覆盖)和>>(添加)及< 如cat input.txt > output.txt,将input.txt中的内写到(覆盖)output.txt文件中.
管道:”|”表示管道,一个管道总是连接俩个命令,将左边命令的标准输出与右边命令的标准输入相连,于是左边命令的输出结果就直接成了右边命令的输入.
Shell程序
正则表达式:.表示任何字符,*表示任何个数,[]表示选择,^表示非,$表示结尾,\转移,””忽略其特殊含义,\<字首,\>字尾
Shell变量:用户定义变量/系统定义变量/Shell定义变量:这篇关于2013年软件设计师考试知识结构(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!