操作系統(tǒng)(OS:operating system)是計(jì)算機(jī)用戶和計(jì)算機(jī)硬件之間的接口。操作系統(tǒng)是一種執(zhí)行所有基本任務(wù)的軟件,如文件管理、內(nèi)存管理、進(jìn)程管理、處理輸入和輸出以及控制外圍設(shè)備(如磁盤驅(qū)動(dòng)器和打印機(jī))。
操作系統(tǒng)是使應(yīng)用程序能夠與計(jì)算機(jī)硬件交互的軟件。包含操作系統(tǒng)核心組件的軟件稱為內(nèi)核。操作系統(tǒng)的主要目的是使應(yīng)用程序(software)能夠與計(jì)算機(jī)硬件交互并管理系統(tǒng)的硬件和軟件資源。
一些流行的操作系統(tǒng)包括Linux操作系統(tǒng)、Windows操作系統(tǒng)、VMS、OS/400、AIX、z/OS等。
Linux系統(tǒng)下面又分為Ubuntu, Debian, Centos, Respbian等;
今天,操作系統(tǒng)幾乎出現(xiàn)在所有設(shè)備中,如手機(jī)、個(gè)人計(jì)算機(jī)、大型計(jì)算機(jī)、汽車、電視、玩具等。
通常不同操作系統(tǒng)上運(yùn)行的軟件是不同的,一些軟件如果運(yùn)行在虛擬機(jī)上,則可以跨平臺(tái)執(zhí)行,如果直接運(yùn)行在操作系統(tǒng)上,可能需要針對各個(gè)運(yùn)行環(huán)境進(jìn)行編譯,然后生成對應(yīng)的文件,比如windows下對應(yīng)exe, android下對應(yīng)apk等。
么是分布式系統(tǒng)以及為什么要關(guān)心?基本上分布式系統(tǒng)不是集中式系統(tǒng)。什么是中心化系統(tǒng)?集中式系統(tǒng)是系統(tǒng)狀態(tài)和程序存儲(chǔ)在一臺(tái)計(jì)算機(jī)上的系統(tǒng)。例如您可能正在使用您面前計(jì)算機(jī)上的microsoft word對此視頻進(jìn)行筆記。為了記錄這些筆記,word會(huì)將文檔存儲(chǔ)在內(nèi)存中,并定期將您的狀態(tài)保存到磁盤。
如果你的電腦壞了,那你就倒霉了。您不能再做筆記,也不能閱讀筆記,除非您足夠幸運(yùn)有備份,并且可以從備份恢復(fù)到新計(jì)算機(jī)上。在分布式系統(tǒng)中,程序的狀態(tài)和程序本身被分配到多臺(tái)計(jì)算機(jī)上。
回到word的例子,如果您沒有將文檔保存在本地磁盤上,而是將文檔存儲(chǔ)在dropbox中,那么如果您的計(jì)算機(jī)出現(xiàn)故障,您可以借用朋友的計(jì)算機(jī)從dropbox加載文檔,然后繼續(xù)工作。太好了,你開心就好。
您的系統(tǒng)具有容錯(cuò)能力,因?yàn)槟愕臓顟B(tài)不僅僅只是由一臺(tái)計(jì)算機(jī)來劃分的。您正在利用dropbox擁有的所有計(jì)算機(jī),如果他們的一臺(tái)計(jì)算機(jī)出現(xiàn)故障,他可能也會(huì)將您的文檔復(fù)制到不止一臺(tái)計(jì)算機(jī)上,你可以繼續(xù)前進(jìn)。
所以集中式系統(tǒng)更簡單,他們更容易理解。因?yàn)槟恍杩紤]一臺(tái)計(jì)算機(jī)中發(fā)生的情況,對于單個(gè)用戶來說,他們可以更快,因?yàn)檫\(yùn)行他們時(shí)不涉及網(wǎng)絡(luò)往返。但相比之下,分布式系統(tǒng)可以更可靠。如果計(jì)算機(jī)出現(xiàn)故障,并不意味著您就完蛋了,你可以在多種類型的失敗中繼續(xù)努力。
分布式系統(tǒng)往往更具可擴(kuò)展性。我的意思是由于時(shí)間共享的奢侈,您可以用更少數(shù)量的計(jì)算機(jī)為更多用戶提供服務(wù)。分布式系統(tǒng)的缺點(diǎn)是他們更加復(fù)雜。現(xiàn)在等一下,您可能會(huì)擔(dān)心因?yàn)閺?fù)雜性不好,對嗎?復(fù)雜性很難構(gòu)建一個(gè)實(shí)際上也更可靠的復(fù)雜系統(tǒng)。我可以承認(rèn)你是對的,復(fù)雜的系統(tǒng)很難正確構(gòu)建。
這就是分布式系統(tǒng)被認(rèn)為是計(jì)算機(jī)科學(xué)中的高級主題的原因之一。這是因?yàn)槲也粫?huì)粉飾它,這很難,這很值得。您可以使用分布式系統(tǒng)解決一些非常重要的問題,而使用集中式系統(tǒng)無法解決這些問題。即使他們失敗了,后果往往也是非常糟糕的。這只是因?yàn)槿藗冎皇褂梅植际较到y(tǒng)作為解決非常重要問題的工具。
所以當(dāng)他們失敗時(shí),當(dāng)然是很糟糕的。這是因?yàn)樗麄兒苤匾W屛覀兛紤]一些分布式系統(tǒng)的例子,為了觀看該視頻,您必須訪問一個(gè)網(wǎng)站,并且為了查找該網(wǎng)站,例如youtube.com,您必須使用dns或域名服務(wù)進(jìn)行查找。dns是一個(gè)由主機(jī)名到ip地址的分布式表,該表分布在全球的許多計(jì)算機(jī)上,以便總有一臺(tái)。靠近您的計(jì)算機(jī)可以在其中進(jìn)行查找。您可以將dns作為分布式緩存一致性的一個(gè)很好的例子來研究,這是我們稍后會(huì)討論的內(nèi)容。
facebook和google在內(nèi)部廣泛使用分布式系統(tǒng),它們用它們來存儲(chǔ)您的數(shù)據(jù),它們使用它們來處理大量計(jì)算機(jī)云上的數(shù)據(jù)。當(dāng)你每天與這些服務(wù)交互時(shí),它們使用它們來實(shí)現(xiàn)你與之交互的服務(wù)系統(tǒng)。這些公司和更多公司都已經(jīng)證明可以構(gòu)建真正大規(guī)模的分布式系統(tǒng),其速度足以解決一大類非常重要的問題,而且它們可以變得非常可靠。
如果您曾經(jīng)發(fā)送過電子郵件,那么這就是您利用分布式系統(tǒng)的另一個(gè)地方。全球各地都有相互通信的郵件服務(wù)器,您的電子郵件在到達(dá)目的地時(shí)會(huì)通過一系列服務(wù)器進(jìn)行轉(zhuǎn)發(fā)。如果其中一臺(tái)服務(wù)器發(fā)生故障,每個(gè)人的電子郵件都不會(huì)停止,它只是停止等待,將通過故障服務(wù)器中計(jì)的消息的用戶子籍,當(dāng)它恢復(fù)時(shí)一切又開始工作。
現(xiàn)在您可能會(huì)有這樣的印象,分布式系統(tǒng)是為了解決互聯(lián)網(wǎng)規(guī)模問題而開發(fā)的。而且事實(shí)上分布式系統(tǒng)作為一個(gè)領(lǐng)域最初并不是為互聯(lián)網(wǎng)開發(fā)的,它是在互聯(lián)網(wǎng)出現(xiàn)之前開發(fā)的。分布式系統(tǒng)是我們歸類為分布式系統(tǒng)問題的問題。最初解決這個(gè)問題是為了建立基于固定電話的網(wǎng)絡(luò),這實(shí)際上是一個(gè)全球性的非常可靠容錯(cuò)的網(wǎng)絡(luò)。
后來我們添加了更多技術(shù)來處理移動(dòng)節(jié)點(diǎn),已構(gòu)建手機(jī)網(wǎng)絡(luò)。所以也許你可以說分布式系統(tǒng)對于網(wǎng)絡(luò)系統(tǒng)最有用。是的,只不過網(wǎng)絡(luò)比你想象的要多。例如您的汽車中至少有一個(gè)網(wǎng)絡(luò),也許不止一個(gè)網(wǎng)絡(luò)。使用所謂的can總線協(xié)議,汽車中的所有電子元件都聯(lián)網(wǎng)在一起。
例如您可能正在駕駛汽車打開音響,但汽車音響崩潰了。您最不想做的事情就是在can總線網(wǎng)絡(luò)上發(fā)送一條消息,該消息會(huì)使您的發(fā)動(dòng)機(jī)控制單元崩潰,從而導(dǎo)致發(fā)動(dòng)機(jī)故障。這可能會(huì)導(dǎo)致汽車實(shí)際崩潰,那會(huì)很糟糕。因此在汽車內(nèi)部使用分布式系統(tǒng)技術(shù)來幫助故障隔離。
分布式系統(tǒng)也用于交通運(yùn)輸?shù)钠渌I(lǐng)域,大城市的交通信號(hào)燈通常聯(lián)網(wǎng)在一起,以便以容錯(cuò)的方式使整個(gè)城市的交通順暢。列車控制網(wǎng)絡(luò)用于確保列車準(zhǔn)時(shí)運(yùn)行,并且不會(huì)在同一軌道上同時(shí)運(yùn)行兩列列車。
飛機(jī)是我最喜歡的寵物粒子,因?yàn)槲沂且幻w行員和航空極客。如果你觀察飛機(jī)內(nèi)部,你會(huì)發(fā)現(xiàn)飛機(jī)上的所有航空電子設(shè)備通常都是連接在一起的,各個(gè)航空電子設(shè)備之間通常通過rs232總線進(jìn)行連接。例如在這架飛機(jī)上gps知道飛機(jī)在哪里以及飛行員打算飛往哪里。
發(fā)動(dòng)機(jī)監(jiān)視器跟蹤發(fā)動(dòng)機(jī)及其所有參數(shù)、燃油流量、廢棄溫度、氣缸溫度,它基本上是在觀察發(fā)動(dòng)機(jī)的健康狀況。發(fā)動(dòng)機(jī)監(jiān)視器必須做的事情之一是如果它認(rèn)為您在到達(dá)目的地之前將耗盡燃料,它必須警告飛行員,它怎么能做到這一點(diǎn)?它從gps中了解目的地在哪里以及到達(dá)目的地需要多長時(shí)間,并且通過自己的監(jiān)控了解當(dāng)前消耗了多少燃料,這是簡單的數(shù)學(xué)。
但如果gps出現(xiàn)故障怎么辦?發(fā)動(dòng)機(jī)監(jiān)視器無法再完成這項(xiàng)工作,所以它有一個(gè)容錯(cuò)策略,它只是告訴飛行員:我不能再進(jìn)行這種計(jì)算了,請查看燃油表并使用計(jì)算器自行計(jì)算。偉大的,這并不是飛機(jī)上。使用分布式系統(tǒng)的唯一地方。
空中交通管制是人力分布式系統(tǒng)的一個(gè)例子,系統(tǒng)和程序的狀態(tài)在參與的飛行員、空中交通管制員以及空中交通管制員用于相互通信和協(xié)調(diào)所有交通的計(jì)算機(jī)之間劃分。實(shí)際上一旦您開始尋找分布式系統(tǒng),您就會(huì)開始在各處看到他們。
我試圖為這次演講想出好的例子,然后我開始認(rèn)為現(xiàn)在正處于選舉季節(jié),美國選舉投票系統(tǒng)真的只是具有拜暫停容錯(cuò)能力的分布式共識(shí)的一個(gè)例子嗎?我說的太過分了,對不起。正如您所知,我對分布式系統(tǒng)感到非常興奮。
實(shí)際上自從獲得博士學(xué)位以來,我在過去的十年里一直致力于分布式系統(tǒng)的工業(yè)研究,試圖使他們更具可擴(kuò)展性,更快,更易于使用。我希望通過這一系列視頻讓他們更容易理解,希望在看完這些視頻后您將知道應(yīng)該如何以及何時(shí)構(gòu)建自己的分布式系統(tǒng),并更好的理解他們的工作原理。
除桌面圖標(biāo)箭頭小技巧。
一招去除win10桌面圖標(biāo)小箭頭。上期視頻教大家win11的操作方法,今天這期是win10系統(tǒng)的操作方法,大家看好自己的系統(tǒng),不要弄錯(cuò)。
·首先在桌面創(chuàng)建一個(gè)記事本,復(fù)制粘貼這段代碼或文本中。
·然后打開記事本左上角文件,點(diǎn)擊另存為,選擇保存類型為所有類型,文件名設(shè)置為text.bat,然后點(diǎn)擊保存。
·此時(shí)桌面上的記事本格式就從TXT格式轉(zhuǎn)換成bat格式了,右鍵點(diǎn)擊test.bat文件,選擇以管理員身份運(yùn)行。
·運(yùn)行之后系統(tǒng)會(huì)出現(xiàn)幾個(gè)彈窗,依次點(diǎn)擊是即可。由于我是win11系統(tǒng),就不為大家演示了。
·最后結(jié)束回到桌面,快捷方式圖標(biāo)的小箭頭就順利去掉了。
下期為大家分享小箭頭回來的方法。關(guān)注我每天分享電腦小技巧。