唐磊的个人博客

软考:操作系统知识(一)

1**、操作系统知识:**

1.1**基本概述**

操作系统是一个大型的软件系统,是为了提高计算机系统资源(硬件和软件资源)的利用效率并方便用户使用的一组程序,这些程序可以用软件实现,也可以用固件(微程序设计)实现。操作系统的基本特征是并发与共享。

操作系统是运行在计算机硬件上的最基本的系统软件,位于所有的软件的最底层,为计算机使用者提供了一种良好的操作环境,也为各种应用系统提供了基本的支持环境。它在计算机系统中占据了特殊重要的地位,其它所有的软件如汇编程序、编译程序、数据库管理系统等系统软件以及大量的应用软件,都将依赖于操作系统的支持,取得它的服务。

操作系统通过多任务并行的手段来达到多用户资源共享的目的。

我们通常主要采用几种不同的方法来考察操作系统。

Ø 用户观点:可以把操作系统看作是用户与计算机硬件系统之间的接口(系统调用和联机命令);

Ø 资源管理观点:把操作系统看成计算机系统资源的管理者;

Ø 进程角度:管理核心,对用户进程和系统进程进行控制和协调;

Ø 分层角度:从系统构造的角度出发,将系统分为若干个层,彼此依赖;

操作系统的硬件基础是:中断和通道,中断处理一般都在核心内完成。

操作系统的类型与功能:

根据使用环境和对用户作业处理方式,操作系统的基本类型可以分为3大类:

◆批处理操作系统:其特点是先将作业脱机输入到外围输入设备,再由监督程序将作业成批调入系统中进行处理。在早期的计算机中往往使用这种类型的操作系统。

◆分时操作系统:多个用户同时以会话方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的、支持自己请求服务的系统。其特点是将CPU时间轮流分配给内存各道作业使用,直至每个作业结束,这就保证了多个用户能在较短时间内与作业进行交互。

◆实时操作系统:系统往往是专用,系统与应用很难分离。其特点是能及时响应外部时间的请求,并迅速完成对事件的处理。其设计原则是响应时间优先于资源利用率。实时系统又分成实时过程控制和实时信息处理两类。

除了上述这几类基本系统外,随着计算机体系结构的发展,又出现了多处理机操作系统、分布式操作系统和网络操作系统等等。

操作系统的职能是管理和控制计算机系统中的全部硬件、软件资源,合理组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口,系统资源管理和提供用户界面是操作操作系统的功能模块:

◆处理器(机)管理:其主要任务,是对处理机进行分配,并对其进行有效的控制和管理。在多道程序环境下,处理机的分配以线程为基本单位,因此对处理机的管理可归结为对线程的管理。

存储管理:其主要任务,是为程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存。所以存储管理应具有以下功能:内存分配、内存保护、地址映射和内存扩充等。

设备管理:其主要任务,是完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。采用通道、控制器和设备三级控制方法管理这些设备;

文件管理:其主要任务,是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有文件存储空间的管理,目录管理,文件的读、写管理以及文件的共享与保护等功能。

用户接口:为了方便用户使用操作系统,操作系统向用户提供命令接口和系统调用接口,在较晚出现操作系统中又向用户提供了图形接口。

1.2 处理机管理 **

处理器是计算机的心脏,在单用户系统中或单道系统中,处理器为一个用户或一个作业服务,管理简单。为了提高系统资源的利用率,引入了多道程序技术,即多个程序或作业同时运行,争用处理器,要解决处理器的分配调度的策略。因此引入了作业、进程和线程的概念,基于操作系统对处理器的管理策略不同,其提供的作业处理方式也不同,又批处理方式、分时处理方式、实时处理方式、多道成批处理方式和网络环境下的处理方式等。

操作系统的核心位于硬件上,核心的目的是提供一种进程赖以生存的环境,其主要任务就是接受中断并做基本的处理,在进程之间切换处理器,处理进程之间的通信。

基本的硬件结构是:

(1) 中断结构:为了使输入输出活动与处理器的活动并行,提出了中断处理程序;

(2) 特权指令:仅供操作系统使用的指令集合;

(3) 主存保护:多道程序系统中,必须对各进程使用的主存加以保护,以防止其他进程的非法操作;

(4) 时钟:硬件时钟以固定的时间间隔产生中断信号,这对于实现处理器的调度以及实现与时间有关的任务不可或缺;

1.3**进程概念:**

进程在操作系统中是一个十分重要的概念。进程是可并发执行的程序在一个数据集合上的运行过程。可以说,进程是运行中的程序,是程序的一次运行活动。相对于程序,进程是一个动态的概念,而程序是静态的概念。

进程具有5个基本特征:

Ø 动态性:

Ø 并发性:

Ø 独立性:

Ø 异步性:

Ø 结构特征:

在操作系统中,进程是进行系统资源分配、调度和管理的最小单位。另外需要注意的是,现代操作系统中还引入了线程(Thread)概念,它是处理器分配的最小单位。

进程的状态:

进程在运行中不断地改变其运行状态。通常,具有3种最基本的状态。

Ø 运行:正占用处理器

Ø 就绪:只要获得处理器即可运行。

Ø 阻塞:正等待某个事件(如I/O完成)的发生。

在不少系统中,还增加了两种基本状态:

Ø 新状态:一个进程刚刚建立,但还未将它送入就绪队列时的状态。

Ø 终止状态:当一个进程已经正常结束或异常结束,系统已将它从就绪队列中移出,但尚未将它撤消时的状态。


进程控制块PCB


进程由程序、数据和进程控制块组成。进程控制块PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB是进程存在的唯一标志,PCB描述了进程的基本情况。进程控制块的作用,是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。


进程控制块随着进程的建立而产生,随着进程的完成而撤消主要包括以下几个方面的内容:


Ø 进程标识符信息


Ø 处理机状态信息


Ø 进程调度信息


Ø 进程控制信息


下图是一个简化的PCB示意图。



















进程标识




状态




优先级




控制信息




队列




访问权限




现场



进程控制块的组成方式分连接方式和索引方式两种。


进程管理:


进程管理涉及到进程控制、队列管理和进程调度等。


进程的生命过程是从它创建时开始,直至任务终止而撤消,其间会经历各种状态的转换,它们都是在操作系统控制下完成的。


操作系统提供了对进程的基本操作,也成为原语。这些原语包括创建原语、阻塞原语、终止原语、优先级原语和调度原语。


进程调度即处理器调度,它的主要功能是确定在什么时间将处理器分给哪个进程。


进程调度的方法基本分为两类:剥夺调度和非剥夺调度。


进程调度的算法是服务于系统目标的策略,对于不同的系统与系统目标,常采用不同的调度算法。如:


Ø 先来先服务


Ø 优先数调度


Ø 轮转法


死锁问题


进程管理是操作系统的核心,进程管理中的死锁是操作系统中一个比较特殊的问题。


所谓死锁(Deadlock),是指多个进程因竞争资源而造成的一种僵局(Deadly-Embrace),若无外力作用,这些进程都将永远不能再向前推进。


◆死锁的原因主要有两点:


Ø 竞争资源


Ø 进程推进顺序非法


◆产生死锁的4个必要条件是:


Ø 互斥条件


Ø 保持和等待条件


Ø 不剥夺条件


Ø 环路等待条件


◆而针对产生死锁的必要条件,有下列处理死锁的方法:


Ø 预防死锁:其思想是不让任一产生死锁的必要条件发生。


Ø 避免死锁:其策略是不对用户进程的推进顺序加以限制,而在进程申请资源时先判断;


◆断资源分配是否安全。


Ø 检测死锁:采用资源请求分配图的化简方法来判断是否发生了不安全状态。


Ø 解除死锁:其主要是使用剥夺的方法来释放资源、解除死锁状态。


比较上面4种处理方法,死锁的检测和解除措施,有可能使系统获得较好的资源利用率和系统吞吐量,但在实现上难度也最大。


1.4存储管理


现代计算机系统中的存储系统通常是多级存储体系,至少有主存(内存)和辅存(外存)两级,有的系统有更多的级数。


主存是由系统实际提供的存储单元组成的一个连续地址空间,处理器可以直接存取。它的存储容量受到实际存储单元的限制。


辅存是指软盘、硬盘、光盘和磁带等一些外部存储部件,常用来存放暂不执行的程序和数据,处理器不能直接访问,需启动I/O设备,才能进行内存、外存交换。


系统中主存的使用一般分系统空间和用户空间两个部分。


把相对地址空间的程序转换成绝对地址空间(物理地址)空间上能够执行的过程称为地址重定位,也称为地址映射或地址映像。地址重定位有两种:静态重定位和动态重定位。


存储管理应该提高存储资源的利用效率,又方便用户使用,存储管理的任务应具有下列功能。


Ø 分配与回收


Ø 存储扩充


Ø 共享与保护


实存管理:实存的管理一般有三种分配方式。


Ø 单一连续分配:一个作业占全部空间,静态分配(不对主存保护,引起冲突)


Ø 固定分区分配:静态,空间分区


Ø 可变分区分配:动态分配分区


Ø 交换:较小的空间运行较大的作业,采用的方法


其中,可变分区分配方法是目前的系统采用得较多的。它将主存空间按用户要求动态地分划成若干个分区。为了消除分配中的外部碎片,系统还需要合并自由区和进行存储拼接或紧凑。


关于实存的存储分配算法主要有4种。


Ø 最佳适应算法


Ø 首次适应算法


Ø 最差适应算法


Ø 循环首次适应算法


虚存管理


虚拟存储(简称虚存)不考虑实际主存的大小和数据存取的实际地址,只考虑相互有关的数据之间的相对位置,其容量由计算机的地址位数决定。


虚拟存储通常涉及存储空间大于计算机系统主存中可利用存储空间时的寻址能力问题。其特点是运行程序访问的地址不是从主存中可以获得的,即运行进程访问的地址与主存可用的地址分离。


运行进程访问的地址称为虚地址,主存中可用的地址称为实地址。一个运行进程可以访问的虚地址范围称为进程的虚地址空间,相应的,可使用的实地址范围称为实地址空间。


虚存的组织方式有3种。


◆分段存储组织


一个作业是由若干个具有逻辑意义的段组成。在分段系统中,允许程序(作业)占据主存中若干分离的分区,每个分区存储一个程序分段。分段系统中的虚地址是一个有序对(段号、段内位移)。系统为每个作业建立一个段表,其内容包括段号与主存起始地址的对应关系、段长和状态。


◆页式存储组织


与段式存储组织相似。主存被划分成若干个定长的页,页式系统中的虚地址是一个有序对(页号、页内位移)。系统为每个进程建立一个页表,其内容包括进程的逻辑页号与物理页号的对应关系、状态等。


◆段页式存储组织


综合了上述两种存储组织的特点。主存被划分成定长的页,段页式系统中虚地址形式是(段号、段内页号、页内位移)。系统为每个进程建立一个段表,再为每个段表建立一个页表


虚存管理的置换策略有几种算法


Ø 最优(OPT)算法:选择淘汰不再使用或最远的将来才使用的页。


Ø 随机(RAND)算法:随机的选择淘汰的页。


Ø 先进先出(FIFO)算法:选择淘汰主存驻留时间最长的页。


Ø 最近最少使用(LRU)算法:选择淘汰离当前时刻最近的一段时间使用得最少的页。


虚存管理策略的基础是局部性原理——进程往往不均匀地高度局部化地访问主存。这种局部性表现为时间局部性和空间局部性两种。


根据局部性原理的特性,提出了工作集理论。工作集是指进程频繁访问页面的集合。工作集理论要求,为了使进程能有效的运行,它的页面工作集应驻留在主存中,以防止“颠簸”(又称抖动,即指由于进程频繁的从辅存请求页面而造成的过度的页面调度)现象。

tanglei wechat
欢迎扫码加入互联网大厂内推群 & 技术交流群,一起学习、共同进步