1.5-操作系统的分类

百般思念 提交于 2020-03-21 23:36:35
  下面我们介绍一下操作系统的分类,各种各样的分类都是存在的,那么我们呢主要是介绍传统的分类。那么我们要简单提一下,我们教材里提出的这个 Tanenbaum的这种分类。操作系统是不断在发展的那么它的发展是由不同的因素来驱动的,这些因素呢我们归纳总结出:
  (1)首先是硬件技术的发展,硬件发展了对操作系统就有新的要求;
  (2)还有就是应用需求的发展;
  (3)然后是软件新技术的出现。
所以我们说操作系统的发展是随着计算机硬件技术、应用需求以及软件新技术的出现而发展的。为什么要不断的进展?那么因为操作系统要能够充分的利用硬件,能够为用户提供更好的服务,所以操作系统必须以这个为目标来不断的发展。从过去到现在,操作系统实际上是总在不断的往前发展,那么早期很早的时候是大型计算机,那么有大型计算机操作系统;后来呢,又有了个人计算机啊,个人计算机呢又从简单到复杂,所以又有不同的操作系统出现;当有了网络的 供支持之后,那么我们的操作系统就要支持网络的功能;后来移动计算出现了,那么操作系统要变得能够支持各种各样的移动设备上的各种就管理啊,各种管理功能;云计算和我们现在的泛在计算或者是说物联网时代;一直到今天非常火的机器人,那么都需要操作系统 进行相应的改改变,然后去支持这些不同的环境。 
  那么我们 看一下操作系统的这些分类,我们主要是谈的是传统操作系统分类。那这传统操作系统分类呢主要是要通过这个时间、年代,我们来看一下。那么这些分类当中呢,其实希望大家掌握就是说每一种操作系统或者每一类操作系统,它的主要的特征或它追求的目标是什么样的?它的工作方式又是什么样子?我们要抓住这两点:一个是它的追求的目标,每一种操作系统追求的目标不太一样;另一种是每个操作系统的工作方式也略有不同。我们从这两个角度来抓住它的特质,抓住它的最特别的地方。
  我们先来看批处理操作系统 这是一个最早出现的操作系统。那么批处理操作系统我们现在可能很难见到啊,并不是不存在而是我们平常日常生活我们用起来很难用到它。在一些大型的商务网站或者是一些大型公司里头它还是用到批处理操作系统的。那我们首先呢来通过我的介绍啊,大家也充分的发挥一些想象力,来看一下一个批处理的操作系统是怎么工作的?它的工作方式是这样的,那么首先呢,用户要将自己的作业交给一个专门的人员来处理,那么这个人呢我们称之为系统操作员,所以用户将作业交给系统操作员,系统操作员将许多用户的作业收集起来,组成一批作业然后把它输入到计算机系统中。那么这样的话在计算机系统中就会形成一个作业流,这个作业流可以自动转接,是一个连续的自动转接的作业流。这个时候呢,再启动操作系统 让操作系统自动的、依次的来执行每个作业,那么作业的执行结果,统一由操作员提交给用户,那么这是一个批处理操作系统的工作方式。这里头呢我们可以看到,用户对自己的这个作业是不能够干预的。那么批处理操作系统它的存在呢,主要的一个目标是什么?主要追求的目标是什么?第一个是提高资源的利用率,第二个是能够增加作业处理的吞吐量,就单位时间里处理越多的作业越好,那我们来看看批处理操作系统的一些简单的细节。那么首先什么是作业?在批处理操作系统中的一个作业呢包括了几部分,包括了用户的代码程序,这个程序需要处理的数据以及这个作业怎么执行的一个规格说明书(我们就把它称之为作业说明书使用一种特定的叫作业控制语言(JCL)编写的,它和我们现在的脚本很相似),那么它描述的是这个作业,怎么样去处理的一个步骤?那么批处理的话体现在批,所谓成批就是通常这一批作业是由若干作业组成的,用户提交完作业之后,只能等待处理结果不能干预自己作业的执行那么当操作系统对批作业进行处理的时候呢 实际上是对这一批作业的每一个作业进行相同的一个处理过程都是从磁带读入用户作业和编译链接程序,然后呢去编译链接用户作业生成可执行程序,然后再去启动执行这个程序并且执行然后输出结果。所以所有的作业都是按每个作业都是按这样一个过程来完成的,这是一个典型的一个一个作业的一个这个结构,当然这一个作业结构早期是用卡片的,现在我们见不到了,早期呢我们的输入是用卡片输入的,叫卡片机,卡片读取机。那么每个程序啊,代码呀,数据啊,都都穿在这个卡片上,就是在卡片上输入啊,那么这个卡片呢就包括了你的一些基本描述和你的这个Fortran的编译、程序装入,运行的这些命令还有相应的一些数据,这是一个作业的一个典型的结构,那么当把这一批作业送到计算机上的时候呢,这里就说需要通过输入输出设备来完成,那么输入输出设备有个特点,特别慢,所以我们说是慢速的输入输出。如果我们说一台功能强大的计算机来去处理这些慢速的输入输出,那么就会造成在输入输出的时候CPU实际上是空闲的,因为这时候呢是磁盘那其他的部件在工作,CPU是没事可干的,因此当批处理系统中出现了这样一个问题的时候呢,那么我们就开始来寻找一个好的解决方案。那解决方案是什么呢?就是说增加计算机,不是一台计算机,增加其他计算机,这些计算机呢我们称之为卫星机,那么卫星机的作用呢,它就是完成对用户的输入、输出这样一些工作。在完成这些工作之后呢,把这个输入的内容或者输出的内容都暂时存放在磁带啊或者磁盘上。那这就是卫星机,所以卫星机也是计算机它的功能较弱一点,那么它的工作主要是为了完成输入输出。好!这是一张早期的批处理的一个示意,那我们就看到了1401是比较便宜的,功能比较简单的计算机,那么就是我们刚才说的卫星机。那么它们呢就是完成输入作业,输出结果的作用,所以也就是说这台1401负责的是卡片机,那这台1401就负责的是打印机啊就分别负责不同的输出设备。那么这个7094是功能非常强大的一台计算机,那么这台计算机呢是要充分利用它要处理作业的。因此我们来看到这个系统操作员会把在1401上输入的这一批作业,放在磁带上然后把磁带送给这个7094,然后呢这个7094上操作系统在跑,把作业依次去执行,结果呢也放在磁盘上磁带上,然后再由操作员去把它送到一个卫星机来做最后的输出工作,所以这是早期的批处理操作系统的一个示意。
  那么批处理操作系统呢我们看到经常会说单道批处理和多道批处理,这两有什么区别呢?所谓单道批处理、多道批处理是指的在7094这台计算机上一次处理多少个作业,如果一次处理一个作业,这个作业处理完了,再去选择第二个作业进行处理,就叫单道批处理;那我们也可以说,一次选多个作业,然后呢,比如说选上3、4个, 4、5个然后去处理,那么这叫多道批处理系统。
  那我们当然更多的是谈的是多道批处理系统。因为这是支持多道程序设计的,那么在实现批处理系统的时候呢,通常采用的一种技术叫做spooling 技术。spooling 技术是1961年英国曼彻斯特大学在一台Atalas计算机上啊做的实验。那么,spooling这个词呢,来源于这样一个一个描述,这个描述呢是Simultaneous Peripheral Operation On-Line,那么它的翻译过来呢叫做“同时的外部设备联机操作”那么,为什么要用这种技术呢?它和我们刚才那张描述的图最大的区别在于,它是在一台机,计算机上完成输入、处理和输出。在一台计算机上,那么怎么完成呢?是用磁盘做缓冲将输入、计算、输出分别组织成独立的任务流,在一台计算机上执行,使得输入、输出和计算真正并行。我们刚才在,回想一下,刚才是用卫星机完成输入和输出,那就是两个不同的计算机,然后用主机完成计算。那么,有了这个技术这是软件技术,就会把所有的工作在一台计算机上执行,所以叫联机操作。那么和刚才的脱机相比,相比较而言,所以这种spooling技术有的时候我们又称之为:“假脱机”。也就是说,它不是真的脱机,它是假脱机,这是 spooling 技术。那么spooling技术或者 spooling系统的工作原理是什么?那么,它把一一个完整的过程,对一个作业处理的完整过程,分成了几个阶段:
  (1)第一是用户作业加载到系统当中,就是输入。那么放到哪里呢?放到了磁盘上的一块空间,叫输入井。所以我们说第一个一项一个任务呢,是把用户作业送到磁盘上的输入井,那么,磁盘输入井会有很多的作业;
  (2)因此,第二项任务呢就是按照某种调度策略选择几个作业搭配得当,啊,长的短的,这个不同的啊性质作业,然后把它调入内存去执行;
  (3)那么,第三项任务呢,就是在控制这个作业的执行,那么这个作业的执行呢,把它送到什么呀?送到输出井啊,输出井呢是磁盘上的另一块区域,那么专门去存放每个作业的输出结果;
  (4)最后,那么需要一项任务,专门负责把输出井上的数据啊结果 送到打印机上去。 
  那么这样有这么4项任务,在同一台计算机上呢,并发的去执行。那么它的好处是说,当一个作业在主机上执行的时候,它要真正输入的时候不需要到卡片机上去读入数据,因为所有的输入数据已经送到了输入井,所以,它就只要从输入井上去读数据就可以了。它输出的时候呢,也不需要把结果直接送到打印机。那么,它只要把结果送到输出井就可以了,那么这样的话呢就提高了整个计算机系统的一个效率,就是资源利用率。那么,我们再看一下,引入了这样一个技术之后,一个多道批处理系统在一台计算机上呢,变成什么样了呢?那我们看,上面还是我们传统的脱机,对吧?脱机,那么,我们就变成了在一台计算机上的一个,整个的处理过程。而这些处理过程呢是由输入进程作业调度程序、作业控制进程和输出进程相互配合共同完成的,在一台计算机上。所以,输入进程从输入设备上把各种各样的作业,读入到输入到磁盘上(输入井),作业调度进程呢,去从输入井选一些作业啊,搭配得当的作业,把它送到内存,然后作业控制进程呢,来控制作业的执行过程,中间呢,因为不同的作业在内存,还需要进一步的去调度,谁上CPU,谁暂时不上CPU,当然它的输出结果是送到输出井。如果它还想在运行过程中想输入,就从输入井去读数据就可以了。最后,输出进程就把结果送到了输出设备。因此呢,上面就是脱机,下面就是spooling 技术,就是假脱机。那么,我们为什么讲这个技术?那这个技术因为很古老了,那么现在我们还用吗?实际上呢,在我们现代的计算机系统中 我们还在用spooling技术,因为,在我们做打印的这种服务的时候,我们通常的是采用的是spooling技术来实现这个打印的。那么我们来介绍一下,比如说我们有一个Word 文件 我们有100页,那这时候我们就把它啊,这个按了这个打印的这个按钮,那么这时候我们会看到什么?我们会看到,一般情况下啊,是在屏幕的右下角,我们会看到一个显示说,打印几页。那实际上,打印机很慢,它不会马上把这个打印结果啊,这个输出来,那么,当底下这个显示结束之后,我们就可以关闭这个Word文件了,就可以干别的事情去了。当然,如果这个还没有完成,我们去关闭这个文件,就会提示你说,这个打印还没有完成,但是,如果它结束了,可是打印机上确实没有出东西,那么,什么原因呢?就是说,它的打印的完成是说把这个打印的内容,送到了一个队列里头去,我们把它称之为打印请求队列,就是说,把这个,其实也就是在磁盘上的一个目录啊,就送到这个队列里头去,当这个队列里有要打印的文件的时候呢,那么,这个时候操作系统会提供一个打印进程,专门来管理这个打印队列,当这个队列不空的时候,有打印的这个文件的时候,这个进程就被启动,去分别一个一个的,把文件送到打印机上。当然,如果没有打印的请求,这个队列是空的。那么,这个打印进程呢就可以去睡眠,就可以去等待。所以,现代操作系统中,这个打印过程通常也采用的是什么呀? spooling 技术。所以,我们为什么介绍它呢?也是因为说它还继续发挥作用。
  下面我们介绍分时操作系统,虽然说我们现在基本上看不到分时操作系统了,但是呢它是最早的一个交互式的系统,和我们现在的使用计算机的方式非常相像。那么分时操作系统它的工作方式是这样的,得有一台主机 然后这台主机连了很多很多的终端。所谓终端呢,实际上只有键盘啊,显示器啊,其实它没有任何的计算能力,没有 CPU,也没有存储,所有在这上这个敲入的命令都直接送到这个主机上,当用户呢就敲入命令呢,然后呢等待回答,等待回答之后呢,根据回答的结果呢再输入命令,实际上是这样一种工作方式。那这里头呢就是说一台主机同时要为多个终端去服务,那么就必须采用一定的技术。一个非常典型的就是时间片,因为要轮流为每个终端用户服务的话,那么操作系统会将CPU的时间划分为若干个片段,我们通常叫时间片这个词大家都很能理解。那么操作系统呢,就是以时间片为单位,轮流为每个终端用户去服务,而且每次给你一个时间片,那么时间片到了,那么这个终端,就不为这个终端服务,就为另外一个终端用户服务了,是这样一个过程。那么这个做法为什么能够非常好地工作,让每个用户都非常高兴地在计算机前去使用计算机呢?实际上它是利用了一个人的错觉,因为每个人在做操作的时候会比较慢,计算机的处理能力很强,那么它一两秒钟处理的能力,就处理完的事情,你呢可能敲半天。 所以在这种情况下 利用了这样一个人的错觉,使得用户感觉到说每个,这个计算机为我自己服务,没有去为其他用户服务,就是这样一个错觉。 那么这个呢实际上也就是说把一台计算机变成了多个虚拟的计算机,就是说每个用户在一个虚拟机上去运行,也可以这么去理解。那么在分时系统,和我们现在是一样的,就是说,现在是交互式系统,交互式系统追求的主要目标是什么呢?就是相应时间,就是敲一个命令发出一条命令,然后它得到回答,这个时间就 是一个响应时间,当然我们希望,每个用户都希望,响应时间是越短越好。那么这样的话呢,操作系统呢才能够为很多的用户去服务,让用户感觉到操作系统为自己服务一样。那个时候呢计算机很贵,所以呢不可能说一个我有一台计算机这就是批处理系统,那台计算机呢是分时系统,通常呢那个时候的操作系统都是叫通用操作系统。也就是把分时和批处理的处理结合起来,向用户提供各种服务。那么基本的原则是这样的:分时优先,批处理在后,为什么呢?因为用户是和计算机打交道的,它有一个心理的一个这个感觉,如果计算机没有响应他,时间很久不响应他,他会着急,会烦,所以呢我们希望说分时在先,然后呢有一些对时间要求不强的一些作业,可以作为批处理作业处理,可以放在后台,所以我们可以说分时在优先,那么就是前台放了很多,就处理各种需要频繁交互的作业,而后台呢实际上是放一些这个时间要求不高的作业,当然这个我们白天的时候大家都上班了,那么这个时候分时模式起作用;但是如果中午大家都午休了,吃饭了,或者晚上大家都下班了,那么这个时候就可以使得大批的这个批处理作业去执行,那这样让计算机能够时时刻刻保持着运转,这就是所谓通用操作系统,分时和批处理的一个结合。
  另一种计算机的操作系统的类型呢就是实时操作系统。所谓实时操作系统对时间有更严格的要求,我们来看。所谓实时指的就是计算机能够及时响应外部事件的请求,在规定的严格的时间范围内,完成对事件的处理,一定要求把处理完成。那么完成处理实际上是控制各种各样的实施设备和实施任务协调一致地去工作。我们典型的像汽车,汽车电子,那么这里头应该是个实时系统。为什么呢?当你踩刹车的时候,当你要做各种各样的操作的时候必须很快去完成这项工作,否则就会出现其它的问题。那么实时操作系统呢当然也分成不同类型:
  (1)第一类呢我们叫做实施过程控制。那么包括了工业控制、航空、军事控制等等等等;
  (2)第二类呢叫实时通信系统,或者实时信息处理系统,像我们说的一些电讯,自动交换机,银行系统,飞机订票,股市行情的这些都属于实时的信息处理系统,那么当然它也是要求有实时性的。
  那么实时操作系统在设计的时候它所追求的目标是什么呢?主要是:第一,对于外部请求在严格的时间范围内要有响应要有处理;第二个呢是高可靠性,因为一个实时系统往往是运行在一个环境里头,那么这个环境要求这个系统能够对环境要有适应性,所以要有高可靠,比如说像汽车电子,如果不可靠,那就会带来其他问题,对吧?那我们在这里头再强调一下:实时系统当中的这个最关键因素和参数呢就是时间,所谓时间呢,那么我们知道,比如说举个例子,就是汽车的装配线,这是讲一个工业过程控制这样一个系统。那么汽车装配线上呢比如说我们要让一个汽车去完成一个汽车的组装工作,组装工作。那么如果没有某一个环节没有在严格的实时时间范围内处理,那就会造成什么?比如说焊接机器人,如果焊接没焊完,这个时间就过去了,那么这种就带来了一个隐患,将来汽车在行驶过程中就可能出问题,所以呢这个时间是非常关键的。但是这个时间呢其实又分成了对时间要求的一个硬性的和一些软性的要求:那么所谓硬性的要求呢,就是我们通常称之为硬实时系统,所谓硬实时系统呢,就是说某个动作绝对必须在规定的时间这个范围内,或者某个时刻完成像刚才我们说的这种汽车装配线上,安装轮胎也好,去焊接什么也好,那么这些东西都要有严格的这个时刻或者时间范围来决定;但是呢还有一类对时间要求很快,但是呢又没那么严格,那么我们叫做软实时系统,软实时系统呢实际上就是说,有一些实现,最终实现可能偶尔违反,在某些点上违反了这个最终实现,没有在规定的时间内去做到,但是呢这是偶然的行为,还是可以接受的。我们举一个例子就是,就是媒体播放,就视频播放啊,MP3这种播放,音频播放,那么播放一个,一段这个这个电影,那么这个电影的播放的过程中如果偶尔有一帧,两帧没有达到实时的这种这个,这个处理,那么可能会看电影的时候可能有点卡,但是呢也就是偶尔,那么你会对这个电影的整体的理解是没有问题,不受影响的,所以呢我们也接受这种情况。这就是所谓硬实时系统和软实时系统。
  那么这些系统有了以后,后来慢慢慢慢到了上个世纪80年代就出现了个人计算机,那么个人计算机也需要操作系统,而个人操作系统大家知道那时候呢,是计算机在某一时刻只为一个用户服务,所以相对比较简单,所以在个人计算机操作系统刚刚出来的时候,那么实际上对界面友好、使用方便还有上面提供很丰富的应用软件是有要求的,那么对于操作系统内部的功能其实没有太多的要求。
  慢慢个人计算机系统又往前发展了,从简单到复杂,当所有的计算机能联网的时候,那么这个时候主要出现了一个叫做网络操作系统,所谓网络操作系统就是说,在计算机联网的之上在网络当中有各个计算机,对吧?有各个计算机,每个计算机都有操作系统,这些操作系统必须支持按网络体系结构协议标准开发的这种网络模块,而网络模块呢主要完成的是网络的管理,然后计算机之间,在网络当中的计算机之间的通信,安全,包括资源共享和各种各样的提供各种各样的网络应用。那这时候有了网络之后一些新的要求。所以网络操作系统的追求目标是:第一,在网络上各个计算机之间能够相互通信;第二,能够大家共享这个网络上的各种资源。 
  再之后,实际上呢就对操作系统的分类呢,我们就介绍一种分布式操作系统啊。当然分布式操作系统主体呢,它建立在分布式系统之上的,是为分布式系统开发的。那么所谓分布式系统呢,可能是以计算机网络为基础,就是把计算机联网;也可能是多处理器,现在的多CPU的这种计算机系统,这也是分布式系统的一个典型的。所以基本的特征就是说处理能力,就是CPU的这种计算能力是分布在不同的计算机上的。而分布式操作系统,那么它就在这种分布式系统之上开发的一个操作系统,而这个操作系统的特点是什么呢?它是一个统一的操作系统。而允许啊,就是通过操作系统的这个运行,允许若干台计算机上的这个,这个完成同一个任务。那么这些,若干台计算机是相互协作相互配合来共同完成一项任务。那么操作系统把各种各样的任务分布在,在系统当中的任何一台计算机上都是可以执行的。这种分配可以自动去实现,然后包括任务的分配,包括这个调度,包括负载的这个均衡等等,都是操作系统要解决的问题。有了分布式系统以后 那么处理能力就增强了,速度也快了,可靠性增强了,同时呢对用户来讲就具有透明性,因为用户不知道自己的任务在哪一台计算机上执行。但是由于有这么多的这个好处了,那么对操作系统的这个设计就带来了一个更大的一个复杂性。
  另外一种操作系统,我们称之为嵌入式操作系统,因为嵌入式操作系统是为嵌入式系统开发的。所谓嵌入式系统的话呢,其实呢嵌入式系统是在各种各样的设备、装置当中完成了某些特定功能的硬件系统和软硬件系统。比如说我们说汽车,汽车里头有一个电子嵌入式系统。手机、电视机,类似于像这个什么MP3播放器,像冰箱啊,彩电微波炉其实都有了。那么 我们所说的嵌入式系统呈现在我们面前的呢,其实不是计算机啊不是计算机,它是一个大设备当中,或者大的装置当中的一个部分啊一个部分。而这些嵌入式系统通常工作在一个反应式或对处理时间有严格要求的环境中,就是像汽车。那么在为嵌入式系统开发的 嵌入式操作系统呢,那么它的主要特点就是说对整个嵌入式系统以及它所操作的控制的,各种各样的这种部件装置来,这些都是它的资源,来统一地协调,统一地调度,统一地去控制,那么这就是嵌入式操作系统要做的事情。 
  以上这就是操作系统的一个传统意义上操作系统的分类。那在我们的教材里头呢,其实还给了另外一种分类,但是我们称之为Tanenbaum的分类。那么这个分类呢,大家可以看一下:大型机、服务器、多处理机、个人计算机、掌上计算机、嵌入式、传感器节点、实时操作系统、智能卡操作系统。实际上好像感觉就是从大到小这样一个分类,因为分类是什么角度都是可以的。大家呢去读一下教材,了解一下每一种分类,每一种操作系统它都在支持哪些应用程序的执行。
  这里呢我们简单的再介绍一下智能卡操作系统。那么智能卡呢实际上 是一个卡片,卡片上有一个芯片啊有一个CPU芯片。那么智能卡因为它这个太小了,所以呢它的这个运行过程中的能耗要有严格的要求,不能太耗电。而另外呢,它的这个空间呢也很小,也不能有很多的存放的,存储空间,所以耗电和空间都是有严格的限制的。那么因此 在智能卡上通常我们实现的这个应用呢,一般都是单项功能。比如说电子支付啊等等。在这个卡上呢其实应该有一个专用的小操作系统。我们来看一个小例子啊,比如说有一些智能卡,它是面向Java的,因此呢在这个智能卡的这个ROM上呢,我们会有一个非常小的一个Java虚拟机解释器。当Java程序被下载到这个卡里的时候,就由这个Java虚拟机解释器呢来解释执行。有一些卡上呢如果允许它多,同时处理多个Java程序,那么这就是多道程序设计,也就是我们要支持多个程序之间的一些切换啊一些问,一些处理。那么这个时候多个程序执行还需要一些调度知识,因此当两个或多个程序同时运行的时候呢,对于这样一个智能卡上的资源管理,还有这些程序之间的保护就都成为了一个突出的问题,那么这些问题呢都是需要操作系统来处理解决的。 
  到这儿呢我们就把第一讲操作系统概述介绍完了。那么我们呢大家提一些要求,在学完这一讲之后呢,希望大家能够对本讲的重点有所了解。那么首先呢我们希望大家掌握操作系统的概念,理解操作系统它的不同的作用。然后去理解操作系统的主要特征。另外我们希望大家能够掌握一项重要的操作系统技术,就是 SPOOLing 技术。另外希望大家能够了解操作系统的架构,操作系统的分类。大家在课下呢还要重点阅读教材的相关内容,我们这里给出了,比如说第1章希望大家去读1.1、1.2、1.4。那么第10章也有一些相关内容是10.2.5,这是跟Linux相关的一些内容。还有第11章跟Windows相关的内容11.3.1。重点呢大家要掌握我们提出的这几个概念。一个是操作系统的定义,操作系统的三个作用,操作系统的四个特征:并发、共享、虚拟、随机。我们还要掌握SPOOLing 技术的工作原理以及它的一些用途,还有呢我们要大致了解一下Windows、Linux、UNIX的架构,了解在这些操作系统当中有哪些主要的功能。好,今天我们的课就讲到这儿,谢谢大家。
 
Reference:北京大学陈向群老师操作系统原理课程
Notice:如有侵权,请告知我,我会删除,谢谢!
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!