偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oberon操作系統(tǒng):一個(gè)被忽略的珍寶

系統(tǒng)
Oberon 操作系統(tǒng)是用一種同名的程序語言(Oberon 語言)寫成,比起 Unix,有很大的不同,在于它的數(shù)據(jù)都是結(jié)構(gòu)化的。操作系統(tǒng)的設(shè)計(jì),真是天外有天。

推薦一篇很久以前看的文章:Oberon - The Overlooked Jewel,它介紹的是 Niklaus Wirth 設(shè)計(jì)的一種操作系統(tǒng),叫做 Oberon。Niklaus Wirth 就是大家熟知的 Pascal 語言的設(shè)計(jì)者。絕大部分人都沒聽說過有 Oberon 這個(gè)東西存在,更難以把它跟 Niklaus Wirth 的大名掛上鉤。所以作者說:“Wirth 因?yàn)?Pascal 而聞名于世,可是接下來幾年,他成為了 Pascal 的受害者。” 確實(shí)是這樣。Wirth 一直都不覺得 Pascal 是他的杰作。我想他應(yīng)該會(huì)更喜歡以 Oberon 聞名于世。

Oberon 比起 Unix,有很大的不同,在于它的數(shù)據(jù)都是結(jié)構(gòu)化的。進(jìn)程間不通過字符串交換數(shù)據(jù),而是直接使用數(shù)據(jù)結(jié)構(gòu)。很奇特的一點(diǎn)是,Oberon 操作系統(tǒng)是用一種同名的程序語言(Oberon 語言)寫成。令人驚訝的是,在那個(gè)年代,ETH 計(jì)算機(jī)系的所有教職員工,學(xué)生,包括辦公室的大媽,都是用的這種操作系統(tǒng)。

操作系統(tǒng)的設(shè)計(jì),真是天外有天。

之所以找到這個(gè)系統(tǒng),是因?yàn)槲乙恢痹谠噲D利用程序語言的設(shè)計(jì)原理,設(shè)計(jì)一種超越“Unix 哲學(xué)”的操作系統(tǒng)。這里是我的設(shè)想:

  • 這種系統(tǒng)里面的程序間通信不使用無結(jié)構(gòu)的字符串,而是使用帶有類型和結(jié)構(gòu)的數(shù)據(jù)。在這樣的系統(tǒng)里面,“程序”的概念基本上完全消失。系統(tǒng)由一個(gè)個(gè)的“函數(shù)”組成,每個(gè)函數(shù)都可以調(diào)用另外一個(gè)函數(shù),通過參數(shù)傳遞數(shù)據(jù)。每個(gè)函數(shù)都可以并發(fā)執(zhí)行。
  • 由于參數(shù)是一個(gè)數(shù)據(jù)結(jié)構(gòu),而不是字符串,這避免了程序間通信繁瑣的“編碼”和“解碼”過程。使得“進(jìn)程間通信”變得輕而易舉。任何函數(shù)都可以調(diào)用另一個(gè)函數(shù)來處理特定類型的數(shù)據(jù),這使得像 “OLE 嵌入”這樣的機(jī)制變得及其簡單。
  • 所有函數(shù)由同一種先進(jìn)的高級(jí)程序語言寫成,所以函數(shù)間的調(diào)用完全不需要“翻譯”。
  • 由于這種語言不允許應(yīng)用程序使用“指針運(yùn)算”,應(yīng)用程序不可能產(chǎn)生 segfault 一類愚蠢的錯(cuò)誤。
  • 由于沒有指針運(yùn)算,系統(tǒng)不再需要現(xiàn)代處理器提供的“內(nèi)存映射”機(jī)制,以及 TLB。這使得內(nèi)存訪問效率大幅提高。而且簡化了處理器的設(shè)計(jì)。
  • 操作系統(tǒng)使用與應(yīng)用程序相同的高級(jí)語言寫成(可能需要支持一些“特權(quán)操作”),至于“系統(tǒng)調(diào)用”,只不過是調(diào)用另外一個(gè)函數(shù)。
  • 操作系統(tǒng)的“shell”,不過是一個(gè)這種高級(jí)語言的 REPL。用戶可以在終端輸入各種函數(shù)調(diào)用,從而啟動(dòng)進(jìn)程的運(yùn)行。
  • 系統(tǒng)不需要 SQL,不需要關(guān)系式數(shù)據(jù)庫。所有的數(shù)據(jù)都作為“對(duì)象”,保存在一個(gè)分布式的數(shù)據(jù)空間。
  • 系統(tǒng)不需要“文件系統(tǒng)”。所有的數(shù)據(jù),包括“進(jìn)程上下文”自動(dòng)被“版本控制”,在合適的時(shí)候作為對(duì)象同步到磁盤。所以即使在機(jī)器掉電的情況,絕大部分的數(shù)據(jù)和進(jìn)程能夠在電源恢復(fù)后自動(dòng)繼續(xù)運(yùn)行。
  • 程序員和用戶完全不需要知道“數(shù)據(jù)庫”或者“文件系統(tǒng)”的存在。程序假設(shè)自己擁有無窮大的空間,可以任意的構(gòu)造數(shù)據(jù)。
  • 為了減少數(shù)據(jù)的移動(dòng),系統(tǒng)根據(jù)數(shù)據(jù)的位置,選擇: 1)遷移數(shù)據(jù),或者 2)遷移處理數(shù)據(jù)的“進(jìn)程”。程序員不需要使用 MapReduce,Hadoop 等,就能進(jìn)行大規(guī)模并行計(jì)算。
  • 這個(gè)操作系統(tǒng)是如此的“一致”,以至于所有的用戶和程序員,只需要學(xué)會(huì)一種很簡單的程序語言。

我曾經(jīng)以為我是第一個(gè)想到這個(gè)做法的人??上У氖?,調(diào)查之后發(fā)現(xiàn),很多人早就已經(jīng)做出了類似的系統(tǒng)。Lisp Machine 似乎是其中最接近的一個(gè)。Oberon 是另外一個(gè)。我只能說,英雄所見略同。

責(zé)任編輯:黃丹 來源: udpwork.com
相關(guān)推薦

2022-10-09 08:16:29

React前端

2009-09-02 18:36:46

LinuxLinux操作系統(tǒng)Linux開發(fā)

2009-12-16 12:30:25

openSUSE操作系

2010-02-26 14:13:51

Linux操作系統(tǒng)

2018-10-26 09:30:47

Boxes操作系統(tǒng)Linux

2010-04-20 14:43:01

Unix操作系統(tǒng)

2012-05-07 13:02:46

Linux服務(wù)器集群

2018-06-27 09:14:54

嵌入式操作系統(tǒng)Linux

2011-07-19 09:41:33

2020-10-25 08:52:19

Unix操作系統(tǒng)TrueOS

2009-06-30 10:37:59

Linux操作系統(tǒng)

2009-12-10 15:17:58

Linux操作系統(tǒng)

2022-04-07 14:33:31

操作系統(tǒng)鴻蒙HarmonyOS

2018-12-05 08:40:53

開發(fā)操作系統(tǒng)

2009-09-04 10:47:33

2019-08-09 10:45:09

操作系統(tǒng)WindowsLinux

2021-02-20 13:52:50

Windows 10XWindows 10微軟

2010-04-15 14:40:26

Unix操作系統(tǒng)

2020-03-03 10:17:00

云計(jì)算公共云

2013-09-17 13:24:07

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)