操作系统主要知识点
下面小编为大家讲解操作系统主要知识点,欢迎大家阅读,一起跟着小编来,多学点知识,终身受益。
掌握操作系统的类型、功能、层次结构和进程概念,以及作业、处理机、存储、文件和设备等管理的原理和方法。
1.1 操作系统类型和功能
根据使用环境和对用户作业的处理方式划分,操作系统的基本类型可以分为批处理操作系统、分析操作系统和实时操作系统3大类型。
分时操作系统使多个用户同时以会话方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的、支持自己请求服务的系统。
实时系统往往是专用的,系统与应用很难分离,常常紧密结合在一起。实时系统并不强调资源利用率,而更关心及时性(时间紧迫性)、可靠性和完整性。实时系统又分成实时过程控制与实时信息处理两种。
网络环境下的操作系统又分成网络操作系统和分布式操作系统。分布式操作系统要求一个统一的操作系统,负责全系统的资源分配和调度,为用户提供统一的界面。它是一个逻辑上紧密耦合的系统。而网络操作系统用户则需指明欲使用哪一台计算机上的哪个资源。
操作系统主要有5个功能模块:处理器管理、存储管理、设备管理、文件管理和用户接口。
1.2 进程和进程管理
(1)进程
进程是一个程序关于某个数据集的一次运行。也就是说,进程是运行中的程序,是程序的一次运行活动。相对于程序,进程是一个的概念,而程序是静态的概念,是指令的集合,因而进程具有动态性和并发性。
在操作系统中进程是进行系统资源分配、调度和管理的最小单位,注意,现代操作系统中还引入了线程(Thread)这一概念,它是处理器分配资源的最小单位。
(2)进程的状态及其转换
多道系统中,进程的运行是时走时停的。它在处理器上的交替运行,使它的运行状态不断地变化着,最基本的状态有3种,即运行、就绪和阻塞。
·运行:正占用处理器。
·就绪:只要获得处理器即可运行。
·阻塞:正等待某个事件的发生。
(3)进程控制块
进程是一个动态的概念,在操作系统中,引入数据结构--进程控制块(简记为PCB)来标记进程。PCB是进程存在的唯一标志,PCB描述了进程的基本情况。从静态的观点看,进程由程序、数据和进程控制块组成;从动态的观点看,进程是计算机状态的一个有序集合。
程序是进程运行所对应的运行代码,一个进程对应于一个程序,一个程序可以同时对应于多个进程,这个程序代码在运行过程中不会被改变,常称为纯码程序或可重入程序,他们是可共享的程序。
进程控制块保存进程状态、进程性质(如优先程度)、与进程有关的控制信息(如参数、信号量和消息等)、相应队列和现场保护区域等。进程控制块随着进程的建立而产生,随着进程的完成而撤消。
PCB是操作系统核心中最主要的数据结构之一,它既是进程存在的标志和调度的依据,又是进程可以被打断并能恢复运行的基础。操作系统核心通过PCB管理进程,一般PCB是常驻内存的,尤其是调度信息必须常驻内存。
(4)进程管理
在操作系统中有许多进程,它们对应着不同的或相同的程序,竞争地使用着系统的资源。进程管理涉及到进程控制、队列管理和进程调度等。
进程的生命过程从它被创建时开始,直至任务终止而撤消,其间会经历各种状态的转换,它们都是在操作系统控制下完成的。操作系统提供了对进程的基本操作,也称为原语。这些原语包括创建原语、阻塞原语、终止原语、优先级原语和调度原语。
进程调度即处理器调度,它的主要功能是确定在什么时候分派处理器,并确定分给哪一个进程。在分时系统中,一般有一个确定的时间单位(时间片)。当一进程用完一个时间单位时,就发生进程调度,即让正在运行的进程改变状态并转入就绪队列的队尾,再由调度原语将绪队列的首进程取出,投入运行。
进程调度的方法基本上分为两类:非剥夺调度与剥夺调度。所谓非剥夺调度是指一旦某个作业或进程占有了处理器,别的进程就不能把处理器从这个进程手中夺走;相反,如果别的进程可将处理器从这个进程手中夺走则是剥夺调度。
进程调度的算法采用服务于系统目标的策略,对于不同的系统与系统目标,常采用不同的调度算法,如先来先服务、优先数调度和轮转法等。
(5)管程
管程是一种并发性的构造,包括用于分配一个特定的共享资源或一组共享资源的数据和过程。为了完成分配资源的功能,进程必须调用特定的管程入口。许多进程可能打算在不同的时间进入管程,但在管程边界上严格地实施互斥,在某一时刻,只允许一个进程进入。当管程中已有一个进程时,其他希望进入管程的进程必须等待。这种等待是由管程自动管理的。
管程中的数据或者是管程中所有的全局变量,或者是某个特定过程的局部变量。所有这些数据只能在管程内访问,在管程外的进程无法访问管程内的数据,这叫做信息掩蔽。
1.3 存储管理
现代计算机系统中的存储系统常是多级存储体系,至少有主存(内存)和辅存(外存)两级,有的系统有更多级数。主存大小由系统硬件决定,是实实在在的存储,它的存储容量受到实际存储单元的限制。虚拟存储(简称虚存)不考虑实际主存的大小和数据存取的实际地址,只考虑相互有关的数据这间的相对位置,其容量由计算机的地址的位数决定。
1.4 设备管理
设备管理是对计算机输入/输出系统的管理。其主要任务有:实现对外部设备的分配和回收;启动外部设备;控制输入/输出设备与处理器或主存间交换数据;实现对磁盘的调度;处理设备的中断;实现虚拟设备等。
外部和主存之间常用的传输控制方式有4种:程序控制方式、中断方式、直接存储访问(DMA)方式和通道方式。
1.5 文件管理
(1)文件系统
操作系统的文件系统包括两个方面:一方面包括负责管理文件的一组系统软件,另一方面包括被管理的对象文件。文件系统的主要目标是提高存储器的利用率,接受用户的委托,实施对文件的操作。主要问题是管理辅助存储器,实现文件丛名字空间到辅存地址空间的转换,决定文件信息的存放位置、存放形式和存放权限,实现文件和目录的操作,提供文件共享能力和安全设施,提供友好的用户接口。
(2)文件的结构和组织
文件的结构是指文件的组织形式。从用户观点所看到的文件组织形式,称为文件的逻辑结构;从实现观点考查文件在辅助存储器上的存放方式,常称为文件的物理结构。
文件的逻辑组织是为了方便用户使用。一般文件的逻辑结构可以分为两种:无结构的字符流
文件和有结构的记录文件,后者也称为有格式文件。优化文件的物理结构是为了提高存储器的利用效率和降低存取时间。文件的存储设备通常被划分为大小相同的物理块,物理块是分配和传输信息的基本单位。文件的物理结构是指文件在存储设备上的存储主法。文件的物理结构涉及文件存储设备的组块策略和文件分配策略,决定文件信息在存储设备上的存储位置。
1.6 作业管理和用户界面
作业(Job)是系统为完成一个用户的计算任务或一次事务处理所做的工作的总和。操作系统中用来控制作业的进入、执行和撤消的一组程序称为作业管理程序,这些控制功能也能通过把作业步细化、通过进程的执行来实现。
用户的作业可以通过直接的方式,由用户自己按照作业步顺序操作;也可以通过间接的方式,由用户事先编写作业步依次执行的说明,一次交给操作系统,由系统按照说明依次处理。前者称为联机方式,后者称为脱机方式。
一般操作系统提供两种作业控制方式,一种为联机作业方式,另一种为脱机作业方式。联机作业方式是通过直接输入作业控制命令来提交和运行用户作业。脱机作业方式是通过作业控制语言(JCL,也称为作业控制命令)编写用户作业说明书。在这种方式中,用户不直接干预作业的运行,而是把作业与作业说明书一起交给系统(称为提交)。
作业调度主要是从后备状态的作业中挑选一个(或一些)作业投入运行。根据不同的调度目标,有不同的算法。作业调度算法有许多种,它们与进程调度相似,有的适宜于单道系统,有的适宜于多道系统。它们是先来先服务(FCFS)、短作业优先(SJF)、响应比(HRN)高者优先和成先级调度等。
1.7 其他管理
(1)死锁问题
如果一个进程正在等待一个不可能发生的事件,则称该进程处于死锁状态。系统发生死锁是指一个或多个进程处于死锁状态。产生死锁的主要原因是共享的系统资源不足,资源分配策略和进程的推进顺序不当。系统资源既可能是可重用的永久性资源,也可能是消耗性的临时资源。处于死锁状态的进程不能继续运行又占有了系统资源,阻碍其他进程的运行。对待死锁的策略
主要有:
①死锁的预防。不让任一产生死锁的必要条件发生就可以预防死锁。
②死锁的避免。这种策略不对用户进程的推进顺序加以限制,在进程申请资源时先判断这次分配安全否,只有安全实施分配,典型的算法是银行家算法。
③死锁的检测。这种策略采用资源请求分配图的化简方法来判断是否发生了不安全状态。资源请求分配图是一种有向图,表示进程与资源之间的关系。死锁的检测是在需要的时刻执行的,当发现系统处于不安全状态时,即执行死锁的解除策略。
④死锁的解除。解除死锁的基本方法是剥夺。一种方法是把资源从一些进程处剥夺分给别的进程,被剥夺资源的进程则需回退到请求资源处重新等待执行;另一种主法是终止一个进程,剥夺其全部资源,以后再重新运行被终止的进程。
(2)多重处理器系统与线程
多重处理系统的主要目标是为了提高系统的处理能力,也是为了提高系统的可靠性。多重处理系统的操作系统除了具有单处理器操作系统的功能以外,还应提供处理器的负载平衡、处理器发生故障后的结构重组等功能。一般多重处理系统的操作系统可以分为主从式、分离执行式和移动执行式3类。
对称多处理器系统SMP是由若干同构甚至相同的处理器构成的一个系统。Solaris和Windows NT等操作系统支持SMP系统。操作系统提供了线程(Thread)机制以发挥多个处理器的作用。在多线程系统中,一个进程可以由一个或多个线程构成。进程是资源分配的基本单位,也是被保护的基本单位。一个进程对应于一个保存进程映象的虚地址空间,每一线程可以独立运行一个进程的线程共享这个进程的地址空间。有多种方法可以实现多线程系统,一种方法是核心级线程,另一种方法是用户级线程,也可以把两者组合起来。
1.8 操作系统的结构
(1)无序结构法,又称整体结构或模块组合结构。它以大型表格和队列为中心,操作系统的各部分程序围绕着表格运行,整个系统是一个程序。这种操作系统常称为面向过程的操作系统。
(2)层次结构法是把一个大型复杂的操作系统分解成若干个单向依赖的层次,由多层的正确性保证操作系统的可靠性。层次结构清晰,且有利于系统功能的增加或删改。
(3)面向对象的操作系统基于面向对象程序设计的概念,采用了各种不同的对象技术。在计算机系统中对象是操作系统管理的信息和资源的抽象,是一种抽象的数据类型。可以把对象作为系统中的最小单位,由对象、对象操作、对象保护组成的操作系统,就是面向对象的操作系统。如Windows NT中有执行体对象(进程、线程、文件和令牌等)和内核对象(时钟、事件和信号等)。
(4)微内核结构法把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其他功能以服务器形式建立在微内核之上。它具有良好的模块化和结构化特征,模块之间和上
下层之间通过消息来通信。建立在微内核上的服务器可以根据不同的需要构造,从而形成不同的操作系统,如Windows NT操作系统。
1.9 常用操作系统
UNIX系统是一个分时操作系统。它利用最内层硬件提供的基本服务,向外层提供全部应用程序所需要的服务。应用程序组可以构成应用子系统,如UNIX系统的源代码控制系统(SCCS)、图形(X-Window、Motif)等。
Windows NT系统是20世纪90年代的操作系统技术,适用于高档工作站平台、局域网服务器或者主干计算机。Windows NT支持对称处理器结构,支持多线程并行,采用90年代操作系统技术(即微内核技术),在体系结构上采用客户机/服务器模式。