ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统一、二章复习

2022-07-15 04:00:12  阅读:291  来源: 互联网

标签:复习 二章 管程 系统 信号量 临界 线程 进程 操作系统


第一章

1、操作系统是什么?主要目标?作用?功能?

概念:一种管理计算机资源的软件,对上服务应用程序(进程),对下管理硬件(内存、硬盘、CPU)

目标:1)方便性(将程序翻译成机械代码或通过OS的所提供的各种命令操纵计算机系统)

      2)有效性(提高系统资源利用率和吞吐量)

      3)可扩充性(添加新的功能和模块、对原有的功能模块进行修改)

      4)开放性(硬件和软件的兼容性问题)

作用:1)OS作为用户和计算机硬件系统之间的接口

   2)OS作为计算机系统资源的管理者

   3)OS实现了对计算机资源的抽象(隐藏了硬件设备的具体实现过程)

功能:传统的OS中应具有处理机管理、存储器管理、设备管理、文件管理等基本功能。此外,为了方便用户使用OS,还需要向用户提供方便的用户接口。负责为用户和用户程序完成所有与硬件相关并与应用无关的工作。

 

2、分时系统与实时系统的比较

分时系统:在一台主机上连接了多个配有显示器和键盘的终端,以交互方式使用计算机,共享主机中的资源。

实时系统:实时系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务能够协调一致的运行。

1)多路性:多路性都表现为系统按分时原则为多个终端用服务;实时控制系统的多路性则是指系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。

2)独立性。实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。

3)及时性。实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到亳秒级,甚至有的要低于100微秒。

4)交互性。实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。

5)可靠性。分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。

 

第二章(重点)

1、实现分时系统的关键是什么?应如何解决?

 2、进程的三种、七种状态及其转换,知道状态转换时要做的工作(或者条件)。

 

 

 

 

 

 

3、创建进程和撤销进程所要完成的具体任务。

创建进程:

  首先由进程申请一个空白PCB,然后为该进程分配运行时所必需的资源,再初始化进程控制块,最后,把该进程转入就绪状态并插入就绪队列之中。

终止进程:

  根据终止进程的标识符,找出该进程PCB,获取进程状态;若该进程正在执行,终止进程,置调度标志为真(指示重新调度);终止子孙进程;归还资源给父进程(系统);从所在队里中移出。 

4、什么是前趋图(DAG),为什么要引入前趋图。(要求画出前趋图并写出相应的程序来描述该前趋图)

所谓前趋图,是指一个有向无循环图,它用于描述进程之间执行的先后顺序。图中每个节点可用来表示一个进程或程序段,乃至一条语句,结点间的有向边则表示两个节点之间存在的偏序或前趋关系。

为了更好地描述进程地顺序和并发执行情况。

5、程序的并发执行的特点

(1)间断性:由于资源共享和互相合作,在执行期间并发程序相互制约 ,形成了间断性的活动规律

(2)失去封闭性:程序与计算不再一一对应。 允许多个程序共享一个程序段。

(3)不可再现性:与并发程序的执行结果不可再现,并发程序与其执行的相对速度以及并发执行的多道程序 

之间的相互关系有关。

6、进程与程序的区别

 7、进程控制块的作用以及其所包含的内容

使一个在多道程序下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他程序并发执行的进程。

1)作为独立运行基本单位的标志

2)能实现间断性运行方式(保存、恢复CPU现场信息)

3)提供进程管理所需要的信息

4)提供进程调度所需要的信息

5)实现与其他进程的同步与通信

8、原语的概念,学过的几个原语各自的作用。

原语: 由操作系统内核执行;由若干条指令组成的程序段,用于完成某个特定功能;执行过程中不可中断(原子性)

进程创建Creat 阻塞原语block 唤醒原语wakeup 挂起原语suspend 激活原语active

9、处理机的两种执行状态及其各自的特点。

P45

10、临界区、临界资源的概念

临界区:每个进程中访问临界资源的那段代码称之为临界区

临界资源:在一段时间内只允许一个进程访问的资源(一个单位不一定就是一个资源)

11、信号量初始值的设置、互斥信号量的取值范围,各种类型信号量的特点。

同步信号量的初值一般设为0,互斥信号量的初值一般设为1。

互斥信号量值的描述:
初值为1,取值范围为(-1,0,1)。
当 mutex=1 时,表示两个进程皆未进入需要互斥的临界区;
当 mutex=0 时,表示有一个进程进入临界区运行,另外一个必须等待,改入阻塞队列;
当 mutex=-1时,表示有一个进程正在临界区运行,另一个进程因等待而阻塞在信号量队列中,需要被当前已在临界区运行的进程退出时唤醒。

信号量分类:

整型信号量:做不到“让权等待”,使进程处于忙等的状态

记录型信号量:采用“让权等待”,如果某个进程一直等待,把这个进程放入阻塞队列,为CPU腾出空间,当该进程条件满足再将其从阻塞队列中拿出。

使用记录型信号量要保证wait和signal成对出现使用(易引发死锁)。

AND型信号量:避免多个资源贡献引发的死锁。

实际上还会有多种资源数量不固定的情景,AND型信号量显然处理不了这种情况的进程调度。

信号量集:解决多资源多数量的情况(一个进程需要申请多个资源,每个资源数量又要求多个)

帮助理解:https://blog.csdn.net/weixin_43237362/article/details/104705922

12、忙等?缺点是?

13、利用信号量来实现前趋关系。

14、管程的概念及其组成、与进程的区别

概念:

管程是一种特殊的软件模块,有这些部分组成:

1.局部于管程的共享数据结构说明;

2.对该数据结构进行操作的一组过程;

3.对局部于管程的共享数据设置初始值的语句;

4.管程有一个名字。

Tips:“过程”其实就是“函数”

 管程定义的是公有数据结构,而进程定义的是私有数据结构。

管程把共享变量上的操作集中起来,而临界区(访问共享变量的程序段)却分散在每个进程中。

管程为管理共享资源而建立的,进程主要是为占用系统资源和实现

系统并发性而引入的。

管程是被欲使用共享资源的进程所调用的,管程和调用它的进程不能并行工作,而进程之间能并发工作,并发性是其固有特性。

管程是语言或操作系统成分,不必创建或撤销,而进程有生命周期,由创建而产生撤销便消亡。

15、用信号量解决常见的简单问题,生产者-消费者问题

16、进程通信的定义、类型以及实现方法

进程通信:是进程进行通信和同步的机制

类型:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统

17、线程的作用(引入的原因),线程和进程的比较,线程的实现(内核支持线程、用户级线程)

 线程和进程相似,但线程是一个比进程更小的执行单位,一个进程在其执行的过程中可以产生多个线程。

作用:   引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务。并且引入线程之后,进程只作为除CPU之外的系统资源的分配单元(像打印机、内存地址空间等都是分配给进程的)   引入多线程最主要的原因是为了提高资源的利用率。现在的cpu都是多核心的这意味着多个线程可以同时运行,从而可以减少了线程上下文切换的开销。第二点是可以防止阻塞。如果单核cpu使用单线程,那么只要这个线程被阻塞了,那么整个程序也就被阻塞。多线程可以防止这个问题,多条线程同时运行,哪怕一条线程的代码执行读取数据阻塞,也不会影响其它任务的执行。 比较:

  1.进程是资源(包括内存、打开的文件等)分配的单位,线程是CPU调度的单位;

  2.进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈;

  3.线程同样具有就绪、阻塞、执行三种基本状态,同样具有状态之间的转换关系;

  4.线程能减少并发执行的时间和空间开销;

实现:   1)内核支持性线程:对于通常的进程,无论是系统进程还是用户进程,进程的创建、撤销,以及要求由系统设备完成的i/o操作,都是利用系统调用而进入内核,再由内核中的相应处理程予以完成的。进程的切换同样是在内核的支持下实现的。因此我们说,不论什么进程,它们都是在操作系统内核的支持下运次的,是与内核紧密相关的。   2)用户级线程:用户级线程仅存于用户空间中。对于这种线程的创建、撤销、线程之间的同步与通信等功能,都无须利用系统调用来实现。对于用户级线程的切换,通常发生在一个应用程序的诸多线程之间。由于切换的规则远比进程的调度和切换的规则简单,因此使线程线程的切换速度特备快。可见,这种线程是与内核无关的。

18、进程之间存在着哪几种制约关系?各是什么原因引起的?

 进程之间存在着直接制约和间接制约两种制约关系。

直接制约(同步)是由于进程间的相互合作而引起的,

间接制约(互斥)则是由于进程间共享临界资源而引起的。

 

 

 

 

 

标签:复习,二章,管程,系统,信号量,临界,线程,进程,操作系统
来源: https://www.cnblogs.com/tenyuan/p/16479961.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有