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