2024年最全操作系统思维导图---(零基础---思维导图详细版本及知识点)(1),三年老HarmonyOS鸿蒙经验面经

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 第三章 进程并发控制

在这里插入图片描述

1.把并发进程中与共享变量有关的程序段称为“临界区”

2.共享变量所代表的资源称为“临界资源”

3.多个并发进程中涉及相同共享变量的那些程序段称为“相关临界区”

4.若干进程共享某一资源(变量)的相关临界区的管理应满足如下三个要求:
(1)一次最多让一个进程在临界区执行,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。

(2)任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限地逗留在自己的临界区中。

(3)不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区。

5.进程的互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放该资源。

6.信号量:在操作系统中,信号量S是一个整数。当S大于等于零时,代表可供并发进程使用的资源实体数;当S小于零时,则|S|表示正在等待使用资源实体的进程数。建立一个信号量必须说明此信号量所代表的意义并且赋初值。除赋初值外,信号量仅能通过PV操作来访问。

7.信号量按其用途可分为两种:
(1)公用信号量,联系一组并发进程,相关的进程均可在此信号量上进行P操作和V操作,初值常常为1,用于实现进程互斥,也称为互斥信号量。
(2)私有信号量,联系一组并发进程,仅允许拥有此信号量的进程执行P操作,而其他相关进程可在其上施行V操作。初值常常为0或正整数,多用于实现进程同步,也称为资源信号量。

8.我们把不可被中断的过程称为“原语”,于是P操作和V操作实际上是“P操作原语”和“V操作原语”。P、V操作也分别称为Wait()和Signal()操作。

9.用PV操作可实现并发进程的互斥,其步骤为:
(1)设立一个互斥信号量S表示临界区,其取值范围为1,0, -1,…,其中S =1表示无并发进程进入S临界区;S=0表示已有一个并发进程进入S临界区;S等于负数表示已有一个并发进程进入S临界区,且有|S|个进程等待进入S临界区。S的初值为1。
(2)用PV操作表示对S临界区的申请和释放,在进入临界区之前,通过P操作进行申请,在退出临界区之后,通过V操作释放。

10.程是由一个或多个过程、一个初始化序列和局部数据组成的软件模块,其主要特点如下:
( 1)局部数据变量只能被管程的过程访问,任何外部过程都不能访问。
(2)一个进程通过调用管程的一个过程进入管程。
(3)在任何时候,只能有一个进程在管程中执行,调用管程的任何其他进程都被阻塞,以等待管程可用。

11.高级通信机制可归结为三大类:
共享存储器系统
消息传递系统
管道通信系统

12.消息传递系统的通信方式属于高级通信方式。根据实现方式的不同可分为直接传递方式和间接传递方式。

13.管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称为pipe文件。

向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道;而接受管道输出的接收进程(即读进程),可从管道中接收数据。由于发送进程的接收进程是利用管道进行通信的,故又称为管道通信。

14.管道通信机制必须提供以下三方面的协调能力:
( 1)互斥。当一个进程正对pipe进行读/写操作时,另一个进程必须等待。
(2)同步。当写(输入)进程把一定数量数据写满pipe时,应睡眠等待,直到读(输出)进程取走数据后,再把它唤醒。当读进程读一空pipe时,也应睡眠等待,直至写进程将数据写入管道后,才将它唤醒。
(3)判断对方是否存在。只有确定对方已存在时,方能进行通信。

15.直接传递是指发送进程利用操作系统所提供的发送命令直接把消息发送给接收进程,而接收进程则利用接收命令直接从发送进程接收消息。
在直接通信方式下,企图发送或接收消息的每个进程必须指出信件发给谁或从谁那里接收消息

16.send (P,消息):把一个消息发送给进程P。
receive (Q,消息):从进程Q 接收一个消息。
进程P和Q通过执行这两个操作而自动建立了一种联系,并且这种联系仅仅发生在这一对进程之间。

17.在利用信箱通信时,在发送进程和接收进程之间存在着下述的四种关系:
1)一对一关系。即可以为发送进程和接收进程建立一条专用的通信链路。使它们之间的交互不受其他进程的影响。
2)多对一关系。允许提供服务的进程与多个用户进程之间进行交互,也称为客户/服务器交互。
3)一对多关系。允许一个发送进程与多个接收进程进行交互,使发送进程可用广播形式,向接收者发送消息。
4)多对多关系。允许建立一个公用信箱,让多个进程都能向信箱中投递消息,也可从信箱中取走属于自己的消息。


  • 第四章 死锁

在这里插入图片描述
1.为了解决死锁问题,可使用下面几种对策。
(1) 死锁的预防:破坏产生死锁的四个必要条件中的一个或多个,使系统不会进入死锁状态。
(2)死锁的避免:在资源动态分配过程中使用某种算法防止系统进入不安全状态,从而避免死锁的发生。
(3)死锁的检测:通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源,然后,采取适当措施,从系统中将已发生的死锁清除掉。
(4)死锁的解除:撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞态的进程,使之转为就绪态,以继续运行。

2.死锁检测算法
(1)如果能在资源分配图中找出一个既不阻塞又非独立的进程,它在有限的时间内有可能获得所需资源类中的资源继续执行,直到运行结束,再释放其占有的全部资源。
(2)可使资源分配图中另一个进程获得前面进程释放的资源继续执行,直到完成父释放出它所占用的所有资源,相当于又消去了图中若干请求边和分配边。
(3)如此下去,经过一系列简化后,若能消去图中所有边,使所有进程成为孤立节点,则该图是可完全简化的。

3.从死锁中恢复
(1) 撤销进程
解除死锁最直接的方法是终止一个或若干个进程,系统会回收分配给被终止进程的所有资源。在极端情况下,这种方法可能造成除一个死锁进程外,其余的死锁进程全部被撤销。
(2)剥夺资源 
利用剥夺资源的方法处理死锁,需要考虑以下几点:
1)选择剥夺哪些进程的哪些资源。与撤销进程相同,必须确定剥夺顺序确保代价最小化。
2)对被剥夺资源的进程的安排。显然被剥夺资源的进程缺少所需要的资源,不能正常执行。建立检查点,必须将进程回到某个安全状态,以便从该状态重启进程。
3)保证资源不会总是从同一个进程中被剥夺。这就需要确保一个进程只能有限次的剥夺资源,最常用的方法是在代价因素中加上回滚次数。

4.银行家算法
把矩阵A11ocation和Need矩阵中的每一行当中一个向量,针对进程Pi已分配和还需要的向量分别写成A11ocationi和Needi。
设Requesti为进程Pi的请求向量,如果Requesti[j]=k,那么进程Pi申请k个Rj类资源。银行家算法如下。
(1)申请量超过最大需求量时出错,否则转步骤(2)。
(2)当申请量超过当前系统所拥有的可分配量时,挂起进程,该进程处于阻塞态,否则转步骤(3)。
(3)系统对进程Pi请求的资源进行试探性分配,执行
Allocation[i,* ]= Allocation[i, * ]+Requesti[ * ]
Available[ * ]=Available[*]-Requesti[ * ]
Need[i, * ]=Need[i, * ]-Requesti[ * ]

5.死锁产生的根本原因有两个:一是系统中的资源数目不能满足多个并发进程的全部资源需求,各进程竞争资源,如系统对资源分配不合理就会产生死锁,简记为资源竞争:二是并发执行进程间的推进顺序不合理也可能产生死锁,简记为推进顺序非法。

6.系统产生死锁有四个必要条件:互斥条件、占有且等待条件、不抢占条件和环路等待条件。解决死锁的方法有:死锁检测和恢复、避免死锁、预防死锁。死锁的检测和恢复表示对资源的申请和分配不施加任何限制,但必须建立检测机制,周期性地检测是否发生死锁,如果检测发现死锁则采取措施恢复死锁。

7.活锁和饥饿是同死锁非常相似的问题,但在技术上不同,活锁包含的是实际并没有被锁住的进程,而饥饿可以通过先来先服务的分配策略来避免。

8.死锁的避免采用动态分析和检测新的资源请求和资源的分配情况,以确保系统始终处于安全状态,其中最著名的算法是银行家算法。死锁的预防包括一切都是用假脱机技术(破坏互斥条件),资源一次性分配(破坏占有且等待条件);抢占资源(破坏不抢占条件);资源有序分配法(破坏环路等待条件)。


  • 第五章 内存管理

在这里插入图片描述

1.虚拟内存:中心思想是将物理主存扩大到便宜、大容量的磁盘上,即将磁盘空间看做主存空间的一部分。
用户程序存放在磁盘上就相当于存放在主存内。用户程序既可以完全存放在主存,也可以完全存放在磁盘上,当然也可以部分存放在主存、部分存放在磁盘。而在程序执行时,程序发出的地址到底是在主存还是在磁盘则由操作系统的内存管理模块负责判断,并到相应的地方进行读写操作。

2.固定地址的内存管理其缺点也很明显:
(1)整个程序要加载到内存空间中去。这样将导致比物理内存大的程序无法运行。
(2)只运行一个程序造成资源浪费。如果一个程序很小,虽然所用内存空间小,但剩下的内存空间也无法使用。
(3)可能无法在不同的操作系统下运行,因为不同操作系统占用的内存空间大小可能不一样,使得用户程序的起始地址可能不一样。这样在一个系统环境下编译出来的程序很可能无法在另一个系统环境下执行。

3.固定分区的管理就是将内存分为固定的几个区域,每个区域的大小固定。最下面的分区为操作系统占用,其他分区由用户程序使用。这些分区大小可以一样,也可以不一样。考虑到程序大小不一的实际情况,分区的大小通常也各不相同。当需要加载程序时,选择一个当前闲置且容量够大的分区进行加载

4.地址翻译:物理地址=虚拟地址+程序所在区域的起始地址

5.位图表示和链表表示的比较:
位图表示和链表表示各有优缺点。

(1)如果程序数量很少,那么链表比较好,因为链表的表项数量少。位图表示法的空间成本是固定的,它不依赖于内存中程序的数量。因此,从空间成本上分析,到底使用哪种表示法得看链表表示后的空间成本是大于位图表示还是小于位图表示而定。

(2)从可靠性上看,位图表示法没有容错能力。如果一个分配单元为1,你并不能肯定它应该为1,还是因为错误变成1的,因为链表有被占空间和闲置空间的表项,可以相互验证,具有一定的容错能力。

(3)从时间成本上,位图表示法在修改分配单元状态时,操作很简单,直接修改其位图值即可,而链表表示法则需要对前后空间进行检查以便做出相应的合并。例如,在图4-18所示的情况下,如果程序中间的那个程序(占用位置从11开始,长度为4)终止,则链表将如图4-19所示。如果是最前面的程序终止,则链表将如图4-20所示。

6.分区分配算法
(1)首次适应算法FF。 空闲分区按地址递增顺序排列,
找符合要求的第一分区。
(2) 循环首次适应算法,该算法是由首次适应算法演变而成的。
(3)最佳适应算法。空闲分区按大小递增顺序排列,
找符合要求的第一分区。
(4)最坏适应算法。空闲分区按大小递减顺序排列,
找符合要求的第一分区。
(5) 快速适应算法(quick fit)
该算法又称为分类搜索法,是将空闲分区根据其容量大小进行分类,对于每一类具有相同容量的所有空闲分区,单独设立一个空闲分区链表,这样,系统中存在多个空闲分区链表,同时在内存中设立一张管理索引表,该表的每一个表项对应了一种空闲分区类型,并记录了该类型空闲分区链表表头的指针。

7.存储管理的基本功能有:主存空间的分配与回收、地址转换、主存空间的共享与保护、主存空间的扩充。

8.在多道程序设计系统中,为了方便程序编制,用户程序中使用的地址是逻辑地址,而CPU则是按物理地址访问主存、读取指令和数据。为了保证程序的正确执行,需要进行地址转换。地址转换又称为重定位,有静态重定位和动态重定位。采用动态重定位的系统支持程序的浮动。

9.现代操作系统支持多道程序设计,满足多道程序设计最简单的存储管理技术是分区管理,有固定分区管理和可变分区管理。分区管理中,当主存空间不足时,交换技术和覆盖技术可以达到扩充主存的目的。


  • 第六章 页式和段式内存管理

在这里插入图片描述

1.在分页内存管理系统中,允许将进程的各页离散地装入内存的任何空闲物理块中,这样就出现了进程页号连续,而物理块号不连续的情况。为了找到每个页面在内存中对应的物理块,系统为每个进程建立了一张页面映射表,简称页表。

2.进程的所有页面依次在页表中有一个页表项,记载着相应页面在内存中对应的物理块号。当进程执行时,按照逻辑地址中的页号在页表中查找对应的页表项,找到该页号在内存中对应的物理块号。

3.页表的作用就是实现页号到物理块号的地址映射,即逻辑地址到物理地址的映射。

4.采用分页内存管理技术不会产生外部碎片,但是可能产生内部碎片。由于分页内存管理系统的内存分配是以物理块为单位进行的,如果进程要求的内存不是页大小的整数倍,那么,最后一个物理块就用不完,从而导致页内碎片的出现。

5.分页系统的另一个优点是可以共享共同的代码,这一点对分时系统特别重要。

6.快表:为了提高从逻辑地址向物理地址转换过程中地址的变换速度,可在地址变换机构中增设一个具有并行查询能力的特殊高速缓冲存储器,又称为“联想寄存器”(Associative Memory)或称为“快表”。在IBM系统中称为TLB(Translation Lookaside Buffer),存放当前访问的那些页表项。

7.具有快表的地址变换步骤如下:
(1)在CPU给出有效地址后,地址变换机构自动将页号P送入高速缓冲寄存器中,并将此页号与高速缓存中的所有页号进行比较。
(2)如果其中有与此页号匹配的,便表示所要访问的页表项在快表中。
(3)直接从快表中读出该页号所对应的物理块号,并送到物理地址寄存器中。
(4)如果在快表中未找到相同的页表号,则必须再访问内存中的页表,从页表中找到该页号所对应的页表项后,把从页表项中读出的物理块号送入地址寄存器。
(5)同时,将此页号所对应的页表项存入快表中,即重新修改快表。

8.内存抖动
抖动产生的原因:
当主存空间已经装满,而又需要转入新的页面时,必须按照一定的算法把已经在内存中的一些页面调出,这个工作称为页面替换。因此,页面更新算法就是用来确定应该淘汰哪些页面的算法,也称为淘汰算法。

9.防止抖动的方法
防止抖动发生或者限制抖动影响有多种方法。由于抖动产生的原因,这些方法都是基于调节多道程序的度。
(1)采用局部置换策略。
(2)挂起某些进程。
当出现CPU利用率很低而磁盘I/O非常频繁的情况时,可能因为多道程序度太高而造成抖动。为此,可以挂起一个或几个进程,腾出内存空间供抖动进程使用,从而消除抖动现象。被挂起进程的选择策略有多种,如选择优先权最低的进程、缺页进程、最近激活的进程、驻留集最小的进程、最大的进程。
(3)采用缺页频度法。
抖动发生时,缺页率必然很高,因此可以通过控制缺页率来预防抖动。如果缺页率太高,表明进程需要更多的内存物理块;如果缺页率很低,表明进程可能占用了太多的内存物理块。这里规定一个缺页率,依次设置相应的上限和下限。如果实际缺页率超出上限值,就为该进程分配另外的内存物理块;如果实际缺页率低于下限值,就从该进程的驻留集中取走一个内存物理块。通过直接测量和控制缺页率,可以避免抖动。

10.段式内存管理的基本思想是:把程序按内容或过程(函数)关系分成段,每个段都有自己的名称。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址映射机制把段式虚拟地址转换成实际的内存物理地址。

11.分段内存管理系统中以段为单位分配内存,每段分配一个连续的内存区。由于各段长度不等,所以这些存储区大小不等。此外,同一进程包含的各段之间不要求连续。分段内存管理的内存分配与释放在作业或进程的执行过程中动态进行。首先,分段内存管理程序为一个进入内存准备执行的进程或作业分配部分内存,以作为该进程的工作区和放置即将执行的程序段。随着进程的执行,进程根据需要随时申请调入新段和释放旧段。

12.分页与分段管理的主要区别
(1)页是信息的物理单位,段是信息的逻辑单位。
(2)页的大小是由系统确定的,而段的长度是由用户程序确定的。
(3)分页的进程地址空间是一维的,即单一的线性空间;而分段的进程地址空间是二维的,由段号和段内地址两部分组成。

14.在段页式内存管理系统中,要对内存中的指令或数据进行一次存取,至少需要三次以上访问内存:
第一次访问内存:由段表地址寄存器得到段表的起始地址,从而访问段表,由此取出对应段的页表起始地址;
第二次访问内存:根据页表的起始地址访问页表,得到所要访问的物理地址;
第三次访问内存:根据得到的物理地址,访问内存中真正的物理单元。

15.虚拟内存
(1)常规存储器管理方式的特征
①一次性:作业全部装入内存后才能开始运行。
②驻留性:作业装入内存后,便一直驻留在内存中,直至作业运行结束。
(2)局部性原理
程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。

19.局部性原理又表现为:时间局部性和空间局部性。
①时间局部性
现象:如果程序中某条指令一旦执行,则不久后该指令可能再次执行;如果某数据被访问过,则不久后该数据可能再次被访问。
原因:程序中存在大量的循环操作。

20.虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
虚拟存储器的逻辑容量是内存容量和外存容量之和,最大容量由计算机的地址结构决定。虚拟存储器的运行速度接近内存,成本接近外存。


  • 第七章 I/O管理

在这里插入图片描述

1.设备控制器是连接I/O设备和主机的中间接口,用来控制I/O和主机之间的数据交换。设备控制器可以接收主机发来的命令,从而控制外围设备,避免了主机直接处理繁杂的外围设备事务。

2.设备控制器一般包括控制器与主机的接口、控制器和设备的接口和控制器本身的I/O部分组成。控制器和主机的数据交换主要是通过数据线、地线和数据线相连。控制器中包含控制寄存器、状态寄存器和数据寄存器三类寄存器,用来存储需要完成的通信类型,I/O设备的状态和通信传输的数据。

3.I/O通道是一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。

4.按通道的工作方式,通道分为选择通道、字节多路通道和数组多路通道三种类型。

5.操作系统的I/O控制方式是指操作系统控制I/O设备执行I/O操作的方式,主要有程序直接控制方式、中断方式、DMA方式和通道控制方式。

6.缓冲的作用:
(1)解决基本数据单元大小(即数据粒度)不匹配的问题。
(2)提高CPU和I/O设备之间的并行性。

7.单缓冲:在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区,然后需要数据的设备或处理机从缓冲区取走数据。

8.双缓冲:I/O设备输入数据时先装填到缓冲区1,在缓冲区1填满后才开始装填缓冲区2,与此同时处理机可以从缓冲区1中取出数据放入用户进程处理,当缓冲区1中的数据处理完后,若缓冲区2已填满,则处理机又从缓冲区2中取出数据放入用户进程处理,而I/O设备又可以装填缓冲区1。双缓冲机制提高了处理机和输入设备的并行操作的程度。

9.多缓冲:多缓冲区包含多个大小相等的缓冲区,每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,多个缓冲区构成一个环形。循环缓冲用于输入/输出时,还需要有两个指针in和out。

10.独占设备的分配

在这里插入图片描述

11.独占设备分配
表格有设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系统设备表(SDT)

12.SPOOLing技术
SPOOLing系统主要有以下三部分:
输入井和输出井。
输入缓冲区和输出缓冲区。
输入进程SPi和输出进程SPo。

13.SPOOLing系统具有如下主要特点:
(1)提高了I/O的速度。
(2)将独占设备改造为共享设备。
(3)实现了虚拟设备功能。


  • 第八章 文件管理

在这里插入图片描述

1.文件(File)是操作系统中的一个重要概念。 文件可以有如下定义:
(1) 文件是软件机构,软件资源的管理方式;
(2) 具有符号名的一组相关元素的有序序列,是一段程序或数据的集合;
(3) 一组赋名的相关联字符流的集合,或者是相关记录。而记录是有意义的信息集合。

2.文件的功能
(1)统一管理文件存储空间(即外存),实施存储空间的分配与回收
(2)确定文件信息的存放位置及存放形式
(3)实现文件从名字空间到外存地址空间的映射,实现文件的按名存取。
(4)有效实现对文件的各种控制操作和存取操作。
(5)实现文件信息的共享,并且提供可靠的文件保密和保护措施。

3.文件目录:一个计算机系统中有成千上万个文件,为了便于对文件进行存取和管理,计算机系统建立文件的索引,即文件名和文件物理位置之间的映射关系,这种文件的索引称为文件目录。

4.文件目录(file directory)为每个文件设立一个表目。
文件目录(或称为文件夹)是由文件目录项组成的。文件目录分为一级目录、二级目录和多级目录。

5.文件分配的存储空间是辅存中的空闲空间,辅存中的空闲空间应该由操作系统统一进行管理,常用的方法主要有空闲表法、空闲链表法、位示图法和成组链接法。

PS:以上内容非作者允许,禁止转载或者抄袭

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

系统统一进行管理,常用的方法主要有空闲表法、空闲链表法、位示图法和成组链接法。

PS:以上内容非作者允许,禁止转载或者抄袭

[外链图片转存中…(img-xpSyP06x-1715702985826)]
[外链图片转存中…(img-ZtTw0zsm-1715702985827)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 26
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值