大家都知道现在 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

我和 chatGPT 对线操作系统!的更多相关文章

  1. ocp 1Z0-042 61-120题解析

    61. View the Exhibit.Which statement regarding the dept and emp tables is true?A) When you delete a ...

  2. 开启A20线(部分译)

    开启A20线 在查看或编写操作系统内核时一定会遇到A20线这个问题.本人对此一直都是似懂非懂的,查了些资料,决定弄明白于是有了这篇文章.其中前一部分是翻译一篇外国博文,但光有这篇文章依旧不能清楚地说明 ...

  3. Windows操作系统

    Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...

  4. 软件工程线上课程(C语言实践篇)学习心得总结

    林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理 ...

  5. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  6. HBase工程师线上工作经验总结----HBase常见问题及分析

    阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...

  7. 招聘:有兴趣做一个与Android对等的操作系统么?

    招聘:有兴趣做一个与Android对等的操作系统么? 前不久我发了一篇<八一八招聘的那些事儿>讲了我自己作为求职者对招聘的一些看法.那个时候我还在求职,对求职的结果还是挺满意的,五家公司面 ...

  8. [nRF51822] 1、一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO

    最近用nRF51822写了个天马4线SPI的1.77寸LCD彩屏驱动,效果如下: 屏幕的规格资料为:http://pan.baidu.com/s/1gdfkr5L 屏幕的驱动资料为:http://pa ...

  9. 微软官方网站线上兼容测试平台-Browser screenshots

    前端开发时最不想做的就是在不同浏览器.平台和分辨率测试网页显示效果,通常这会浮现许多问题,尤其浏览器版本就可能让显示成效完全不同,也只好尽力维持让每一种设备都能正常浏览网页.修改到完全没有问题必须投入 ...

  10. (转)HBase工程师线上工作经验总结----HBase常见问题及分析

    阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...

随机推荐

  1. 身为一个java开发人员对目前java开发的一些小小的认识

    为什么要学java? 第一要工作,第二想要高薪 首先身为java开发工作人员你的思想认知程度要搞,思想认知程度决定你的专业技能水平 JavaSE工程师     B/S 架构   ----    浏览器 ...

  2. Unity中常用的几种读取本地文件方式

    使用的命名空间如下 using LitJson;using System.Collections.Generic;using System.IO;using System.Text;using Uni ...

  3. Java断言语句

    ​ 断言语句在调试代码阶段非常有用,断言语句一般用于 程序不准备通过捕获异常来处理的错误,例如,当发生某个错误时,要求程序必须立即停止执行.在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错 ...

  4. 算法题:消除字符串中全部的b和连续的ac

    最近碰到了一道面试题,虽然不难但是临试没想出好的解法,记录下来以作分享. 题目:消除字符串中全部的b和连续的ac 用例: 'aabbc' -> 'a' 'aaabbbccc' -> '' ...

  5. 结对作业——考研咨询APP

    结对作业--考研资讯系统   102陈同学105潘同学108苏同学 (排版:Markdown) 一.需求分析(NABCD模型) 1. N(Need 需求): 1)想知道每个专业考研可以考哪个专业2)想 ...

  6. centos7安装ffmpeg shell脚本

    #!/bin/sh # # Date: 2021-04-28 # Author: yb # Description: 安装ffmpeg # 检测当前用户是否为root [ $(id -u) != &q ...

  7. Informatica常用组件整理

    1. 表达式转换组件 (expression) expression 属于被动组件类型(passive),是一种行级表达式,不改变数据行数,功能强大,操作简单. 主要在以下情况下应用: 对流入数据的类 ...

  8. SQL SERVER 内存优化表踩坑记

    背景 因为生产应用需要刷新大量的状态数据到数据库中用于客户端的显示,于是新建了一张状态表,表内行数固定,状态更新到列内.刚开始运行时还行,更新都很及时,查询速度也不慢.于是就这样使用了有一个月的时间. ...

  9. <a-upLoad>连报三错

    [Vue warn]: Invalid prop: custom validator check failed for prop "fileList". [Vue warn]: I ...

  10. Hadoop警告信息:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform.

    when键入命令: hadoop fs -ls / 若出现以下警告信息: Hadoop警告问题:WARN util.NativeCodeLoader: Unable to load native-ha ...