plan9 是乙個作業系統。由貝爾實驗室開發的,其主要的負責人是rob pike(現在在google工作,負責go語言的開發)。當然這個作業系統的參與者還有幾個大名鼎鼎的人:包括ken thompson(c語言和unix創始人),dennis ritchie(c語言和unix創始人),brain kernighan(awk之父),doug mcllroy(unix管道提出者,unix開發參與者)。
plan9中最本質的思想是「一切皆是檔案」,cpu是乙個檔案,記憶體是乙個檔案,網路是乙個檔案,任何的東西都是乙個檔案。
plan 9的「一切皆是檔案」就很好的解決了這個問題,a機器想要使用b機器的cpu,只需要將b機器的cpu掛載到a機器的cpu的檔案中,就能完成這個需求了。當然兩個機器之間也有乙個協議9p來進行檔案掛載表示的。但是這個對上層的作業系統來說已經是透明的了。
plan9是乙個分布式作業系統,它能把網路上一切的資源當作檔案來進行使用,這其實就是雲的概念了。
首先是「一切皆是檔案」的概念當然在unix上也有很好體現。這點這些牛掰的作者已經運用在unix上了,比如/sys/devices/system/cpu/cpu0下的cpu檔案代表的就是當前cpu的狀態。但是由於unix發展太快了,導致後面有很多功能已經超出貝爾實驗室的控制了。比如引入了ioctl,而不是使用檔案的read/write命令。也是因為這些原因,貝爾實驗室的這些人就想著能建立乙個超越unix的作業系統,從而有了plan9。
plan9的全部**都是由c寫的。後來rob pike又開始寫了一門語言:limbo。limbo語言是一種專門寫分布式系統的程式語言。這種語言運用最多的就是inferno作業系統上。
這個作業系統是plan9的姐妹作業系統。它的思想和plan9基本相同,都是基於檔案的。但是它只有核心是c編寫,其他的應用程式都是limbo編寫的。所以它和plan9不同的地方就是在這個系統上執行的程式都是limbo程式而不是c或c衍生程式了。更多關於inferno的資料可以看:
後來rob pike又開發出的go語言有一些地方的思想就是借鑑於limbo語言。
作業系統基本概念
一.程序的基本狀態 1.初始態 2.就緒態 3.執行態 4.等待態 5.終止 相互轉換關係如下 二.執行緒和程序區別 程序 是作業系統分配資源的最小單位 執行緒 是排程的基本單元,共享所在程序的檔案資料 有自己的棧和程式計數器 一般對於許多相同或相似的任務,傾向於將他們設計為多執行緒模型。因為程序占...
作業系統 基本概念
本文為自己學習 unix環境高階程式設計 而來的學習記錄 我的學習方 是將此書作為工具書來使用,當實際工作中遇到相關的問題針對性地學習知識圓點。基礎概念從嚴格意義上說,可講作業系統定義為一種軟體,它控制計算機硬體資源,提供程式執行環境。系統呼叫 共用函式庫 shell 應用程式 unix系統登陸 a...
作業系統基本概念
1 桌面作業系統 macos linux 2 伺服器作業系統 windows server 3 嵌入式作業系統 linux 4 移動裝置作業系統 iosandroid 基於linux 1965 年之前的時候,電腦並不像現在一樣普遍,它可不是一般人能碰的起的,除非是軍事或者學院的研究機構,而且當時大型...