目录
1.操作系统的四大特征
并发:是指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行着的程序,因此它应该具有处理和调度多个程序同时执行的能力。
操作系统并发性是通过分时得以实现的
注意:并行性是指计算机系统具有可以同时进行运算或操作的特性,在同一时间完成两种或两种以上的工作。
共享:是指系统中的资源可以被多个并发执行的程序共同使用,而不是被其中一个独占。资源共享有两种方式:互斥访问和同时访问。互斥访问是指一段时间内只允许一个进程访问该资源,如打印机、磁盘机等。同时访问是指某些资源,一段时间内允许多个进程“同时”对他们进行访问。
虚拟:虚拟性是一种管理技术,把物理上的一个实体变成逻辑上多个对应物或把物理上的多个实体变成逻辑上的一个对应物的技术。采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。
异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底。而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。但是只要运行环境相同,操作系统必须保证多次运行程序,都获得相同的结果。
2.操作系统的主要功能
操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理
1)进程与处理机管理:实质上是对处理机执行“时间”管理,即如何将CPU真正合理的分配给每个任务
2)文件管理:又称为信息管理
3)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等
4)存储管理:实质上是对存储“空间”的管理,主要是对主存的管理
5)设备管理:实质上是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收
3.分时技术
分时技术:把处理机的响应时间分为若干个大小相等(或者不等)的时间单位,称为时间片,每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片用完,用户程序暂停运行,等待下一次运行
分时计算机系统:由于中断技术的使用,使得一台计算机能连接多个用户终端,用户可通过各自的终端使用和控制计算机,我们把一台计算机连接多个终端的计算机系统称为分时计算机系统,或者分时系统。
实时操作系统:一种联机的操作系统,对外部的请求,实时操作系统能在规定的时间内处理完毕
4.进程的状态和转换
三态模型:
1.就绪态:具备运行条件,等待系统分配处理机以便运行
2.运行态:占有处理器,正在运行
3.阻塞态:不具备运行条件,正在等待某个事件的完成
1)就绪-运行:对就绪状态的进程,当进程调度程序按照一定的策略从中选中一个就绪进程,为之分配了处理机后,该进程便由就绪态变为运行态
2)运行-阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由运行态变为阻塞态
3)阻塞-就绪:处于阻塞状态的进程,在其等待的事件已经发生,资源得到满足,则进程由阻塞态变为就绪态
4)运行-就绪:正在执行的进程,由于时间片用完而被暂停执行,或在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行而被迫让出处理机时,该进程便由运行态变为就绪态
五态模型:
为满足进程控制块对数据及操作的完整性要求以及增强管理的灵活性,引入了两种状态:创建状态以及终止状态
1)创建状态
-首先进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息
-然后为该进程分配运行时所必须的资源
-最后把该进程转入就绪态并插入就绪队列中
引入创建态是为了保证进程的调度必须是在创建工作完成之后
2)终止状态
-首先,等待操作系统做善后处理
-最后将其PCB清零,并将PCB空间返还给系统
当一个进程达到了自然结束点或是出现了无法克服的错误,或是被操作系统终结,则进入终止状态
5.进程和程序的区别、进程和作业的区别、进程与线程的区别
进程与程序的区别:
(1)程序是指令的集合,是静态的概念。进程是程序在处理机上的一次执行的过程,是动态的概念。程序可以作为软件资料长期保存。进程是有生命周期的。
(2)进程是一个独立的运行单位,能与其它进程并行(并发)活动。而程序则不是。
(3)进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位.
(4)不同的进程可以包含同一程序,只要该程序所对应的数据集不同。
进程与作业的区别:
作业是用户需要计算机完成某项任务时要求计算机所做工作的集合。而进程则是已提交完毕程序的执行过程的描述,是资源分配的基本单位。主要区别:
(1)作业是用户向计算机提交任务的任务实体。
(2)一个作业可由多个进程组成。
(3)作业的概念主要用于批处理系统中。
进程与线程的区别:
进程是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存中有其完备的数据空间和代码空间,拥有完整的虚拟空间地址
线程是进程内相对独立的可执行单元,也就是说线程是进程中一个单一顺序的控制流
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
开销方面:在创建或撤销进程时,由于系统都要为之分配和回收资源