1.4、操作系统的基本概念
1.4.1、操作系统的定义和作用
操作系统的作用可以从用户和系统俩个不同角度来看:用户视角、系统视角。
1、用户视角 操作系统为用户提供的服务有:程序开发、程序运行、I/O设备访问、文件访问、系统资源访问、错误检测和响应以及日志服务。
2、系统视角 从计算机系统的角度来看,计算机就是一组硬件和软件资源的集合,操作系统负责对各种软硬件资源进行分配和管理。计算机资源按照作用分类可大致分为四类:处理器、存储器、I/O设备和文件(程序和数据)。对这四类资源的管理就是操作系统内核的主要功能。
1.4.2、操作系统的基本特征
现代通用操作系统一般具有并发、共享、虚拟和异步四个基本特征.
1、并发 并发是操作系统最重要的特征,其他三个特征都是以并发为前提。并发是指俩个或多个事件在同一时间间隔内发生,并行是指俩个或多个事件在同一时刻发生。
2、共享 共享是指计算机系统中的软硬件资源可被多个并发执行的进程共同使用,而不是一个进程独占。共享与并发相互依存,是操作系统最基本的俩个特征。资源共享的方式分为俩种:互斥共享方式(如打印机)和同时访问方式(如磁盘)
3、虚拟 虚拟是指把一个物理上的实体变为一个或多个逻辑上的对应物。
4、异步 异步性又称随机性和不确定性,异步是指在相同的计算机环境和初始条件下,在同一数据集上运行的同一程序每次执行的顺序和所需时间都不一定相同。
除以上的4个基本特征 安全和可扩展性也是现在操作系统的重要特征。计算机系统的安全包括系统中硬件设备的物理安全和系统中信息资源的逻辑安全,其中逻辑安全主要是指信息系统的可用性、完整性和保密性。可扩展性则是指计算机系统适应变化的能力。对计算机可以分为俩个方面,一是系统中软硬件资源的不断变化,如早期I/O设备主要是硬盘、磁盘,后来出现了U盘、移动硬盘等;二是同一资源数量上的扩张,如单核处理器到多核处理器。
1.5、操作系统的基本功能和原理
操作系统应具备五大基本功能:处理器管理,存储管理、设备管理、文档管理和作业管理(作业在运行时体现为一个或多个程序的集合)
1.5.1、处理器管理
处理器管理的功能主要有俩个:中断处理和进程管理。
首先,了解处理器管理的功能之前,需要了解处理器的运行状态。在处理器上运行的指令,根据权限分类可以分为:特权指令(只能在系统内核使用的指令)、非特权指令(所有程序都能使用的指令)。 处理器的运行状态一般分为内核态和用户态。从用户态切换到内核态的有以下三种方式:系统调用、异常和外围设备的中断。这三种方式都是通过中断机制发生,而从内核态切换到用户态也只能通过特定的中断指令返回。因此,中断处理时操作系统的一项重要功能。
1、中断处理
中断处理可分为外中断和内中断。中断系统分为中断装置和中断程序。
(1)外中断:即异步中断,也就是狭义的中断。外中断指来自CPU执行指令意外的事件中断,可以在指令之间发生,通常与当前运行的程序无关。如设备发出的I/O结束中断。
(2)内中断:即同步中断,也就是异常。内中断是由CPU内部事件所引起的中断,如程序出错或非法指令等。之所以称作同步中断,是因为只有在一条CPU指令执行完毕后CPU才会发出中断,而不是发生在指令执行期间,如系统调用。
2、进程管理
现代计算机系统上运行的应用程序就是一个或多个进程,一个进程又可能包含一个或多个线程。操作系统就要负责将这些线程和进程调度到处理器上执行。
(1)进程
进程是计算机中的程序在某数据集合上的依次运行活动,是系统进行资源分配和调度的基本单位。
进程和程序的区别: a、进程是一个动态概念,程序是一个静态概念。程序是指令的有序集合,没有任何执行的含义;进程则是强调执行过程,动态的创建并被调度后死亡; b、进程具有并发性,而程序没有。由进程的定义可得,进程具有并发特征的俩个方面,即独立性和异步性,在不考虑资源共享的情况夏,各进程的执行是独立的,执行速度是异步的。而程序不反应执行过程,因此不具有并发性。 c、进程具有生命周期,旨在运行期间存在,程序可以在外存上长久保存。 d、进程与程序之间不是一一对应的,一个程序在不同的数据集上就成为不同的进程。 e、进程和程序的组成不同,进程实体的组成包括程序。数据和进程控制块(PCB)。
进程控制块(PCB):包含进程标识信息、处理器状态信息和进程调度控制信息。当系统创建一个新进程时,就为他创建了一个PCB,进程结束时又回收其PCB。
每个进程映像都由PCB、用户栈、进程专用地址空间(私有用户地址空间)以及与其他进程共享的地址空间组成,如下图:
(2)线程
线程是处理器调度运行的最小单位,线程包含在进程之中,一条线程就是进程中一个单一顺序的控制流,在一个进程中可以并发多个线程,每条线程并行执行不同的任务。
(3)进程的状态和转换
进程的三种基本状态:运行态、就绪态、等待态。为了更加有效地管理,在实际系统中,又加入了两个进程状态:新建态(1、为新进程创建PCB,填写必要的管理信息;2、将该进程转入就绪状态并插入就绪队伍)、终止态(1、等待操作系统善后处理;2、将PCB清零)。
(4)进程控制
进程的主要任务是创建进程、撤销进程以及实现进程的状态转换。
(5)进程的互斥与同步
在进程互斥和同步中所涉及的共享资源是一种临界资源。
(6)进程通信
A、共享内存方式:在共享存储器中,相互通信的进程共享某些数据结构或考皮一块共享存储区域作为进程通信区; B、消息传递方式:利用系统提供的一组通信命令(原语)来实现通信; C、管道通信方式:管道是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文化,又名为pipe文件,可以被几个进程以不同的使用方式打开。
(7)处理器调度
A、处理器调度准则,也就是衡量CPU调度算法的指标通常有以下几个: CPU利用率、吞吐率(单位时间完成进程数)、周转时间(执行某一进程消耗的时间)、等待时间(某一进程在就绪队伍的等待时间)、响应时间(某一进程从发出请求到CPU响应的时间)。 B、常见的CPU调度算法有以下几种: 先到先服务调度算法、最短进程优先调度算法、轮转调度算法(按照时间片的方法执行队首进程,若改时间片内未完成,将进程插入队尾)、优先级调度算法、高响应比优先调度算法(引入动态优先级,进程的优先级会随着时间的增加而以一定的比率提高)、多级反馈队列调度算法(将进程分成多个独立队列,每个队列都有自己的调度算法)。 C、与单核处理器相比,多核处理器系统调度所要考虑的新问题主要有俩点:处理器亲和性(由于缓存设为无效或重新填充的代价高,大多数处理器(SMP)会避免将进程从一个处理器迁移到另一个处理器,而是试图让一个进程在同一个处理器上,称为处理器亲和性,即一个进程对它运行的处理器具有亲和性)、负载均衡。
1.5.2 、存储管理
操作系统的存储管理要是针对内存储器的管理,负责对内存的分配、回收以及提供在存储层次间的数据移动的管理机制。
1、程序装入内存的过程
编译-链接-装入
2、操作系统存储管理主要功能
内存空间的分配和回收、地址转换、内存空间的扩充(利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存。注:32位计算机逻辑地址最大为2^32B=4GB)、存储保护。
3、分页存储管理
分页存储管理将程序的逻辑地址空间划分为固定大小的页而物理内存划分为同样大小的页框。其中逻辑地址结构有俩部分组成,前一部分是页号,后一部分是页内偏移地址(相对于页头的偏移量)。
当调用的页面不在内存时,会发生页中断,需要进行页面置换,将已在内存中的页面换出外存,常见的页面置换算法有:先进先出**(FIFO)、最近最久未使用(LRU)、最佳置换算法(OPT)**。
1.5.3、设备管理
操作系统设备管理模块主要主要负责处理器啮合与外部设备之间的数据交互,包括把设备分配给某个请求使用该设备的进程、处理CPU与设备之间的I/O通信,响应设备中的中断请求、维护和回收设备等。另外,由于CPU和外设之间的速度相差很大,为提高设备的利用率和并行操作度,改善系统性能,还引入了缓冲技术和虚拟设备技术。
1、设备的分类
使用特性分类:存储设备和输入输出设备; 信息传输速率分类:低、中、高速设备; 信息交换的单位份分类:字符设备(输入输出数据的基本单位是字符)、块设备(信息传输以数据快为单位); 共享属性分类:独占设备、共享设备和虚拟设备。
2、I/O系统硬件
I/O系统硬件啊主要有外部设备本身、设备控制器以及设备与处理器内核之间的连线组成
3、I/O系统软件
I/O系统软件使用户在使用外布设备过程中,与I/O操作相关的软件集合。I/O系统软件可以分为几个层次,低层次软件用于实现与硬件相关的操作,并可屏蔽硬件的具体细节,高层软件主要是向用户提供一个简洁友好和规范的接口。 以下层次由低向高: 硬件<——>中断处理程序<——>设备驱动程序<——>设备无关软件<——>用户进程
4、缓冲技术
为了缓和CPU与设备速度不匹配的问题,提高他们的并行性,根据缓冲区个数的不同,可以将缓冲技术分为单缓冲、双缓冲、循环缓冲和缓冲池。循环缓冲是将多个缓冲区组织成循环队列进行管理,能够更好的缓和差异,获得较高的并行性,缓冲池有多个公用缓冲区组成,其中缓冲区可供多个进程共享,且既能用于输入又能用于输出。
5、虚拟设备
利用磁盘和软件技术模拟独占设备工作,从而使每个用户进程都觉得获得了独占使用的I/O设备,且使用该”设备“输入/输出的速度和磁盘的输入/输出一样快,这种模拟出多个逻辑存在的设备成为虚拟设备。虚拟设备通常使用SPOOLing技术(假脱机技术)实现。
1.5.4、文件管理
1、文件和文件系统
文件系统是指操作系统中与文件管理有关的软件和书数据的集合,由实施文件管理所需的数据结构(如文件控制块、存储分配表等)、相应的管理软件和被管理的文件三部分组成。他的主要功能如下: 对文件进行“按名存取”、文件存储空间管理、文件和目录的操作管理、实现文件的共享、保护和保密。
2、文件的逻辑结构和物理结构
常用的文件物理结构有顺序结构、链接结构和索引结构。
3、文件存储空间管理
常用的文件存储空间管理方法有:空闲表法(空闲文件目录)、空闲链表法、位示图法。
4、文件目录管理
描述和控制文件的数据结构,文件控制块(File Control Block,FCB)。FCB一般包含以下文件属性:**文件名、文件类型、物理位置等基本信息;用户存取权限等控制信息;文件创建、修改时间等使用信息。**信息常用的目录结构形式有:单级目录、两级目录和多级目录等。
5、文件的共享和保护
实现文件共享有多种方法,**目前最常用的有基于索引节点的共享(硬链接)和利用符号链进行共享(软链接)**俩种。 文件保护方法:存取控制矩阵(读R写W执行E)、存取控制表、口令和密码
1.5.5、作业管理
作业是用户再一次计算过程或一个事务处理中要求计算机系统所做工作的综合,也是用户项计算机系统提交任务的基本单位。作业管理包括作业的输入和输出,以及作业的调度与控制(目前的微机和工作站系统常以进程为核心,而不是作业)。从系统角度来看,作业由程序、数据和作业说明书组成。 作业通过练级或脱机方式提交给系统之后,系统会根据作业说明书为每个作业生成有个作业控制块(JCB)。一个作业从交给计算机系统到执行结束退出系统,一般要经历提交、后备、执行和完成4个状态。 常用的作业调度算法:先来先服务调度算法(FCFS)、短作业优先调度算法(SJF)、最高响应比优先调度算法(HRRN)(与高响应比优先调度算法相似)。
|