真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

對(duì)Unix哲學(xué)的理解

      Douglas McIlroy是Unix系統(tǒng)上管道機(jī)制的發(fā)明者,也是Unix文化的締造者之一。他歸納的Unix哲學(xué)如下:

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),京山企業(yè)網(wǎng)站建設(shè),京山品牌網(wǎng)站建設(shè),網(wǎng)站定制,京山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,京山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

程序應(yīng)該只關(guān)注一個(gè)目標(biāo),并盡可能把它做好。讓程序能夠互相協(xié)同工作。應(yīng)該讓程序處理文本數(shù)據(jù)流,因?yàn)檫@是一個(gè)通用的接口。

      更加簡(jiǎn)化的版本是:做一件事,做好它。雖然只有第三條是特指Unix系統(tǒng)的,但Unix開(kāi)發(fā)者們常常同時(shí)強(qiáng)調(diào)這三個(gè)信條。

      羅勃·派克在他的《Notes on Programming in C》中提到了以下格言。雖然這些規(guī)則是關(guān)于程序設(shè)計(jì)的,但作為Unix哲學(xué)絲毫不為過(guò):

  • 規(guī)則一:你永遠(yuǎn)不會(huì)知道你的程序會(huì)在什么地方耗費(fèi)時(shí)間。程序的瓶頸常常出現(xiàn)在意想不到的地方,因此在你確信找到瓶頸后再動(dòng)手優(yōu)化代碼吧。

  • 規(guī)則二:測(cè)試代碼。只有在你詳細(xì)測(cè)試了代碼,并且發(fā)現(xiàn)一部分代碼耗費(fèi)了絕大部分的運(yùn)行時(shí)間時(shí)再對(duì)程序作速度優(yōu)化。

  • 規(guī)則三:功能全面的算法(fancy algorithm)在處理小規(guī)模問(wèn)題時(shí)效率很低,這是因?yàn)樗惴〞r(shí)間效率中的常量很大,而問(wèn)題往往規(guī)模很小。除非你知道你遇到的常常是復(fù)雜的情況,否則就讓代碼丑陋但是簡(jiǎn)單而高效吧。(即使問(wèn)題規(guī)模確實(shí)很大,也首先嘗試第二條規(guī)則。)

  • 規(guī)則四:功能全面的算法比簡(jiǎn)單的算法更容易產(chǎn)生Bug,更難實(shí)現(xiàn)。盡量使用簡(jiǎn)單的算法和數(shù)據(jù)結(jié)構(gòu)。

  • 規(guī)則五:數(shù)據(jù)決定一切。如果選擇的數(shù)據(jù)結(jié)構(gòu)能很好的管理數(shù)據(jù),算法部分往往不言自明。記住,數(shù)據(jù)結(jié)構(gòu),而非算法,才是編程的關(guān)鍵。

  • 規(guī)則六:沒(méi)有第六條規(guī)則。

      Pike的第一、二條規(guī)則重申了高德納的著名格言:“過(guò)早的優(yōu)化是一切罪惡的根源?!?sup class="reference" id="cite_ref-1">[1]Pike的第三、四條規(guī)則被肯·湯普遜改述成:“疑惑不定之時(shí)最適合窮舉?!笔聦?shí)上,這兩條規(guī)則也是KISS原則的具體表現(xiàn)。規(guī)則五在之前Fred Brooks的人月神話中也被提及。Jon Bentley的《Programming Pearls》中也有一章闡述了相同的設(shè)計(jì)哲學(xué)。此規(guī)則作為“如果你的數(shù)據(jù)結(jié)構(gòu)很好,那么控制它的算法就無(wú)關(guān)痛癢了”的例子常常被簡(jiǎn)化成“簡(jiǎn)約地寫代碼,聰明地用數(shù)據(jù)”。第六條規(guī)則當(dāng)然只是Pike針對(duì)蒙提·派森之小品Bruces sketch的幽默發(fā)揮而已了。

      1994年,X Window系統(tǒng)開(kāi)發(fā)組的成員Mike Gancarz根據(jù)他自己的Unix系統(tǒng)經(jīng)驗(yàn)以及和其他領(lǐng)域使用Unix系統(tǒng)的資深程序員們的討論結(jié)果,寫成了《The UNIX Philosophy》,提出了9條訓(xùn)格之言:

  • 一:小即是美。

  • 二:讓程序只做好一件事。

  • 三:盡可能早地創(chuàng)建原型。

  • 四:可移植性比效率更重要。

  • 五:數(shù)據(jù)應(yīng)該保存為文本文件。

  • 六:盡可能地榨取軟件的全部?jī)r(jià)值。

  • 七:使用shell腳本來(lái)提高效率和可移植性。

  • 八:避免使用可定制性低下的用戶界面。

  • 九:所有程序都是數(shù)據(jù)的過(guò)濾器。

此外還有十條原則則并不為所有人認(rèn)同,甚至還是爭(zhēng)論的焦點(diǎn)(如宏內(nèi)核和微內(nèi)核之爭(zhēng)):

  • 一:應(yīng)該允許用戶定制操作環(huán)境。

  • 二:讓操作系統(tǒng)核心小而輕。

  • 三:使用小寫字母并盡量簡(jiǎn)短。

  • 四:節(jié)約紙張,保護(hù)樹(shù)林。

  • 五:沉默是金。

  • 六:并行地思考。

  • 七:部分加部分大于整體。

  • 八:尋找問(wèn)題的帕雷托法則。

  • 九:程序隨需求而增長(zhǎng)(Worse is better)。

  • 十:層級(jí)地思考。

     一個(gè)Unix內(nèi)核-核心或操作系統(tǒng)的關(guān)鍵組件-包括像進(jìn)程管理,內(nèi)存管理,文件管理,設(shè)備管理和網(wǎng)絡(luò)管理的許多內(nèi)核子系統(tǒng)。

每個(gè)子系統(tǒng)有一些功能:

  • 并發(fā)性:由于Unix是一個(gè)多操作系統(tǒng),多程序同時(shí)運(yùn)行,以提高系統(tǒng)的性能。

  • 虛擬內(nèi)存(VM):內(nèi)存管理子系統(tǒng)實(shí)現(xiàn)虛擬內(nèi)存的概念,用戶不必?fù)?dān)心可執(zhí)行程序的大小和RAM的大小。

  • 分頁(yè):它是一種技術(shù),以盡量減少內(nèi)部以及外部碎片在物理內(nèi)存中。

  • 虛擬文件系統(tǒng)(VFS):VFS是一個(gè)文件系統(tǒng),用來(lái)幫助用戶隱藏不同的文件系統(tǒng)的復(fù)雜性。用戶可以使用相同的標(biāo)準(zhǔn)文件系統(tǒng)調(diào)用來(lái)訪問(wèn)不同的文件系統(tǒng)。

內(nèi)核提供這些和其他基本服務(wù)的中斷和陷阱處理,用戶和系統(tǒng)空間之間的分離,系統(tǒng)調(diào)用,調(diào)度,定時(shí)器和時(shí)鐘處理,文件描述符管理。

的Unix架構(gòu)概念的一些主要功能是:

  • Unix系統(tǒng)使用集中式的管理制度和流程活動(dòng)的操作系統(tǒng)內(nèi)核。

  • 所有非內(nèi)核軟件被組織成獨(dú)立的,核心管理流程。

  • Unix系統(tǒng)搶先式多任務(wù):可以同時(shí)運(yùn)行多個(gè)進(jìn)程,或者在小的時(shí)間片,幾乎在同一時(shí)間,任何進(jìn)程都可以被打斷,并搬出由內(nèi)核執(zhí)行。這就是所謂的線程管理。

  • 文件被存儲(chǔ)在一個(gè)分層文件系統(tǒng)磁盤上,與一個(gè)頂級(jí)整個(gè)系統(tǒng)中的位置(根,或“/”),文件和目錄,子目錄,子目錄的子目錄,等它下面。

  • 除了 少數(shù)例外,設(shè)備和管理的進(jìn)程之間的通信的某些類型的文件或假文件內(nèi)的文件系統(tǒng)層次結(jié)構(gòu)可見(jiàn)。這就是所謂的一切都是文件。然而,Linus Torvalds的狀態(tài),這是不準(zhǔn)確的,可以更好地表述為“一切是一個(gè)字節(jié)流”。[1]

UNIX操作系統(tǒng)支持下列特性和功能:

  • 多任務(wù)和多用戶。

  • 編程接口。

  • 使用文件作為抽象的設(shè)備和其它的目的。

  • 內(nèi)置的聯(lián)網(wǎng)。(TCP / IP是標(biāo)準(zhǔn)的)

  • 持久的系統(tǒng)服務(wù)進(jìn)程名為“守護(hù)”和由init或inetd的管理。


分享名稱:對(duì)Unix哲學(xué)的理解
本文地址:http://weahome.cn/article/gssopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部