当前位置: 首页 > article >正文

1.1.1+1.1.3 操作系统的概念、功能

首先来看一下大家熟悉的操作系统都有哪些苹果电脑使用的操作系统是MacOS苹果的手机使用的操作系统是IOS但是对于我自己来说还是比较喜欢安卓和Windows操作系统。对于普通老百姓来说可能百分之九十九的人都在使用这几种操作系统对于技术专业的同学来说Linux操作系统也是我们必须学习、使用的一个操作系统。另外现在可能还会有一些野人还在使用诺基亚的塞班sumbian系统。在这个小节中只介绍操作系统的一些最基础的概念和定义并且会结合一些例子来加深理解。操作系统的概念和定义要回答的就是什么是操作系统它的功能和目标要回答的是操作系统需要做什么。首先来看第一个部分内容操作系统的概念和定义。结合生活经验看一下操作系统在整个计算机体系当中所处的位置和角色来看一下电脑是怎么样一步一步变成现在看到的样子的。第一步厂家会把CPU、主板等等一系列的硬件组装成一台裸机所谓的裸机就是只有硬件的机器不包含操作系统但是在这个机器出售之前厂家会在裸机的基础之上安装一个操作系统比如说最常用的就是Windows的操作系统当买到这个电脑之后就可以在操作系统之上来安装一些想要使用的应用程序比如说QQ之后我们作为用户就可以来使用这些应用程序了。所以根据一台电脑的诞生过程就可以看出计算机系统的层次结构最底层的当然是纯硬件又称之为裸机在裸机上面会安装一层操作系统而基于操作系统又可以安装一系列的应用软件用户是处于最上面一层细心的同学可能会发现用户和操作系统的边界是有一些相连的部分应用程序和操作系统也会有一些相连的部分这个问题一会进行进一步的解释。在了解操作系统在整个计算机系统当中所处的位置之后来给出操作系统的定义。这是王道书上给出的定义操作系统是指控制和管理整个计算机系统的硬件和软件资源并合理地组织调度计算机的工作和资源的分配其实这句话想表达的无非就是操作系统是系统资源的一个管理者系统资源包含了硬件和软件资源。来看一个直观的例子如果大家使用的是Windows操作系统的话可以用上图这种方式来打开任务管理器然后在任务管理器界面就可以看到现在系统当中正在运行的进程有哪些所谓的进程其实就是正在运行的软件、正在运行的程序比如说大家熟悉的QQ、Google Chrome等等左边可以看到操作系统在对软件资源进行管理再看右边界面可以看到操作系统对CPU、内存等等这一系列硬件资源的使用情况也是在监控的比如说现在QQ这个进程它使用了138.9兆字节的内存空间所以从右半部分的界面来看操作系统它肯定是在对硬件进行管理的。因此操作系统它作为软件和硬件中间的一个层次它是系统资源的管理者既管理了软件资源也管理了硬件资源。再来看第二句话操作系统它要提供给用户和其他软件方便的接口和环境其实这句话想表达的就是操作系统它要向上层提供方便易用的服务上层包括用户和普通的应用程序再来看第三句话操作系统是计算机系统当中最基本的系统软件也就是说操作系统它其实是一种软件而不是硬件但是从最右边图当中也可以看到操作系统是最接近硬件的一层软件接下来对操作系统的圈1到圈3三个功能进行进一步的细分和分析让大家更形象的体会操作系统的作用。首先要看的是操作系统它作为软件和硬件中间的层次它是系统资源的管理者用大家使用QQ和朋友视频聊天的例子帮助理解它作为系统资源的管理者要做什么事情。首先我们肯定是需要在文件夹当中找到QQ的安装位置比如说像我的电脑当中我的QQ就是安装在了D盘的一系列的路径下面所以当找到QQ的这个启动程序之后就可以双击打开QQ.exe当双击之后QQ程序就可以正常的运行然后就可以用QQ和朋友进行视频聊天了。在这个过程当中可以看到第一步是通过一层一层的文件夹、目录来找到了QQ启动程序除了这个文件之外系统当中还有各式各样的其他的文件这些文件的组织和管理是操作系统在帮我们完成的所以这就涉及到了操作系统它作为系统资源的管理者所要提供的一个功能叫做文件管理的功能。第二步当我们双击QQ.exe的时候程序就可以开始正常的运行在这个地方需要补充一个知识点就是我们的一个程序在执行之前是需要把这个程序的数据放到内存里的所以在双击打开QQ.exe的时候在背后操作系统帮我们做了一个很重要的事情就是把这个程序的数据从我们的磁盘放入了内存当中并且这些数据要放到内存中的什么位置这些都是操作系统在帮我们完成的所以这一步就涉及到了操作系统所要提供的第二个功能叫做存储器管理或者叫主存管理、内存管理当QQ程序运行的过程当中是需要被处理机也就是CPU进行处理的什么时候给QQ程序分配处理机资源这个事情是操作系统在背后替我们完成的。因此这就涉及到了第三个功能叫做处理机管理而第四步我们开始使用QQ程序和朋友视频聊天在视频聊天的过程当中肯定需要把摄像头这个设备分配给QQ程序使用因此像摄像头这一类设备资源也是要由操作系统替我们管理由操作系统来决定应该要把设备分配给哪个程序使用所以这就涉及到了操作系统要提供的第四个功能叫做设备管理。王道书的第二章讲的就是处理机管理而第三章讲的是存储器管理第四章讲的是文件管理第五章讲的是设备管理。所以操作系统这门课在后期要重点学习的就是它作为系统资源的管理者要如何设计和实现处理机管理、存储器管理、文件管理、设备管理这些功能。对于各个部分的理解大家会随着之后的学习不断的深入这就暂且不展开在这个地方大家只需要建立一个全局观就可以。这是第一部分操作系统它作为系统资源的管理者所需要实现的一些事情。第二部分来看一下操作系统它要向上层提供方便易用的服务这是什么意思呢通过刚才的分析我们知道计算机的最底层其实是裸机也就是纯硬件最底层的这些硬件其实它只能听得懂二进制指令也就是机器语言就是说如果要直接和这些硬件打交道的话只能通过二进制的语言和这些硬件进行交互所以我们说最底层的这些硬件它对外暴露的其实是一些丑陋的、不友好的交互接口正常的人类很难和这些纯硬件直接来打交道但是在硬件之上安装的操作系统会向它的上层提供一种更美丽、更友好的交互接口在安装了操作系统之后我们的用户和应用程序不需要直接和硬件打交道只需要告诉操作系统我们想要得到的服务就可以而操作系统会把用户的这些命令需求翻译成二进制来告诉硬件然后由硬件来执行我们想要的这些操作这其实是一个很典型的封装的思想操作系统把一些丑陋的硬件功能封装成了一些简单易用的服务使用户能够更方便的使用计算机。上层的用户不需要再关心底层的硬件细节而只需要用更简单的方式对操作系统发出命令就可以比如“小姐姐我需要A服务”剩下的操作系统会替我们来完成。其实这种封装思想在我们日常生活中也经常被使用比如说我们的汽车如果把它拆解了的话会发现它里面有很多很复杂的构件但是汽车设计师们会把这些底层复杂的构件隐藏起来封装成一个简单易用的接口对用户暴露出的就只有方向盘、刹车、油门这些用户能够理解的简单易用的接口但是用户不需要再关心它底层到底是怎么实现转向、加速、减速这些功能的所以其实操作系统做的事情本质上和这种封装没有任何的区别。接下来看一下操作系统屏蔽了底层硬件细节之后对上层提供了哪些方便易用的服务呢首先来看一个我们最熟悉的操作系统提供的服务叫做GUI又叫图形化用户接口用户可以使用上图这些形象的图形界面来对整个系统进行操作比如说在Windows操作系统当中如果我们要删除一个文件的话只需要把文件拖拽到回收站即可这种操作方式对于用户来说是很形象、很容易理解的但是在这样一个简单的拖拽动作之后操作系统其实在背后做了很多的事情。现代的操作系统一般都会对上层用户提供图形化的用户接口。不过一些早期的操作系统并没有这种图形化界面的早期的操作系统都是让用户通过命令接口的方式和操作系统进行交互也就是用命令行的方式和操作系统进行交互命令接口又分为两种一种是联机命令接口一种是脱机命令接口。先来看第一种联机命令接口它又叫交互式的命令接口。来看一个直观的例子如果使用的是Windows操作系统的话可以用上图的方式来打开命令解释器也就是平时经常会看到的小黑框然后我们可以在命令解释器当中输入一个命令叫做time输入time这个命令之后操作系统会告诉我们当前的时间是几点几分接下来操作系统又会让用户输入一个新的时间也就是说想把系统时间调到几点几分几秒像time命令就是一个很典型的交互式的命令也就是用户说一句系统会跟着做一句接下来用户需要再说一句然后系统才会跟着再做一句整个过程用户和操作系统是在不断的交互的。除了time命令之外还有很多别的用于和操作系统交互的命令由这些命令组成了所谓的交互式的命令接口或者叫联机命令接口。第二种命令接口叫做脱机命令接口又叫批处理命令接口。还是以Windows操作系统为例我们可以在C盘当中搜索以.bat作为后缀的文件然后随便打开其中的一个文件可以看到里面有密密麻麻的一系列的命令但别看它复杂本质上和刚才所看到的time命令没有任何区别只不过是把这一系列的命令罗列在了这样一个清单里然后当执行.bat文件的时候操作系统就是根据这个文件当中的这些命令一条一条的往后执行也就是说我们使用这种脱机命令接口或者叫批处理命令接口和操作系统进行交互的话我们是一次提出一堆的请求然后操作系统会根据我们的指示一条一条的执行这一堆的请求所以这也是为什么这种命令接口称作为批处理命令接口的原因。这就是操作系统对上层提供的两种命令接口。刚才提到的三种接口GUI、联机命令接口和脱机命令接口都是可以让普通用户直接使用的。操作系统还有一种对外提供的接口叫做程序接口这种接口是给程序员使用的可以在我们写的程序当中通过系统调用的方式来使用程序接口注意普通用户是不能直接使用程序接口的我们只能通过编写程序代码的方式来间接的使用程序接口。我们用一个例子来帮助大家加深理解什么叫系统调用什么叫程序接口。在我们写C语言的Hello world程序的时候我们会使用到printf这个函数然后在执行这个程序的时候会在我们的电脑屏幕上打印出Hello world这两个单词。虽然我们只是简单的调用了printf函数但是这个函数在底层实现的时候肯定是使用到了操作系统提供的和显示相关的系统调用的功能也就说普通程序员使用了C语言提供的库函数也就是printf这个函数而这个库函数在底层实现的时候是使用了操作系统提供的系统调用的功能而操作系统在收到系统调用相关的请求之后才会替我们去操作这个硬件也就是显示器并且在显示器上面显示出Hello world这两个单词。所以系统调用很类似于函数调用很多操作系统当中都提供了上百种的系统调用由这些系统调用组成了程序接口应用程序请求操作系统服务的唯一方式就是通过系统调用的方式。这个地方有一个小细节有的教材当中系统调用又会被称为广义指令所以这个术语大家也稍微注意一下。这个部分我们讲了很多内容操作系统向上层提供了很多方便易用的服务有的接口是直接给用户使用的比如说GUI和命令接口而有的接口是给软件或者说给程序员使用的比如说程序接口讲到这里我们就可以理解为什么用户和操作系统中间有一段相接的部分了因为用户通过GUI和命令接口这些方式直接的和操作系统进行交互而应用程序需要通过系统调用的方式也就是通过程序接口来和操作系统进行交互。联机命令接口和脱机命令接口的区别大家也需要注意有可能在选择题当中进行考察联机命令接口或者叫交互式命令接口是用户说一句系统做一句而脱机命令接口或者叫批处理命令接口是用户说一堆然后系统跟着做一堆。在有的教材当中会把命令接口和程序接口统称为用户接口也就是说狭义的用户接口不包含GUI这点大家稍微注意一下。接下来看这个小节最后一个内容。操作系统它作为最接近硬件的层次所需要做的事情就是要实现对硬件机器的拓展如果一个计算机当中没有任何的软件支持这种计算机就称之为裸机如果在裸机上安装了操作系统的话就可以把裸机改造成功能更强、使用更方便的机器我们会把覆盖软件的这种机器称为扩充机器或者称为虚拟机当然这些只是一些无关紧要的概念。对于我们来说更重要的事情是要理解为什么操作系统可以实现对硬件机器的拓展。为了理解这个特点还是用刚才汽车的例子来进行类比。比如说汽车当中原本只有一些零碎的硬件比如发动机它只有一个功能就是会转轮胎它也只有一个功能就是会滚但是如果我们在这种原始的硬件机器上再覆盖上一层传动系统的话我们就可以让发动机来带动着轮子转这样的话汽车就可以开始往前行走了。所以增加了这样系统之后以前的简单的硬件机器就得到了功能上的拓展。而我们的操作系统对硬件机器的拓展也是类似的操作系统把CPU、内存等等这一系列的硬件合理的组织起来并且让这些硬件能够相互协调配合着工作这样的话这些简单的硬件就可以组合起来实现更多、更复杂的功能所以说操作系统实现了对硬件机器功能的拓展使单纯的硬件功能更强、使用更方便。在这个小节当中用了很多例子帮助大家感性的认识什么是操作系统操作系统需要实现什么样的功能。操作系统这门课最关注的是它作为系统资源的管理者所需要实现的处理机管理、存储器管理、文件管理、设备管理这些功能。这些功能应该怎么实现、怎么设计是我们之后的课程当中会重点详细讲解的这个小节当中有可能会作为选择题进行考察的是操作系统对上层提供了哪些服务。大家要理解什么是GUI什么是命令接口联机命令接口和脱机命令接口的区别是什么。另外由一系列的系统调用组成了程序接口系统调用这个概念会在后面专门用一个小节进行更进一步的分析和讲解。以上就是这个小节的全部内容。

相关文章:

1.1.1+1.1.3 操作系统的概念、功能

首先来看一下大家熟悉的操作系统都有哪些,苹果电脑使用的操作系统是MacOS,苹果的手机使用的操作系统是IOS,但是对于我自己来说,还是比较喜欢安卓和Windows操作系统。对于普通老百姓来说,可能百分之九十九的人都在使用这…...

3分钟打造专业简历:Magic Resume完全指南

3分钟打造专业简历:Magic Resume完全指南 【免费下载链接】magic-resume free online AI resume editor 项目地址: https://gitcode.com/GitHub_Trending/ma/magic-resume 还在为制作简历而烦恼吗?传统简历编辑器要么功能简陋,要么操作…...

告别原生界面:威联通QNAP Docker安装Transmission并升级Web控制台

威联通QNAP Docker部署Transmission全攻略:从基础配置到Web控制台升级 威联通QNAP作为一款功能强大的网络存储设备,其Docker支持能力为用户提供了极大的扩展性。本文将详细介绍如何在QNAP上通过Container Station部署Transmission这一轻量级BT客户端&…...

Lychee多模态重排序模型实战:使用curl/API调用方式集成至现有检索系统

Lychee多模态重排序模型实战:使用curl/API调用方式集成至现有检索系统 1. 引言:为什么需要多模态重排序? 在现代信息检索系统中,用户的需求越来越复杂。传统的文本检索已经无法满足用户对图片、视频等多模态内容的需求。想象一下…...

专业Git工作流优化:Tower在macOS平台上的深度实践指南

专业Git工作流优化:Tower在macOS平台上的深度实践指南 【免费下载链接】awesome-macOS  A curated list of awesome applications, softwares, tools and shiny things for macOS. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-macOS 在mac…...

android下nfc使用

最近在使用nfc功能,总结一下一、安卓打开ap有两种方法,一种使用createApplicationRecord()方法,一种使用createExternal()方法。二、如果想不仅打开app,还要传递参数,createExternal()只用一条记录即可,cre…...

金三银四求职攻略|校招社招双线突围,短期上岸+长期成长一步到位

金三银四求职攻略|校招 & 社招双线突围,短期上岸 长期成长一步到位 年后求职黄金窗口已开启,金三银四从来不是盲目投递的狂欢,而是精准规划的战场。 校招生拼潜力、社招人拼战力,两类人群需求截然不同、打法更需…...

最少拍控制器的3个致命缺陷:为什么你的实验总达不到理想波形?

最少拍控制器的3个致命缺陷:为什么你的实验总达不到理想波形? 在计算机控制技术的实验教学中,最少拍控制器(Deadbeat Controller)常被视为快速响应系统的理想解决方案。理论上,它能在有限采样周期内使系统输…...

如何快速掌握Python HTTP客户端urllib3:面向新手的完整教程指南

如何快速掌握Python HTTP客户端urllib3:面向新手的完整教程指南 【免费下载链接】urllib3 urllib3 is a user-friendly HTTP client library for Python 项目地址: https://gitcode.com/gh_mirrors/ur/urllib3 在Python的世界里,HTTP请求处理是每…...

GME-Qwen2-VL-2B-Instruct辅助操作系统概念学习:图解进程、线程与内存管理

GME-Qwen2-VL-2B-Instruct辅助操作系统概念学习:图解进程、线程与内存管理 操作系统这门课,是不是让你又爱又恨?爱的是它作为计算机的“大管家”,逻辑严密,体系完整;恨的是那些进程、线程、内存、调度&…...

2025技术解析:从原理到落地的AuraSR全流程实践

2025技术解析:从原理到落地的AuraSR全流程实践 【免费下载链接】AuraSR 项目地址: https://ai.gitcode.com/hf_mirrors/fal/AuraSR 在数字图像应用中,如何在有限硬件资源下实现高质量图像超分辨率重建一直是行业难题。当我们需要将低分辨率图像放…...

人脸识别模型镜像实测:Retinaface+CurricularFace快速部署,效果超预期

人脸识别模型镜像实测:RetinafaceCurricularFace快速部署,效果超预期 1. 开箱即用的人脸识别解决方案 最近在测试各种人脸识别方案时,我偶然发现了CSDN星图平台上的RetinafaceCurricularFace镜像。这个预置环境让我眼前一亮——它不仅包含了…...

深入解析MachOView:macOS开发者必备的二进制分析神器

深入解析MachOView:macOS开发者必备的二进制分析神器 【免费下载链接】MachOView MachOView fork 项目地址: https://gitcode.com/gh_mirrors/ma/MachOView 在macOS和iOS开发领域,MachOView二进制分析工具是每一位专业开发者都必须掌握的核心工具…...

旧物新生:用魅蓝Note5 root后搭建家用Linux服务器(部署宝塔/AList/QB)

廉颇老矣,尚能饭否?我手上有两条魅蓝Note5,一个改了直供电没有屏幕,一个屏幕爆裂,控制位置只有四分之一屏幕。,卡顿难忍,但它那颗64位ARM处理器和大电池,其实正是一台天然的、低功耗…...

【CLion+Keil】无缝迁移:在CLion中高效开发与管理Keil工程

1. 为什么要在CLion中开发Keil工程? 作为一名嵌入式开发者,我经常遇到这样的困扰:团队其他成员使用Keil MDK开发STM32项目,而我想用CLion这个更现代的IDE。Keil虽然稳定可靠,但代码补全、重构、调试等功能确实不如CLio…...

避坑指南:LoadRunner11破解版常见安装错误及解决方案

LoadRunner11非官方版本安装全流程避坑手册 写在前面:工具选择的风险与替代方案 在性能测试领域,LoadRunner曾是行业标杆工具,但官方已停止对11版本的技术支持。许多技术团队由于历史项目兼容性或预算限制,仍在尝试使用非官方渠道…...

ThingsBoard CE租户权限精细化控制:从管理员到普通用户的权限分配实战

1. ThingsBoard CE租户权限体系解析 第一次接触ThingsBoard权限系统时,我也被各种角色搞得晕头转向。经过三个项目的实战踩坑,终于摸清了这套权限体系的精髓。简单来说,ThingsBoard CE社区版的权限架构就像一家公司的组织架构:系统…...

避坑指南:CentOS离线安装Maven常见报错解决方案(含SHA校验)

企业级CentOS离线安装Maven全流程避坑手册 在金融、军工等对网络隔离要求严格的行业环境中,开发团队常面临无法直接联网安装工具的困境。上周某银行项目组就遇到这样的场景:内网服务器需要部署Maven构建环境,但安全策略禁止任何外网连接。技术…...

终极Go语言正则表达式指南:从入门到精通的模式匹配技巧

终极Go语言正则表达式指南:从入门到精通的模式匹配技巧 【免费下载链接】go The Go programming language 项目地址: https://gitcode.com/GitHub_Trending/go/go Go语言作为一门高效、简洁的编程语言,其标准库中的正则表达式包为开发者提供了强大…...

新装Win10必看:如何绕过BitLocker自动激活?保姆级避坑指南

新装Win10系统如何规避BitLocker自动激活:技术流解决方案全解析 每次新装Windows 10系统时,不少用户都会遇到一个令人困扰的问题——BitLocker自动激活的提示。那个黄色的小锁图标不仅影响视觉体验,更可能在不经意间触发全盘加密,…...

什么是WAF防火墙,WAF防火墙都有哪些功能

WAF都有哪些分类 WAF从形态上可分为硬件WAF、WAF防护软件和云WAF。 硬件WAF通常串行部署在Web服务器前端,用于检测、阻断异常流量。通过代理技术代理来自外部的流量,并对请求包进行解析,通过安全规则库的攻击规则进行匹配,如成功…...

机器人表征与人类对齐:从ROS基础到具身智能大模型

引言在机器人领域中,始终存在一个核心难题:如何让机器人理解人类意图,并将其转化为自己的动作?这个问题贯穿了机器人发展的各个阶段——从早期的示教再现,到经典的ROS控制框架,再到今天的具身智能大模型。无…...

人工智能气象学入门:从卷积神经网络理解伏羲模型预报原理

人工智能气象学入门:从卷积神经网络理解伏羲模型预报原理 天气预报这事儿,咱们都熟悉。小时候看《新闻联播》后的天气预报,觉得挺神奇。后来知道,那是靠超级计算机跑“数值预报”算出来的,过程复杂,耗时也…...

Dify评估结果不可复现?资深架构师首次公开内部trace日志解析工具链与12类随机性锚点固化方案

第一章:Dify自动化评估系统不可复现性问题的本质剖析Dify 的自动化评估系统在实际落地过程中频繁遭遇结果不可复现的困境,其根源并非单一配置失误或随机种子遗漏,而是多层耦合因素共同作用下的系统性缺陷。核心矛盾在于评估流程中隐式状态依赖…...

Ubuntu20.04下ORB-SLAM3复现全流程:从环境配置到避坑指南(附Opencv4.2.0/Eigen3.3.7适配方案)

Ubuntu 20.04下ORB-SLAM3完整复现指南:从环境配置到实战调试 在视觉SLAM领域,ORB-SLAM3作为当前最先进的开源方案之一,其复现过程往往成为研究者进入这一领域的"敲门砖"。不同于简单的算法调用,完整的ORB-SLAM3复现涉及…...

如何突破性掌握阴阳师自动化脚本:从新手到专家的完整成长路径

如何突破性掌握阴阳师自动化脚本:从新手到专家的完整成长路径 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动化脚本是一款革命性的游戏辅助工具&#xff…...

告别重复劳动:用快马ai生成vmware运维自动化脚本,效率提升十倍

在VMware的日常运维工作中,我们经常会遇到一些重复性高、操作繁琐的任务。比如,每周一早上需要手动开启几十台测试环境的虚拟机;或者要定期检查资源使用情况,生怕某个集群负载过高导致业务中断;还有那些早已下线但还占…...

高薪大模型NLP开发人才紧缺_2026打算转行AI大模型算法工程师,前景怎么样?

从ChatGPT到新近的GPT-4,GPT模型的发展表明,AI正在向着“类⼈化”⽅向迅速发展。 GPT-4具备深度阅读和识图能⼒,能够出⾊地通过专业考试并完成复杂指令,向⼈类引以为傲的“创造⼒”发起挑战。 现有的就业结构即将发⽣重⼤变化&…...

李慕婉-仙逆-造相Z-Turbo开发环境配置:Anaconda虚拟环境与依赖管理详解

李慕婉-仙逆-造相Z-Turbo开发环境配置:Anaconda虚拟环境与依赖管理详解 想试试最近挺火的“李慕婉-仙逆-造相Z-Turbo”模型,自己生成点有意思的图片,结果第一步就被环境配置给卡住了?Python版本不对、库冲突报错、依赖装不上…这…...

如何轻松备份Discord聊天记录:DiscordChatExporter完全使用指南

如何轻松备份Discord聊天记录:DiscordChatExporter完全使用指南 【免费下载链接】DiscordChatExporter Exports Discord chat logs to a file 项目地址: https://gitcode.com/gh_mirrors/di/DiscordChatExporter 你是否曾经想要永久保存Discord上重要的对话内…...