自制操作系统复习

发布 2022-01-12 08:07:28 阅读 7134

第3章进程描述与控制。

1.什么是多道程序设计,要求达到“领会”层次。

什么是多道程序设计。

指计算机主存中同时驻留多个相互独立的的进程,它们在操作系统的控制下交替地使用cpu,轮流执行。

多道程序设计为什么能提高处理器的工作效率。

因为计算机主存中同时驻留多个相互独立的进程,所以当一个进行i/o操作的时候,操作系统可以调度另外一个进程执行,这就避免了cpu的等待,提高了系统的吞吐量;另外不同的进程可以使用不同的外围设备,是的外围设备可以并行工作。

2. 进程与进程控制块,要求达到“领会”层次。

什么叫进程:

进程是程序的执行实例;进程包括一个存放进程映像的虚拟地址空间,进程映像指的是程序、数据、栈和进程控制块中定义的属性;进程拥有对资源的控制和所有权,也是操作系统调度和分派的实体。

说明进程与程序的区别与联系。

程序是指令序列,是一个静态的概念;进程是程序的执行实例,是一个动态的概念;②程序是永久的,而进程具有一定寿命的,从创建到终止会经历各种状态变化;③进程由程序、数据、栈和进程控制块组成,进程可以执行不同程序中的**;程序运行在不同的数据集合上就对应着不同的进程。

进程的基本状态有哪些?

基本状态有就绪、阻塞和运行。运行阻塞:因为等待一个事件(如系统服务调用不能立即得到满足;请求一个不能立即得到的资源;i/o操作;等待另一个进程的输出或者消息);运行就绪:

①时间片用完;②操作系统抢占进程并将处理器分配给优先级更高的进程;③自愿释放对处理器的控制(如周期性地进行审计和维护的后台进程)。 进程切换:中断、陷阱、系统调用、被抢占。

增加挂起状态的原因?

增加挂起状态是交换的需要。交换包括换出和换入,,操作系统将主存中某个进程的一部分或者全部内容转移到磁盘的过程叫换出,换出的进程通常是在等待一个事件,当该事件发生以后,操作系统将换出主存的进程重新装入主存,这个过程叫换入。当然进程被挂起除了交换的原因外,也可能是操作系统原因(怀疑进程可能导致问题如死锁或者进程运行过程中产生了陷阱)或交互式用户请求(挂起进程调试)。

3.进程描述,要求达到“领会”层次。

进程控制块典型元素有哪些?

进程标识(包括进程id,父进程id和用户id);处理器状态信息(包括用户寄存器、程序计数器、栈指针、程序状态字等)和进程控制信息(进程优先级、进程的状态、进程正在等待的事件、段表或页表指针等信息)。

进程控制块有何作用。

是操作系统管理和控制进程的必要信息。操作系统的每一个模块,包括那些涉及进程调度、存储管理、中断处理的模块都可能读取和修改它。

4.进程控制,要求达到“领会”层次。

为什么cpu要有多种执行模式。

保护操作系统和重要的操作系统数据结构不受用户程序的破坏;②在内核模式下,进程具有对处理器、寄存器和内存的完全控制能力,可以执行任何指令,这不是用户程序必需的,所以一般的用户程序只需要运行在用户模式下就行了。

模式切换过程大致如何?

保存处理器状态信息到进程控制块,将处理器模式从用户模式切换到内核模式,然后执行特权指令。从内核模式切换到用户模式过程相反。

进程切换过程大致如何?

首先要保存处理器状态信息,更新进程控制信息,如进程状态,离开运行状态的原因等;然后将进程置于相应的队列;最后调度另一个进程执行。

操作系统自身功能**的有几种执行方式?

内核方式:进程概念只适用于用户程序,操作系统是一个在特权模式下工作的独立实体,有自己的内存区域和系统栈(用于控制过程调用和返回);②用户空间程序调用方式:操作系统**和数据位于进程的共享地址空间而被所有进程共享;当产生中断或者系统调用时,一般只发生模式切换而不发生进程切换;③基于进程的方式:

模块化的操作系统,各模块之间具有最小的、简明的借口;关键的操作系统函数可以用独立的进程实现,十分适合应用在多处理器环境中。

第4章线程、微内核和对称多处理。

1.线程的概念,要求达到“领会”层次。

什么是线程?

线程是进程中一个单一顺序的控制流;是操作系统调度和分配的基本单位,而进程本身则拥有对资源的控制和所有权;同一个进程中可以有多个线程(多线程),它们共享进程的所有资源,而线程只拥有一些在运行中必不可少的资源,所以线程又称为轻量级进程。

线程的实体有哪些内容?

包括线程控制块、堆栈和存放局部变量的静态存储空间。线程控制块包含线程id;用户寄存器,程序计数器,栈指针;线程优先级和状态信息。

为什么多线程比多进程更有效率?

由于线程是轻量级进程,因此创建、终止线程和线程切换都比进程要迅速而且需要的开销也小;②提高了不同执行程序之间的通信效率,因为进程间通信需要内核参与,而同一个进程中的线程共享该进程的所有资源,因此无需内核参与就可以进行通信。

使用多线程的例子。

在多处理器中使用多线程很明显可以提高进程的执行速度(①前台和后台操作②异步处理③加速执行④模块化的程序结构);在单处理器中,可以举一个使用多线程进行远程过程调用的例子。

用户级线程有哪些特点?

有关线程管理的所有工作由应用程序通过调用线程库完成,线程库是所有应用程序共享的应用级软件包,它负责线程的创建和销毁、调度线程执行以及线程切换时保护和恢复线程上下文、**程间传递消息和数据;②进程状态和线程状态没有对应关系:进程状态是由内核指定的,线程状态是由线程库指定的,因此当进程处于就绪或阻塞状态时,线程可以处于运行态;③当进程离开运行态时它可能处于线程切换的中间状态,因为线程库中的例程在调度线程执行时也会因为中断、被抢占等原因被换下。

内核级线程有哪些特点?

有关线程管理的所有工作都是由内核完成,应用程序部分没有进行线程管理的**。

用户级线程与内核级线程比较。

前者优点:①线程切换不需要模式切换,因为所有用于线程管理的数据结构在进程的用户地址空间中,且管理由线程库完成无需调用内核;②应用程序可以根据需要选择轮询或基于优先级的调度算法,而不扰乱底层操作系统的调度器;③可以在任何操作系统中运行而不需要对底层内核进行修改,只要有线程库就可以了。前者缺点:

①线程因为系统调用阻塞时,它所在的进程也被阻塞;②多线程应用程序不能利用多处理技术。 后者优点:①克服了用户级线程的两个缺点。

后者缺点:线程切换需要模式切换的开销。

2.对称多处理,要求达到“领会”层次。

对称多处理结构有哪些特点?

对称多处理的特点:①内核可以在任何处理器上执行,并且每个处理器可以从可用的进程或线程池中进行各自的调度工作;②内核可以由多进程或者多线程构成,允许部分内核并行执行。

3.微内核,要求达到“领会”层次。

什么叫内核?

内核是操作系统最基本的部分,它为众多应用程序提供对计算机硬件的安全访问,这种访问是有限的,由内核决定一个进程在什么时候对某部分硬件操作多长时间;②直接对硬件操作是非常复杂的,内核提供了一种硬件抽象的方法来完成这些操作,硬件抽象隐藏了复杂性,为应用程序和计算机硬件之间提供了一套简洁,统一的接口。

操作系统内核的典型功能有哪些?

进程管理:进程的创建和终止;进程的调度和分派;进程的切换;进程控制块的管理;对进程同步、互斥和进程间通信的支持;②内存管理:为进程分配地址空间;页和段的管理;③i/o管理:

给进程分配i/o设备和通道;缓冲区管理;④支持功能:如中断处理。

什么叫微内核?

只有最基本的操作系统功能被放在内核中,非基本的服务和应用程序一样都在微内核之上构造,并在用户模式下执行,比如文件系统、设备驱动程序、虚存管理程序等,微内核外部的操作系统构件通过微内核传递消息进行交互。

第5章并发:互斥与同步。

1.并发原理,要求达到“领会”层次。

进程的并发性指什么?

指在多道程序设计系统中,计算机主存中同时驻留有多个相互独立的进程,它们在系统的控制下轮流使用cpu,交替执行,并且可能一个进程还没有完成,另一个进程已经开始执行,进程执行的时间是重叠的,我们说这组进程具有并发性。多道程序设计系统的基本特征:进程的相对执行速度不可**,取决于其它进程的活动、操作系统处理中断的方式和操作系统的调度策略。

竞态是怎样的一种现象?产生的原因是什么?

多个进程或线程在读写一个共享数据时结果依赖于它们的指令执行顺序,这种情形叫竞争(竞态)。原因:共享数据、多个进程或线程并发执行。

临界区是什么?

是一段**,在这段**中进程将访问共享资源,在任何时候只允许最多一个进程在这段**中运行,进程在临界区中访问的共享资源成为临界资源。

2.什么是互斥,如何实现互斥?

当一个进程在临界区访问共享资源时,其它进程不能进入临界区访问该共享资源。①软件方法(带来高处理负载且容易产生逻辑错误,如dekker算法和peterson算法);②中断禁用(低效率且不能用于多处理器结构)和专用机器指令(使用了忙等待,可能饥饿和死锁);③操作系统或者程序设计语言提供某种级别的支持(如信号量、管程、消息传递,可能死锁)。

忙等待”方式是指什么?

进程在得到临界资源的访问权之前,只能不断执行测试变量的指令来得到访问权,除此之外不能干其他事情。

饥饿”是什么意思?

是指一个进程能够执行,但被调度器无限期忽视而不能被调度执行的情况。

3.信号量

原语”是怎样的一种过程。

指具有某种特定功能的一段程序,在执行过程中不允许被中断。

什么叫进程同步?

同步:进程之间因为直接制约而通过发消息相互等待、相互合作,使得各个进程之间按一定的先后顺序执行。

说明信号量的基本结构,描述p、v操作的流程。

信号量:一个整数变量、一个阻塞队列和三个操作。

说明生产者-消费者问题的基本模型和用信号量实现有限缓冲模型的方案。

生产者-消费者问题:有一个多个进程共享的缓冲区,有些进程会产生一些数据项并放置在缓冲区中,称为生产者,还有一些进程会从缓冲区中取出数据项,称为消费者,然后必须保证互斥和同步。

实现方案:一个信号量用于互斥两个信号量用于同步(分别初始化为0和缓冲区大小)。不能交换p操作的顺序,否则产生死锁。

4.管程。说明管程的基本性质。

管程是一种程序设计语言结构,包括一个或多个过程、一段初始化**、局部数据、条件变量。

局部变量只能被管程中的过程访问;②一个进程通过调用管程的一个过程进入管程;③在任何时候只能有一个进程在管程中执行,调用管程的任何其它进程将被挂起等待管程可用。

操作系统复习

第二章。1 在下列性质中,不是分时系统特征的是 b a 交互性 b 独立性 c 多路性 d 成批性。2 引入多道程序设计的主要目的在于 c a 有利于 共享,减少主 辅存信息交换量。b 提高实时响应速度。c 充分利用cpu,减少cpu等待时间。d 充分利用存储器 3 在下面的进程状态转换过程中,可能...

操作系统复习

saw 锯 sawed sawed sawn fly 飞 flew flown stand 站立 stood stood spell 拼写 spelt spelled spelt spelled hear 听到 heard heard build 建造 built built spit 吐出 spa...

操作系统复习

一 单项选择题。在每小题列出的四个备选项中只有一个是符合题目要求的,请将其 填写在题后的括号内。1 在配置多道批处理操作系统的计算机系统中 d a 用户可联机 调试自己的程序 b 允许用户直接干预作业的执行。c 能对外部事件实时响应 d 允许多个作业同时使用不同的外围设备。2 unix操作系统是一个...