大家都知道现在 chatGPT 已经在多个领域展现了及其强大的工地,比如文案策划,毕业论文方便,甚至很多程序员都直接让 chatGPT 帮忙写代码了,在一些模板化的代码方面,chatGPT 更展示了优秀的能力。
所以我突然迸发了一个想法,我让 chatGPT 教我学一下操作系统怎么样?
这里的我是一个懂点操作系统但却装成小白兔的人(这样的人在职场中是不是最心机了 狗头保命)
梭哈开始!
问题一:什么是操作系统?
嗯。。。。。。这个回答很像百度百科的官方回答。看起来没啥意思,让人昏昏欲睡。
我想用 chatGPT 的回答来继续问他,看看能不能让他犯一些错误。
问题二:操作系统的这些服务和接口是什么意思?
操作系统的这些接口本质是为应用程序服务的,方便应用程序进行 API 调用来使用。对于一些宽泛性的问题,操作系统回答的还算不错。
后面稍微提升一下难度。
问题三:请你按照时间的顺序来回答一下都诞生过哪些著名的操作系统?
这里的回答有几个疑问点:
- 首先,UNIVAC 是不是第一代操作系统存疑,因为 WIKI 上说 UNIVAC 的全称是 UNIVersal Automatic Computer 它是一个 UNIVA 的第一代大型自动计算机,并没有特指某一代操作系统,难道 chatGPT 理解为 UNIVAC 上的系统了?这个计算机是为了预测美国人口普查而闻名,因为它预测了艾森豪威尔当选美国总统,1951 年在我国也有很深的根源,这个就不多说了。
- 第二个问题,我让 chatGPT 以时间顺序回答,为什么 1984 年的 Mac OS 会排在 1985 年 Windows 的后面?????????????
- 第三个问题,作为一个 AI 大规模数据训练模型,它竟然不知道 MINIX 3 ,对于程序员的我们来说这个回答稍微欠佳,我问他的这种方式大家不要学,这不过是用的一种比较非常规的问法。
还有,它竟然不知道鸿蒙 OS ??????
问题四:操作系统的结构都有哪些?
如果说上面那个问题我有点计较的话,那 gpt 的这个回答就有点很不充分了,它竟然没有回答宏内核结构。
ßΩ我之前的文章中就解释过什么是宏内核和微内核,详见
https://mp.weixin.qq.com/s/qwlif22TskeGYLh5FpV9Pg
一句话解释:宏内核和微内核最大的区别就是,宏内核的用户服务和内核服务都保存在相同的地址空间中,它们都由内核进行统一管理,而微内核的用户服务和内核服务会保存在不同的地址空间中。
其实宏内核和单体结构的区别不是很大,但这还是两ß种不同的内核结构,区别在于宏内核可以动态加载,实现可插拔。
问题五:为什么 Windows 的程序在 Linux 上无法运行?
gpt 又给我道歉了,我都不习惯了。它这道歉的速度和频率比我媳妇多了好几倍。
它漏答了指令集架构,这是很重要的一点。
其中一点是因为 Linux 系统和 Windows 系统的格式不同,格式就是协议,就是在固定位置有意义的数据。Linux 下的可执行程序文件格式是 elf
,可以使用 readelf
命令查看 elf 文件头。
而 Windows 下的可执行程序是 PE
格式,它是一种可移植的可执行文件。
还有一点是因为 Linux 系统和 Windows 系统的 API
不同,这个 API 指的就是操作系统的 API,Linux 中的 API 被称为系统调用
,是通过 int 0x80
这个软中断实现的。而 Windows 中的 API 是放在动态链接库文件中的,也就是 Windows 开发人员所说的 DLL
,这是一个库,里面包含代码和数据。Linux 中的可执行程序获得系统资源的方法和 Windows 不一样,所以显然是不能在 Windows 中运行的。
问题六:请你解释一下什么是系统调用?
这个问题回答的还是很不错的。
问题七:请你描述一下 Ext2 文件系统?
问题八:请你描述一下实模式和保护模式的区别
这个回答没有太大问题。
问题九:x86 寄存器有哪些?
我问它系统控制指令的时候它又答错了,而且它还漏答了非常重要的几个寄存器。
问题十:请你描述一下中断产生的条件 && 中断是如何产生的?
总结
以上基于 chatGPT 3.5 测试,问了 10 个问题,答错 6 个,如果没有一定的只是储备,很容易被这些答案带偏,我不知道它的训练模型是怎样的,就比如操作系统结构的那个问题,你拿 WIKI 百科的答案喂,都不会只产生两个结构。
有部分小伙伴建议我使用 4 测试,这个需要开 plus ,我目前还没有开通,有兴趣的小伙伴可以把我的问题方式问一下 GPT-4 ,看看会不会有奇妙的东西发生。
另外,还有部分小伙伴让我用英文问或者懂 prompt (基于 AI 提问的一种语言)来问,我不想那么麻烦,既然你都 AI 了,为什么不能更好的服务我们这种 懒人呢?我还要懂你提问的语言?要是我请教的对象是人,我可能需要了解一下提问的艺术,毕竟双方的时间都很宝贵,你是一个机器,一种训练模型,我为什么还要懂你的语言,你不是为了人类服务的吗?
我感觉我说的应该没错吧?
所以我得出了比较浅显的结论,这个东西的专业性有限,不过它很能提高文字编写、策划、法律、编辑的工作效率,对基于办公室劳动密集型工种来说,确实应该有危机感了。
原文链接:我和 chatGPT 对线操作系统!
欢迎关注我的个人微信公众号:程序员cxuan