我和 chatGPT 对线操作系统!
大家都知道现在 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 对线操作系统!的更多相关文章
- ocp 1Z0-042 61-120题解析
61. View the Exhibit.Which statement regarding the dept and emp tables is true?A) When you delete a ...
- 开启A20线(部分译)
开启A20线 在查看或编写操作系统内核时一定会遇到A20线这个问题.本人对此一直都是似懂非懂的,查了些资料,决定弄明白于是有了这篇文章.其中前一部分是翻译一篇外国博文,但光有这篇文章依旧不能清楚地说明 ...
- Windows操作系统
Microsoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家 ...
- 软件工程线上课程(C语言实践篇)学习心得总结
林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- HBase工程师线上工作经验总结----HBase常见问题及分析
阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...
- 招聘:有兴趣做一个与Android对等的操作系统么?
招聘:有兴趣做一个与Android对等的操作系统么? 前不久我发了一篇<八一八招聘的那些事儿>讲了我自己作为求职者对招聘的一些看法.那个时候我还在求职,对求职的结果还是挺满意的,五家公司面 ...
- [nRF51822] 1、一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO
最近用nRF51822写了个天马4线SPI的1.77寸LCD彩屏驱动,效果如下: 屏幕的规格资料为:http://pan.baidu.com/s/1gdfkr5L 屏幕的驱动资料为:http://pa ...
- 微软官方网站线上兼容测试平台-Browser screenshots
前端开发时最不想做的就是在不同浏览器.平台和分辨率测试网页显示效果,通常这会浮现许多问题,尤其浏览器版本就可能让显示成效完全不同,也只好尽力维持让每一种设备都能正常浏览网页.修改到完全没有问题必须投入 ...
- (转)HBase工程师线上工作经验总结----HBase常见问题及分析
阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...
随机推荐
- Day12-面向对象初识
面向对象编程 Java的核心思想就是OOP 一.面向过程&面向对象 面向过程思想: 步骤清晰简单,第一步做什么,第二步做什么...... 面对过程适合处理一些较为简单的问题 面向对象思想: 物 ...
- Oracle关联表进行修改操作(查询某个表,以某个表作为基础,修改其它表)
merge into tableA a using( SELECT a,b,c from tableB ) b on (a.id = b.id)//这里一定要用括号包起来.... when match ...
- maven项目资源导出问题
maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,解决方案: <!--在build中配置resources,来防止我们资源导出失败的问题--> ...
- 高并发解决方案之 redis 分布式锁
背景:秒杀服务中要写一个定时任务:活动到期时给order微服务发送关闭订单的通知.这需要改变数据库表中的数据,而集群中服务是多节点的方式进行部署,会出现并发执行的情况,所以采用的redis的分布式锁的 ...
- [CQOI2014]通配符匹配 题解
第一眼:什么鬼东西ヾ(。`Д´。) 第二眼:显然,这道题要分段处理 类似[TJOI2018]碱基序列\ (建议做一做也是Hash+DP)\ 那你怎么第一眼没看出来 Hash处理+DP==AC 直接上代 ...
- Visual Studio快速清除程序中的空行 删除空行
Ctrl+H; 正则替换 ^(?([^\r\n])\s)*\r?$\r?\n 快速删除多个空行
- 字典方法 setdefault()、pprint;迭代、递归的区别
计算一个字符串中每个字符出现的次数 import pprint message = 'It was a bright cold day in April, ' \ 'and the clocks we ...
- doy 20 系统优化
系统优化 1.yum源的优化 CentOS base epel 自建yum仓库使用一个较为稳定的仓库wget -O /etc/yum.repos.d/CentOS-Base.repo h ...
- vue3.0+vite+ts项目搭建--初始化项目
使用yarn yarn create vite 使用pnpm pnpx create-vite(pnpm create vite + 项目名) 根据提示输入项目名称,选择vue框架,选择vue-ts, ...
- 【原创】android 7.0 通知报错 java.lang.SecurityException: You need MANAGE_USERS permission to: check if specified user a managed profile outside your profile group
项目中在后台发送通知,突然某一天测出在Android 7.0上通知发送失败,那么根据提示,我们尝试加了MANAGE_USERS权限,看起来是个系统级别权限,验证后果然无效.接着在搜索后都无果,似乎大家 ...