什么是并发?什么是并行?用日常生活中的例子举例说明。
并发:在同一个时间段内,能够交替执行不同的任务(同一时刻还是只能处理一个事务)。
并行:在同一个时间段内,能够同时执行不同的任务。
生活中例子:
并发:用手机看电影,电话响了接了电话再继续看。
并行:用电视看电影,电话响了边接电话边看电影。
在操作系统中为什么要引入进程的概念?它会产生什么样的影响?
引入进程:
简单的说,就是为了程序在多道执行环境下能并发执行,并能对并发执行的程序加以控制和描述,从而引入进程概念。
在多道程序执行时,需要共享系统资源,从而导致各程序在执行过程中相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序执行过程中发生的,是动态过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法冲程序的字面上看出它何时执行,何时停顿,也无法看出与其他执行程序的关系。因此,程序这个静态概念已经不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行的特征,人们引入进程的概念。
影响:使程序的并发执行得以实行。
试说明PCB的作用具体表现在那些方面?为什么说PCB是进程存在的唯一标志?
PCB的作用:1. 标识进程的存在;2. 动态地记录进程运行过程中的各类信息,如进程状态、中断现场、进程的优先级等,提供给OS的进程管理和进程调度使用;3. 实现进程的间断性运行方式;4. 实现与其他进程的同步与通信。
PCB随进程的创建而产生、在进程执行的过程中动态地记录各信息的变化。当一个进程完成其功能后,系统收回PCB,进程也随之消失。因此PCB是进程存在的唯一标志。
说明进程的三个基本状态及其相互转换的典型原因?
试从动态性、并发性和独立性上比较进程和程序?
动态性: 动态性是进程最基本的特征,表现为由创建而产生、由调度而执行,因得不到资源而暂停执行,游撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,静态实体。
并发性: 并发性是进程的重要特征,同时也是操作系统的重要特征。引入进程的目的是为了让程序能和其他程序并发执行,而程序本身是不能并发执行的。
独立性: 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
什么临界资源和临界区?临界区管理的基本准则是什么?
临界区: 每个进程中访问临界资源的那段程序叫做临界区。进程对临界区的访问必须互斥,每次只允许一个进程进去临界区,其他进程等待。
临界资源: 指每次只允许一个进程访问的资源,分硬件临界资源、软件临界资源。
临界区管理的基本准则:
- 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
- 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
- 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
- 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
为什么要在操作系统中引入线程?试从调度性、并发性、 拥有资源和系统开销4个方面对进程和线程进行比较。
在操作系统中引入线程,目的是为了减少程序在并发执行时所付出的时空开销,使得OS具有更好的并发性,提高CPU利用率。线程是系统调度的基本单位,进程是分派资源的基本单位。
调度性: 线程在OS中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。
并发性: 进程可以并发执行,一个进程的多个线程也可以并发执行。
拥有资源: 进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有资源,但可以访问隶属进程的资源。
系统开销: 操作系统在创建、撤销和切换进程时付出的开销远大于线程。