当 ChatGPT 教我学操作系统

还记得 2021 年 11 月 8 号我开始写 Linux 0.11 的源码解读系列。

edd6e958a8434f388eb7c24e1c0ba809.jpeg

 当初为了写这个系列,把 Linux 0.11 源码和相关解读的书籍都翻烂了,查阅资料理解代码的过程非常痛苦,有的时候一个小的卡点就要好几天才能整明白。

就比如最开头的位于 bootsect.s 里的这几行代码。

8fafd619544549b0aa6acc6c4cd4dd13.png

这里不但包含了非常多的汇编语法和技巧,还涉及到计算机开机后 BIOS 加载 OS 到内存的细节问题,想要搞明白这段代码对于初学者来说是一道坎。

而把这段讲明白,也是非常难的一件事。如果针对这几行代码讲汇编语法,会显得太重,既没有讲清楚汇编,也没有讲明白这段程序的逻辑。

如果仅仅讲这段代码的逻辑,读者又会卡在汇编细节里。最关键的是,没有任何一本书可以做到把所有读者关心的每一段代码都讲清楚。

于是我想到了 ChatGPT,如果我把这段代码让它讲给我听会怎么样呢?

a4707631a8e74baeb15d259f1d655e73.png

 它回答的结果让我大为震撼,我觉得我的专栏是时候下架了。

7dd892436d4a46438e324a875d15d04d.png

6838a990137043dab7f01f864862f688.png

它详细解释了每一句汇编代码的含义,最关键的是它并不是简简单单地"翻译"汇编指令,而是将其融合在上下文中,顺序阅读下来完全可以流畅地串起整个流程,非常清晰明了。

后面它还贴心地告诉我要深入了解这个过程,可以参考 Intel 手册!我的天!

如果写书或者写博客的话,把它的回答原封不动粘贴过来,完全可以秒杀大部分博客了,而且这还是为你定制的回答!

此时我还没有彻底被震撼到,直到我接着往下深入问它。

c05b19e430994ee4906d65d3344d4493.png

 从它的描述看,它是真真正正理解了这段代码的含义和来龙去脉,同时它还知道后面的代码"将要"完成什么样的功能,这技术视野和深度,比我当时写博客解释得好太多了。

我又继续深入问了一个当时很多初学者问的问题,即为什么是 0x7c00 这个数字。

284624600dee42abbadc99c9f2cd73be.png

 这个好多博客和书籍都解释得稀里糊涂的地方,居然被它第一句话就直接戳中本质:BIOS 将引导扇区加载到内存地址 0x7C00 是历史原因和设计约定的结果。

没错!这个数字本身就是个约定,同时为什么这么约定是因为一定的历史原因。解释得完全没有废话,干净利落,直击本质!

同时,在他的描述中,我们看到它对这个历史背景如数家珍,他扩展了信息量相当丰富的答案,如果你感兴趣,你可以就着里面每一个不了解的名词继续发问,它仍然会耐心和你一起探讨,你便因此打开了一个新世界。

我又继续发问,问了一个很容易上当,也是当时很多读者产生的困惑,即为什么有的地方是 0x7c0 有的地方又说 0x7c00,是不是少写或者多写了 0 呢?

4a369662916d4518b3d9d5941e09ba8d.png

 没想到它完全没有上当受骗,并且把原因极其清晰地展现了出来,如果让我重新回答当时的读者提问,或者在文章里对此做出解释,我找不到比它这个回答更好的答案了,挑不出任何毛病!这个答案是个技术人看了都会拍案叫绝。

此时的我已经彻底服了,也爱上了这个博学多才又耐心的 C 老师,便继续发问探讨。

ff3a2eb5265d4ebdab0b242e70d2b240.png

 它对技术问题的解答,尤其是这种有确定答案的问题,简直完美。我老是忘记各种数据结构的字段含义,又懒得去翻手册找,问了它之后得到的答案比大部分网上的答案都靠谱。

abc0391445ea470fb27bad214ce4e8f2.png

 后面又和他聊了很长时间,我真心觉得,或许未来的教学方式真的有可能改变了。

就拿这一段代码来说,我找不到任何比这种与 ChatGPT 直接沟通教学更好的方式了。即便是我活着任何其他 Linux 源码大牛提前准备好这段代码的资料,也不可能比 ChatGPT 教的好。

为什么呢?因为 ChatGPT 的每一个回答都是针对读者的提问定制的回答,就这一点,即便是你可以做到上面的每个问题都准备好了比 ChatGPT 更好的答案(实际上这个也很难做到了),但你也无法提前预知读者可能提出的全部问题。

这一点想想看十分可怕,我们即便是提前做了充分的准备,仍然在哪怕是一个确定的代码片段的讲解上无法匹敌 ChatGPT,那就更别说其他的了。

之后我们的书籍和博客,可能对读者来说就并不再是非常重要资料,只是一个辅助他看清大方向,并且知道应该问 ChatGPT 什么问题的工具了。真正给他讲明白的,一定是 ChatGPT 这个 C 老师。

不过还好大方向上的把控和经验,它还无法和我们 PK,我写的专栏和书籍,暂时还有一定存在的价值。我的书五月初会出版,希望 ChatGPT 慢点进化,给我条活路。

很多人没有意识到 ChatGPT 的强大,因为他们接触到的玩法和信息太少了,总觉得让它算数学题老是出错,让它评价猫可爱还是狗可爱得不到答案,让它预测股票价格也不给你预测,就觉得它是个智障。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22125.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《花雕学AI》你知道人工智能ChatGPT在10秒钟里能写出多少种标题吗?我试了24次,惊呆了!

今天准备测试AI绘画,使用几个不同的AI平台来生成猫娘图片,以此具体学习绘图的AI咒语。这篇博客用什么标题好呢?于是,我开始关心如何优化标题,还是老办法,不懂就问ChatGPT(没有正式账号&#xff…

【固收研究】资金面分析

资金面,参考了一些友商的研究,主要是看货币政策,一般是从两个角度出发,一个是回购市场方面,也就是央行的公开操作;另一个是利率方面,主要是分析同业存单利率,也叫从存单市场方面进行…

建议设计师一定要尝试的副业排名TOP1!

要说这年头最苦逼的职业,我觉得非建筑设计师不可! 每次项目结束,甲方嗨了,领导爽了,只有咱们设计师继续爆肝下一个需求。 毕竟在项目里,甲方爸爸就负责拍拍脑袋,抛个时间,再闭着眼…

Python+Qt桌面端与网页端人工客服沟通工具

程序示例精选 PythonQt桌面端与网页端人工客服沟通工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt桌面端与网页端人工客服沟通工具>>编写代码&#xff0c;代码整洁…

科技云报道:“火到爆炸”的ChatGPT,为何当不了智能客服?

科技云报道原创。 任何新兴技术都像一个奇点&#xff0c;充满无限可能、无限想象。你永远无法想到它将以怎样的姿态呈现在人们的面前。 21世纪以前&#xff0c;“AI大爆炸”的设想似乎还只是科幻小说家们杞人忧天的设想。 如今&#xff0c;却有越来越多的人开始严肃地思考一…

TCP连接超时机制

前言 众所周知,TCP协议是一个可靠的的协议。TCP的可靠性依赖于大量的 Timer 和 Retransmission 。现在咱们就来细说一下TCP协议的那些Timer Connection-Establishment Timer 在TCP三次握手创建一个连接时&#xff0c;以下两种情况会发生超时&#xff1a; client发送SYN后&am…

golang http 连接超时和传输超时

golang 测试代码 package mainimport ("net/http""net/url""fmt""io/ioutil""time""net""crypto/tls" )func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string…

dbeaver的连接超时(Connection timed out: connect)

项目场景&#xff1a; hiveserver2启动了, 虚拟机 里能启动beeline,并且能连接hive2, 但是就是连接不了win上的dbeaver 问题描述&#xff1a; Could not open client transport with JDBC Uri: jdbc:hive2://192.168.2.104:10001/gmall;authnoSasl: java.net.ConnectExcepti…

Postman 请求超时

Postman发送连接时返回Error: Request timed out 服务器端已经启动&#xff0c;通过Postman进行测试时报错。在查阅各个网站资料后解决方法有两种&#xff0c;一是修改setting中的ssl将其关闭&#xff0c;二是将响应时间改为30000等&#xff0c;都没有解决问题。通过尝试&#…

网页上为何出现连接超时,怎么解决呢?

网页出现连接超时是因为本地网络不稳定或网页服务器堵塞等原因造成的。 定义&#xff1a; 网络连接超时就是在程序默认的等待时间内没有得到服务器的响应。 网络连接超 1. 网络断开&#xff0c;不过经常显示无法连接。 2. 网络阻塞&#xff0c;导致你不能在程序默认等待时间内…

postman或浏览器可以访问,java不能访问的post请求,连接超时

搞了半天&#xff0c;网上的模拟浏览器请求&#xff0c;代理ip都试了一遍&#xff1b;一直是连接超时&#xff1b; 最后终于找到了解决方案&#xff1a; -Djava.net.preferIPv4Stacktrue 在jdk上配置jvm参数禁用ipv6&#xff1b;具体什么原因我也不知道&#xff1b;

HttpClient 连接超时重试处理

记录一次HttpClient 连接超时重试问题 原代码如下&#xff1a; public static void main(String[] args) throws UnsupportedEncodingException {HttpClient httpClient new HttpClient();httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);St…

解决 ping命令-请求超时 问题

​ ​ ​ 在连接局域网的过程中&#xff0c;我们经常使用 ping ip地址 的命令来测试网络情况&#xff0c;但总是遇到请求超时的情况。 当遇到这种情况时&#xff1a; ​ ​ 第一步&#xff1a;检查设备&#xff0c;所有设备检查无误且两台电脑能正常上网&#xff0c;进…

解决MobaXtermSSH连接超时(Network error:Conection timed out )

报错描述 Network error:Conection timed out 解决MobaXtermSSH连接超时&#xff0c;无法连linux IP地址的问题 使用的是MobaXterm远程连接我使用VMware创建的虚拟机。 ssh测试 1.检测一下linux系统上有没有安装ssh&#xff0c;一般情况是可以自动安装的&#xff0c;但是由于c…

Efficient Teacher

这里是针对YOLOv5的半监督目标检测实现 Efficient Teacher包含一篇论文(https://arxiv.org/pdf/2302.07577.pdf)和一套开源代码库(https://github.com/AlibabaResearch/efficientteacher)。其中&#xff0c;论文讲解了如何针对YOLOv5进行半监督训练&#xff0c;开源代码库可以…

一个巨型的ESP8266模块,围观围观

作者&#xff1a;晓宇&#xff0c;排版&#xff1a;晓宇 微信公众号&#xff1a;芯片之家&#xff08;ID&#xff1a;chiphome-dy&#xff09; 01 巨型ESP8266 ESP8266几乎无人不知&#xff0c;无人不晓了吧&#xff0c;相当一部分朋友接触物联网都是从ESP8266开始的&#xff…

入局AI时代,先从了解AI工具入手(200 个免费的 AI 工具分享)

这些工具是从业人员提升创造力和生产力的新领域&#xff01;从生成独特的图像到将文本转换为语音&#xff0c;这些工具可以快速帮助你实现曾经难以想象的结果。 它们代表了人与机器之间的桥梁&#xff0c;这种合作可以开启新的可能性领域。拥抱 AI工具&#xff0c;可以极大的升…

资源盘点丨9个经典视觉-语言多模态预训练数据集

在 ChatGPT 引爆社会与学术界的热点后&#xff0c;“大模型”与“多模态”也成为了搜索量攀升的热门词汇。这些体现了大众对人工智能的广泛关注。 事实上&#xff0c;人工智能的进步离不开深度学习方法在各个具体任务上的进展。其中&#xff0c;尤其是预训练任务的方法&#x…

SolidEdge C#.NET 二次开发系列教程(一) 安装部署插件

SE二次开发国内的教程简直太少了&#xff0c;为了学习这块&#xff0c;废了不少功夫&#xff0c;走了不少弯路。 特此开贴写教程以示后人。 se插件开发完成后就是如何部署&#xff0c;安装和部署和其他的.net插件类似。 1.走到这步你基本离成功很近了。 准备好你的dll插件的 Gu…

纵使AI再强悍,低代码风韵犹存

互联网沉默已久&#xff0c;ChatGPT的出现激起千层浪&#xff0c;沉寂已久的互联网迎来新一轮的机遇。毫不夸张地说&#xff0c;任何一家以技术见长的企业&#xff0c;人工智能绝对占有一席之地。 目录 人工智能很强悍 低代码风韵犹存 快速开发平台&#xff0c;大有看头 AI…