❶ 編程是什麼意思
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
一、編程語言
機器語言:是機器能直接識別的程序語言或指令代碼。計算機是基於二進制的0和1來處理運算,這種0和1的組合指令又叫做機器語言。
編譯器:就像中國人和外國人說話要把中文翻譯成英文一樣。代碼要運行,就要把代碼翻譯成機器語言,這個過程叫做編譯,用來處理代碼編譯的軟體叫做編譯器。
編程語言:用來定義計算機程序的形式語言,用來向計算機發出指令。簡單來說,就是人類和計算機進行交流的語言。
二、計算機如何處理程序?
按照馮·諾依曼存儲程序的原理,計算機的工作流程大致如下:
用戶打開程序,程序開始執行;
操作系統將程序內容和相關數據送入計算機的內存;
CPU根據程序內容從內存中讀取指令;
CPU分析、處理指令,並為取下一條指令做准備;
取下一條指令並分析、處理,如此重復操作,直至執行完程序中的全部指令;
最後,將計算的結果放入指令指定的存儲器地址。
❷ 什麼叫編程,是什麼意思
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解顫高腔決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的茄衫指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
一、編程語言
機器語言:是機器能直接識別的程序語言或指令代碼。計算機是基於二進制的0和1來處理運算,這種0和1的組合指令又叫做機器語言。
編譯器:就像中國人和外國人說話要把中文翻譯成英文一樣。代碼要運行,就要把代碼翻譯成機器語言,這個過程叫做編譯,用來處理代碼編譯的軟體叫做編譯器。
編程語言:用來定義計算機程序的形式語言,用來向計算機發出指令。簡單來說,就是人類和計算機進行交流的語言。
二、計算機如何處理程序?
按照馮·諾依曼存儲程序的原理,計算機的工作流程大致如下:
用戶打開程序,程序開始執行;
操作系統將程序內容和相關數據送入計算機的內存;
CPU根據程序內容從內存中讀取指令;
CPU分析、處理指令,並為取下一條指令做准備;
取下一條指令並分析、處理,如此重復操作,直至執行完程序中的全部指令;
最後,將計算的結果放入指令指定的存儲器地址念哪。
❸ 數據網格技術是什麼
網格技術基本概念:
一家票務公司要銷售滾石樂隊的告別演出門票,部門經理擔心,開始網上售票後,公司的伺服器和軟體會不會不堪重負?但實際上該公司並沒有增加數十個伺服器和存儲系統,有關IT人員只是擰開開關,將公司的骨幹網與一個「網格」相聯。結果公司在3分鍾內銷售了90萬張門票,沒有一個顧客因系統處理能力不足而被拒之門外。
上述情景並非可望而不可及。網格作為一種能帶來巨大處理、存儲能力和其他IT資源的新型網路,可以應付臨時之用。網格計算通過共享網路將不同地點的大量計算機相聯,從而形成虛擬的超級計算機,將各處計算機的多餘處理器能力合在一起,可為研究和其他數據集中應用提供巨大的處理能力。有了網格計算,那些沒有能力購買價值數百萬美元的超級計算機的機構,也能利用其巨大的計算能力。
計算的「烏托邦」?
Gartner公司的Rob Batchelder認為,網格的構想一直是計算領域的「烏托邦」,在科技應用上雖有巨大前景,但最大的缺陷是缺乏明顯的商業應用。自20世紀90年代在歐美出現以來,網格主要被用於幫助分散的大學研究人員分析粒子加速器和巨型望遠鏡的數據。但在過去的兩年中,網格的概念和GlobusToolkit已在研究和教育領域得到廣泛應用,數十項全球性的大項目採用這些技術,以挑戰科學計算中的海量計算問題。
目前網格技術雖主要為學術機構所控制,但企業也在陸續跟進。事實上,全球網格論壇(GlobalGridForum)的主要贊助企業就包括Unilever——一家以經銷肥皂、冰淇淋著稱的企業。與許多正在研究和評估網格技術的企業一樣,Unilever自己對於如何利用此技術仍秘而不宣。而Johnson&Johnson與Merck等制葯公司、BMW與波音等製造企業卻已利用這一技術的處理能力和存儲空間進行模擬試驗,例如葯品能否保護細胞免受病毒侵襲?飛機機翼是否會在暴風雨中折斷?
基因研究是網格技術的自然應用,這一領域所需的投資很難由一家企業來承擔,生物科技企業可用網格技術來分析基因數據;醫生可以用網格技術製作出病人器官的三維模型,作為診斷疾病的輔助手段;網格可以處理來自商店現金記錄或金融市場的數據流。其他行業,如航空、保險、運輸和國防,也會從中受益。如此看來,網格計算並非是可望不可及的烏托邦,其商業應用的廣闊前景就在眼前。
爭奪控制權
網格計算被譽為繼Internet和Web之後的「第三個信息技術浪潮」,有望提供下一代分布式應用和服務,對研究和信息系統發展有著深遠的影響。主要IT廠商早就為獲得網格計算的控制權展開了競爭。
Sun公司日前發布了「網格引擎」企業版5.3的測試版,使企業內部的計算機網格更容易聯接,提供更好的管理和資源分配。網格引擎軟體提供了開放源代碼版本,自2000年發布到目前為止,共被下載了1.2萬次,共有11.8萬個CPU利用該軟體進行管理。Sun公司技術產品營銷經理PeterJeffcock認為,網格計算有明顯的三個階段:群集網格、校園網格和全球網格,目前發布的GridEngine企業版5.3使Sun向功能校園網格邁進了一步。Sun還與競爭對手一起支持AVAKI與Globus等行業組織,積極參與網格計算開放標準的建立。
Microsoft的研究部門也參與了各項分布式計算研究項目,包括容錯遠程文件系統Farsite,以及建設分布式系統的Millenium;HP也表示將提供Coolbase軟體,使用戶可以通過Internet共享各種計算設備;Compaq宣布正在制定一個全球性的網格計算解決方案計劃,向尋求網格計算系統的客戶提供軟硬體和技術支持。為此,Compaq與加拿大PlatformComputing結盟,充分利用該技術,以及CompaqTru64UnixAlpha伺服器系統和運行Linux的CompaqProLiant伺服器,為用戶提供完整的、集成的、開放的網格解決方案。Compaq還建立了網格計算高級研究中心,繼續對該技術進行研究。日本的企業在網格計算方面也躍躍欲試。NTT宣布將於2002年中期開展為期6個月的網格計算試驗,參與者包括了Intel、SGI等。
今年8月,IBM宣布在網格計算領域投資40億美元,在全球建設40家數據中心,正式進入網格計算領域。IBM被英國政府選中,負責NationalGrid(國家網格)項目,這項預算達2500萬美元的網格會把8所大學的計算機相連。IBM目前正與美國的賓夕法尼亞大學合作,將數家醫院聯接,構建一個復雜的計算網格。參與的醫院可快速利用遠方的醫療數據,並共享分析程序。日前,IBM還宣布了一項名為北卡羅萊納生物信息科學網格的項目,涉及60家企業、大學和生物醫學研究公司,這是全球第一個主要由私營行業參與的網格項目。而此時距IBM進入網格計算領域僅僅3個月。看來IBM是要立志做網格技術的「領頭羊」。
那麼,這一項目的實施是否標志網格計算已開始進入商業應用呢?
標準是成功關鍵
就像TCP/IP協議是Internet的核心一樣,構建網格計算也需要對標准協議和服務進行定義。目前,包括Global Grid Forum、研究模型驅動體系結構(Model Driven Architecture)的對象管理組織(OMG)、致力於網路服務與語義WWW研究的W3C,以及Globus.org等標准化團體蠢蠢欲動。
今年7月,OMG、W3C、Grid Forum等標准化組織與來自學術、商業領域的人士出席了「軟體服務網格研討會」,加快全球大網格(GGG)標準的制定。接著,另一開放源代碼網格標准組織——Globus也集會研究通過廣域網聯接的高性能計算的基礎設施問題。Globus目前正致力於開發標準的網格架構和其他技術。
迄今為止,網格計算還沒有正式的標准,但在核心技術上,相關機構與企業已達成一致:由美國Argonne國家實驗室與南加州大學信息科學學院(ISI)合作開發的Globus Toolkit已成為網格計算事實上的標准,包括Entropia、IBM、Microsoft、Compaq、Cray、SGI、Sun、Veridian、Fujitsu、Hitachi、NEC在內的12家計算機和軟體廠商已宣布將採用Globus Toolkit。作為一種開放架構和開放標准基礎設施,Globus Toolkit提供了構建網格應用所需的很多基本服務,如安全、資源發現、資源管理、數據訪問等。目前所有重大的網格項目都是基於Globus Tookit提供的協議與服務建設的。
除了標准以外,安全和可管理性、IT人才的缺乏也是網格計算亟待解決的一個問題,否則將無法成為企業的商業架構。在內部系統環境中常常視而不見的問題,如安全、認證和可靠性,在任何分布式環境下都必須得到解決。研究咨詢公司StencilGroup的合夥人Brent Sleeper認為:「這要求具有高層次的架構技能,而不是簡歷上列出的編程語言。」如果把全球的網格都聯在一起,那麼就能借用彼此未用的資源,網格就會更強大和靈活。雖然這也是網格的最終目標,但把網格聯在一起也會帶來政治問題。IBM為大學建設網格或Unilever建設內部的網格都只是單純的IT決策,而將私有網格聯接,形成能力更大的共享網格,其中的風險卻大得多。在客戶需要時,相互競爭的網格提供商是否願意出售彼此多餘的資源?此外,網格應用常涉及大量的數據和計算,需要在各組織間共享安全資源,這不是當前的Internet和網路基礎設施所能做到的。看來在網格計算實現商業應用之前,還有很多的問題需要解決。
然而,設想一下運用前所未聞的計算能力所能完成的工作,我們都會明白,構建全球網格的前景幾乎是無法抗拒的。美國Argonne國家實驗室的科學家Rick Stevens指出:「就像最初的Arpanet成為Internet的中心一樣,就把Teragrid看做是形成全球網格中心的雛形吧!」
網格的商業應用
生物醫學:網格可提供葯品開發人員所需的計算能力,用以研究葯物和蛋白質分子的形態與運動。
工程:波音、福特、bmw公司都在嘗試用網格計算進行復雜的模擬與設計。
數據搜集/分析:製造、石油加工、貨物運輸、甚至零售企業都要維護昂貴的設備,時常會出現問題,造成不好的結果。同無線感測器一樣,網格能夠存儲和處理所有交易。
❹ 編程的科普小知識
1.編程是什麼
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強叢坦大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。
於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。 那程序到底是什麼呢? 程序也就是指令的 *** ,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。
計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。 這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。
而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。 寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。
因此,編程實際上也就是「人給計算機出規則」這么一個過程。 隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的 *** ,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。 匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。
它同樣需要編程者將每一步具體的操作用命令的形式寫出來。 匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。
由於省略了很多細節,所以編程者也不需要具備太多的專業知識。 高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不局燃能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。 (2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。
但應用程序一旦需要修改,必須先桐鄭虛修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。
或許你又會問到另一個問題:現在要什麼程序有什麼程序, *** 嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢! 程序還能夠做很多事情不同的程序可以完成不同的。
2.科普小知識資料有哪些
科普小知識按研究對象不同可分為自然科學、社會科學和思維科學。
1、自然科學是關於自然現象的各門具體科學,研究自然界的本質和規律。
例如,數學、物理學、化學、天文學、地理學、生物學等等。
2、社會科學是關於社會現象的各門具體科學、力求揭示社會的本質和規律。
例如,經濟學、政治學、軍事學、社會學、管理學、教育學等等。
3、人文科學是關於人類文化現象的各門具體科學、力求揭示社會文化領域的本質和規律。
例如,語言學、歷史學、考古學、倫理學、美學、宗教學等等。
科學知識普及簡稱科普,又稱大眾科學或者普及科學,是指利用各種傳媒以淺顯的、讓公眾易於理解、接受和參與的方式向普通大眾介紹自然科學和社會科學知識、推廣科學技術的應用、倡導科學方法、傳播科學思想、弘揚科學精神的活動。科學普及是一種社會教育。
參考資料
科學的分類.360個人圖書館[引用時間2018-4-4]
3.計算機編程入門
選擇一門編程語言、建立基本的編程思想、注重實驗和學習相關知識。
1、選擇一門編程語言。
雖然目前編程語言有600種左右,但是比較流行的編程語言只有幾十種,所以盡量選擇流行程度比較高的編程語言來入門編程。對於沒有明確編程場景的初學者來說,盡量選擇全場景編程語言,比如Java、Python、C#等就是不錯的選擇,不僅應用范圍廣泛,而且也有大量的開發案例可以參考學習。
2、建立基本的編程思想。
編程語言本身的難度並不高,只要掌握了相應的編程規則就能逐漸建立起自己的編程思想。建立編程思想的第一步是了解編程語言的基本語法規則,以Java語言為例,要掌握各種抽象概念,比如類、對象、屬性、方法等;第二步是了解基本的編程過程,比如類的定義、對象的創建、方法的調用;第三步是學習經典的編程模式。
3、注重實驗。
學習編程語言一定要重視實驗,實驗不僅能夠幫助理解各種抽象概念,也能在一定程度上積累編程經驗。
4、學習相關知識。
在學習編程語言的過程中,也需要同時學習計算機網路、資料庫等相關知識,在當前的雲計算和大數據時代背景下,還需要掌握如何通過雲計算(PaaS)來輔助開發,以及如何利用大數據平台的各種資源。
(4)編程是什麼叫網格擴展閱讀
注意事項:
1、網上有很多編程社區,編程論壇,以及免費的學習教程、視頻資源等。剛開始學習,除了看書,要親自上手實踐,遇到問題去這些地方查找。
2、要學習電腦編程,對於剛入門的新手來說,一定要多實踐,多敲代碼,遇到bug上網查找,多看看別人的博客、個人網站,向程序員大牛學習。
4.計算機的科學、學問除了編程一大方面還有哪幾個方面
計算機的科學?與計算機有關的學科有:計算機科學,數學,計算機程序設計,軟體工程,計算機工程等。
如你所說的微電子學,電學等都是以上學科的基礎性課程。如學數字電子技術(或稱計算機邏輯),再學計算機組成與結構,再學微機原理介面,學具體的微機(MCU,DSP)。
課程都是一門承接著一門的。以下可做參考:硬體 結構控制和指令系統 演算法和邏輯結構 存儲器結構 馮·諾伊曼結構 哈佛結構 輸入/輸出和數據通信 數字邏輯 邏輯設計 集成電路 計算機系統組織 計算機系統結構 計算機網路 分布式計算 網路安全 計算機系統實現 軟體 系統軟體 操作系統 編譯器 應用軟體 計算機游戲 辦公自動化 網路軟體 CAD軟體 計算機程序 程序設計和程序設計實踐 面向對象技術 程序設計語言 軟體工程 軟體復用 驅動程序 計算機模擬 程序設計方法學 數據和信息系統 數據結構 數據存儲表示 數據加密 數據壓縮 編碼與資訊理論 文件 信息系統 管理信息系統 決策支持系統 - 專家系統 資料庫 信息存儲和數據存取 信息交互與表達 主要的研究領域 形式化基礎 邏輯學 謂詞邏輯 模態邏輯 時序邏輯 描述邏輯 數學 泛代數 遞歸論 模型論 概率論和數理統計 邏輯代數 布爾代數 離散數學 組合數學 圖論 網論 資訊理論 理論計算機科學 形式語言 自動機 可計算性 演算法 計算復雜性 描述復雜性 編譯器 程序設計理論 資訊理論 類型理論 指稱語義 微程序 遺傳演算法 並行計算 計算方法學 人工智慧 計算機圖形學 圖像處理與計算機視覺 模式識別 語音識別 文字識別 簽名識別 人臉識別 指紋識別 模擬與建模 數字信號處理 文檔與文本處理 計算機應用 數值計算 數值分析 定理機器證明 計算機代數 工程計算 計算機化學 計算機物理 生物資訊理論 計算生物學 非數值計算 工廠自動化 辦公室自動化 人工智慧 信息存儲與檢索 符號語言處理 計算機輔助科學 計算機輔助設計 計算機輔助教學 計算機輔助管理 計算機輔助軟體工程 機器人學 多媒體技術 人機交互 電子商務 特定技術 測試基準 機器視覺 數據壓縮 軟體設計模式 數字信號處理 文件格式 信息安全 國際互聯網路 超大規模集成電路設計 網路傳輸協議 網路處理器技術 整數運算器 浮點運算器 矩陣運算處理器 網格 計算科學史 計算機歷史 軟體業歷史 編程思想。
5.科普小知識的內容是什麼
科普小知識的內容是什麼?
科普知識是一種用通俗易懂的語言,來解釋種種科學現象和理論的知識文字。用以普及科學知識為目的。
科普知識涵蓋了科學領域的各個方面,無論是物理、化學、生物各個學科,還是日常生活無不涉及到科普知識。由於其范圍的廣泛性,奠定了科普知識的重要意義和影響。科普知識的重要意義必然要求我們的科普教育必須與時俱進的與我們所提倡的素質教育同行。同步發展。使科普知識,科普教育真正意義上走進人們的生活。科普知識的意義和影響必將是深遠的、長久的。
這里舉兩個例子:
1.為甚麼星星會一閃一閃的?
我們看到星閃閃,這不是因為星星本身的光度出現變化,而是與大氣的遮擋有關。
大氣隔在我們與星星之間,當星光通過大氣層時,會受到大氣的密度和厚薄影響。大氣不是絕對的透明,它的透明度會根據密度的不同而產生變化。所以我們在地面透過它來看星星,就會看到星星好像在閃動的樣子了。
2. 為甚麼人會打呵欠?
當我們感到疲累時,體內已產生了許多的二氧化碳。當二氧化碳過多時,必須再增加氧氣來平衡體內所需。因為這些殘留的二氧化碳,會影響我們身體的機能活動,這時身體便會發出保護性的反應,於是就打起呵欠來。
打呵欠是一種深呼吸動作,它會讓我們比平常更多地吸進氧氣和排出二氣化碳,還做到消除疲勞的作用呢。
……
6.科普小知識
科學知識
1白天,鳥兒們在枝頭穿梭嗚叫,在藍天下自由飛翔,到了晚上,它們和我們人一樣也要休息、睡覺,恢復體力,不過它們睡覺的姿勢可是各不相同的。
2冰糕冒氣是因為外界空氣中有不少眼睛看不見的水汽,碰到很冷的冰糕時,一遇冷就液化成霧滴包圍在冰糕周圍,看上去似乎是冰糕在「冒氣」一樣。
3向日葵的莖部含有一種奇妙的植物生長素。這種生長素非常怕光。一遇光線照射,它就會到背光的一面去,同時它還 *** 背廣義面的細胞迅速繁殖,所以,背光的一面就比向光的一面生長的快,使向日葵產生了向旋光性彎曲。
4蟬的外殼(外骨骼)是堅硬的,不能隨著蟬的生長而擴大,當蟬生長到一定階段時,蟬的外骨骼限制了蟬的生長,蟬將原有的外骨骼脫去,就是蟬蛻。
5蜂先把采來的花朵甜汁吐到一個空的蜂房中,到了晚上,再把甜汁吸到自己的蜜胃裡進行調制,然後再吐出來,再吞進去,如此輪番吞吞吐吐,要進行100~240次,最後才釀成香甜的蜂蜜
6我們看到星閃閃,這不是因為星星本身的光度出現變化,而是與大氣的遮擋有關。大氣隔在我們與星星之間,當星光通過大氣層時,會受到大氣的密度和厚薄影響。大氣不是絕對的透明,它的透明度會根據密度的不同而產生變化。所以我們在地面透過它來看星星,就會看到星星好像在閃動的樣子了。
7當我們感到疲累時,體內已產生了許多的二氧化碳。當二氧化碳過多時,必須再增加氧氣來平衡體內所需。因為這些殘留的二氧化碳,會影響我們身體的機能活動,這時身體便會發出保護性的反應,於是就打起呵欠來。打呵欠是一種深呼吸動作,它會讓我們比平常更多地吸進氧氣和排出二氣化碳,還做到消除疲勞的作用呢。
8蛇的身上有很多鱗片,這是它們身上最外面的一層盔甲。鱗片不但用來保護身體,還可以是它們的「腳」。蛇向前爬行時,身體會呈S形。而每一片在S形外邊的鱗片,都會翹起來,幫助蛇前進時抓住不平的路面。這些鱗片跟蛇的肌肉互相配合,並能推動身體向前爬行,所以蛇沒有腳也可以走動呀!
9我們的頭發中有一種叫「黑色素」的物質,黑色素愈多頭發的顏色便愈黑。而黑色素少的話,頭發便會發黃或變白。人類到了老年時,身體的各種機能會逐漸衰退,色素的形成亦會愈來愈少,所以頭發也會漸漸變白啊
10當別人搔自己時,我們會倍感痕癢,而且不斷大笑;可是,當自己搔自己的時候,我們不單不會大笑,而且更不感痕癢。基於我們的思想上已有了准備,大腦會發出一種 「不會有危險」的訊息,神經亦隨之放鬆,所以便不會大笑起來和感到痕癢了!
11望向大海,很多時也發現海水呈現藍、綠色。可是,當你把海水撈起時,你卻只能看到它像往日的水般,透明無色。原來,海水本身與我們日常所接觸到的水沒有大分別,也是透明的。我們所看到的綠色,其實是海水對光吸收能力而產生出來的現象。只有綠光能被海水吸收,從而反射出來;當海水更深時,綠光也被吸收,海水看上去便成了藍色。
12我們的皮膚表面長著汗毛,而每一個毛孔下都有一條豎毛肌,當受到神經 *** (例如:生氣、害怕、受涼等情況)後,身體的溫度會下降,而豎毛肌便會收縮而令毛發豎立起來,形成雞皮疙瘩。除了有著保溫的作用外,這個生理系統亦可使動物的體型看起來比實際更大,從而嚇退敵人
7.科學小知識大全
科學小知識 冰糕為什麼會冒氣? 冰糕冒氣是因為外界空氣中有不少眼睛看不見的水汽,碰到很冷的冰糕時,一遇冷就液化成霧滴包圍在冰糕周圍,看上去似乎是冰糕在「冒氣」一樣。
向日葵為什麼總是向著太陽? 向日葵的莖部含有一種奇妙的植物生長素。這種生長素非常怕光。
一遇光線照射,它就會到背光的一面去,同時它還 *** 背光一面的細胞迅速繁殖,所以,背光的一面就比向光的一面生長的快,使向日葵產生了向光性彎曲。 蟬為什麼會蛻皮? 蟬的外殼(外骨骼)是堅硬的,不能隨著蟬的生長而擴大,當蟬生長到一定階段時,蟬的外骨骼限制了蟬的生長,蟬將原有的外骨骼脫去,就是蟬蛻。
蜜蜂怎樣釀蜜? 蜂先把采來的花朵甜汁吐到一個空的蜂房中,到了晚上,再把甜汁吸到自己的蜜胃裡進行調制,然後再吐出來,再吞進去,如此輪番吞吞吐吐,要進行100~240次,最後才釀成香甜的蜂蜜。
❺ 編程是什麼
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
(5)編程是什麼叫網格擴展閱讀:
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
編譯方式下,首先通過一個對應於所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序。
然後通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。
❻ 網格是指什麼意思
網格指的是網格化社會服務管理模式,網格內有網格管理員、網格助理員、網格督導員、網格警員、網格黨支部書記和網格司法力量和網格消防員七類人員,分工承擔網格內的社會服務和社會管理各項事務。
網格員就是駐區的社區民警。只不過公安分局根據區域內的人員情況、社會治安復雜程度將區域劃分成網格。平均每個社區劃分成3到5個網格。
網格內有網格管理員、網格助理員、網格督導員、網格警員、網格黨支部書記和網格司法力量六類人員,分工承擔網格內的社會服務和社會管理各項事務。民警主要承擔治安秩序維護、矛盾糾紛化解、實有人口管理、便民利民服務等任務。
網格管理員工作職責:
一、嚴格遵守各項網格管理規章制度,認真履行網格管理各項職責。
二、對網格管理實行專職負責,為網格管理第一責任人。
三、要發揮牽頭指揮作用,虛心接受網格督導員的監督和指導,帶領網格協管員開展網格管理各項工作。
四、對網格協管員採集、排查的各類信息進行簽名茄清審定並上報信息系統。
五、積極主動做好不和諧因素的排查化解工作,力爭將一般性的不和諧因素自行化解在網格內。
六、對網格自行化解的進行提交結案操作,對街道科室部門、提交的結案信息進行認真及時的核實確認。
七、積極配合、全力協助街道科室部門、調處各類矛盾糾紛,整治各類問題隱患,確保網格內突出的不和諧因素得到及時有效的化解。
八、會同網格協管員和網格督導員認真研究分析網格內的各種不和諧因素產生的原因,及時採取有效的賀衫穩控措施。
九、通過工作例會向分包領導和社居村、委主任匯報網格工作開展的情況及存在的問題,並提出改進意見。
十、完成分包領導和社居村、委主任交辦的顫拍前其它工作任務。
❼ 編程是什麼
編程 是個動詞,編程==寫代碼,寫代碼為了什麼? 為了讓計算機干你想要乾的事情,比如,馬化騰想跟別人聊天,於是寫了個聊天軟體,這個軟體就是一堆代碼的集合,這些代碼是什麼?這些代碼是計算機能理解的語言。
那計算能理解的語言是什麼呢? 之前,我們已經了解到,它只能理解2進制,0101010…,你總不能人肉輸一堆二進制給計算機(雖然最原始的計算機就是這么乾的)讓它工作吧,這樣開發速度太慢了。所以最好的辦法就是人輸入簡單的指令,計算機能把指令轉成二進制進行執行,舉例如下:
假如 程序員想讓計算機 播放一首 歌曲 , 只需要輸入指令 ,
open "老男孩.mp3"
play
計算機的CPU接收到這樣的指令後,會把它轉成一堆 只有cpu可以理解的指令,然後再將指令變成各種對應的如下類似二進制
[ op | rs | rt | address/immediate]
353868decimal
binary
最終cpu 去調用你的硬碟上這首歌,通過音箱播放。
上面cpu那段指令太難理解了,如果讓你天天寫這樣的代碼,大家非得自殺不可。還好,偉大的計算機先驅們,開發了各種編程語言,讓我們只需要通過寫一些簡單的規則,就能操作計算機工作啦。
有哪些編程語言?
編程語言總體分以為機器語言、匯編語言、高級語言,如下
機器語言
由於計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱為目標程序。只有目標程序才能被計算機直接識別和執行。但是機器語言編寫的程序無明顯特徵,難以記憶,不便閱讀和書寫,且依賴於具體機種,局限性很大,機器語言屬於低級語言。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作。編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。除了計算機生產廠家的專業人員外,絕大多數的程序員已經不再去學習機器語言了。
機器語言是微處理器理解和使用的,用於控制它的操作二進制代碼。
盡管機器語言好像是很復雜的,然而它是有規律的。
存在著多至100000種機器語言的指令。這意味著不能把這些種類全部列出來。
以下是一些示例:
指令部份的示例
0000 代表 載入(LOAD)
0001 代表 存儲(STORE)
…
暫存器部份的示例
0000 代表暫存器 A
0001 代表暫存器 B
…
存儲器部份的示例
000000000000 代表地址為 0 的存儲器
000000000001 代表地址為 1 的存儲器
000000010000 代表地址為 16 的存儲器
100000000000 代表地址為 2^11 的存儲器
集成示例
0000,0000,000000010000 代表 LOAD A, 16
0000,0001,000000000001 代表 LOAD B, 1
0001,0001,000000010000 代表 STORE B, 16
0001,0001,000000000001 代表 STORE B, 1[1]
匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作。例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
匯編的hello world,列印一句hello world, 需要寫十多行,也是醉了。
; hello.asm
section .data ;數據段聲明
msg db "Hello, world!",0xA;要輸出的字元串
len equ $ - msg ;字串長度
section .text ;代碼段聲明
global _start ;指定入口函數
_start:;在屏幕上顯示一個字元串
mov edx, len ;參數三:字元串長度
mov ecx, msg ;參數二:要顯示的字元串
mov ebx,1;參數一:文件描述符(stdout)
mov eax,4;系統調用號(sys_write)
int0x80;調用內核功能
;退出程序
mov ebx,0;參數一:退出代碼
mov eax,1;系統調用號(sys_exit)
int0x80;調用內核功能
高級語言
高級語言是大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬於高級語言。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行(編譯後生成的可執行文件,是cpu可以理解的2進制的機器碼組成的),使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .obj,也就是OBJ文件)才能執行,只有目標文件而沒有源代碼,修改很不方便。
編譯後程序運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器(想運行,必須先裝上解釋器,就像跟老外說話,必須有翻譯在場),但這種方式比較靈活,可以動態地調整、修改應用程序。如Python、Java、PHP、Ruby等語言。
總結
機器語言
優點是最底層,速度最快,缺點是最復雜,開發效率最低
匯編語言
優點是比較底層,速度最快,缺點是復雜,開發效率最低
高級語言
編譯型語言執行速度快,不依賴語言環境運行,跨平台差
解釋型跨平台好,一份代碼,到處使用,缺點是執行速度慢,依賴解釋器運行
主流編程語言介紹(10分鍾)
世界上的編程語言有600多種,但真正大家主流在使用的最多二三十種,不同的語言有自己的特點和擅長領域,隨著計算機的不斷發展,新語言在不斷誕生,也同時有很多老舊的語言慢慢無人用了。有個權威的語言排名網站,可以看到主流的編程語言是哪些
TIOBE發布編程語言排行榜已經快6年的時光了,在這六年中我們見證了不少語言的起起落落。雖然國內有很多大牛說,關注這語言的排名沒有多少意義。但仍可以看出那些語言日漸興盛,哪些日漸沒落,我們從Objective-C的上升過程中,還是能看到移動設備端,特別是iOS應用開發方面的黃金潛力。
下面介紹下幾個主流的編程語言:
C語言:
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
C++:
C++是C語言的繼承的擴展,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。C++擅長面向對象程序設計的同時,還可以進行基於過程的程序設計,因而C++就適應的問題規模而論,大小由之。
C++不僅擁有計算機高效運行的實用性特徵,同時還致力於提高大規模程序的編程質量與程序設計語言的問題描述能力。
JAVA:
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平台(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於個人PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。
PHP:
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域
Ruby:
Ruby 是開源的,在Web 上免費提供,但需要一個許可證。[4]
Ruby 是一種通用的、解釋的編程語言。
Ruby 是一種真正的面向對象編程語言。
Ruby 是一種類似於 Python 和 Perl 的伺服器端腳本語言。
Ruby 可以用來編寫通用網關介面(CGI)腳本。
Ruby 可以被嵌入到超文本標記語言(HTML)。
Ruby 語法簡單,這使得新的開發人員能夠快速輕松地學習 Ruby
GO:
Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟體變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發,後來還加入了Ian Lance Taylor, Russ Cox等人,並最終於2009年11月開源,在2012年早些時候發布了Go 1穩定版本。現在Go的開發已經是完全開放的,並且擁有一個活躍的社區。
由其擅長並發編程
Python:
Python是一門優秀的綜合語言, Python的宗旨是簡明、優雅、強大,在人工智慧、雲計算、金融分析、大數據開發、WEB開發、自動化運維、測試等方向應用廣泛,已是全球第4大最流行的語言。
❽ 什麼是網格技術
網格是把整個網際網路整合成一台巨大的超級計算機鬧神,實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。當然,網液穗虧格並不一定非要這么大,我們也可以構造地區性的網格,如中關村科技園區網格、企事業內部網格、區域網網格、甚至家庭網格和個人網格。事實上,網格的根本特徵是資源共享而不是它的規模。它應用到不同領域又叫計算網格、信息網格、知識網格、服務網格等。
由於網格是一種新技術,因此具有新技術的兩個特徵:其一,不同的群體用不同的名詞來稱謂它;其二,網格的精確含義和內容還沒有固定,而是在不斷變化。因此,我們不應該空談和爭論什麼是網格,什麼不是網格,而應該集中精力解決關鍵問題。
最「正統」的網格研究來源於美國聯邦政府過去10年來資助的高性能計算項目。這類研究使用的名詞就是「網格」(Grid)或「計算網格」。早期還使用過另一個名詞—「元計算」(Metacomputing)。這類研究的目標是將跨地域的多台高性能計算機、大型資料庫、貴重科研設備(電子顯微鏡、雷達陣列、粒子加速器、天文望遠鏡等)、通信設備、可視化設備和各種感測器整合成一個巨大的超級計算機系統,支持科學計算和科學研究。這方面的代表性研究工作包括美族搭國國家科學基金會資助的NPACI、「國家技術網格」(NTG)、分布萬億次級計算設施(DTF)、美國宇航總署的IDG、美國能源部的ASCI Grid以及歐盟的Data Grid等(有關這些網格研究的信息可從「全球網格論壇」 www.gridforum.org網站查閱)。
也有人把網格看成是未來的互聯網技術。國外媒體常用「下一代Internet」、「Internet2」、「下一代Web」等詞語來稱呼與網格相關的技術。要注意的是,「下一代Internet」(NGI)和「Internet2」又是美國的兩個具體科研項目的名字,它們與網格研究目標相交,但研究內容和重點有很大不同。中國科學院計算所所長李國傑院士認為,網格實際上是繼傳統網際網路、Web之後的第三個大浪潮,可以稱之為第三代網際網路。簡單地講,傳統網際網路實現了計算機硬體的連通,Web實現了網頁的連通,而網格試圖實現互聯網上所有資源的全面連通,包括計算資源、存儲資源、通信資源、軟體資源、信息資源、知識資源等。
還有一類研究的側重點是智能信息處理,它與網格研究的共同點是如何消除信息孤島和知識孤島,實現信息資源和知識資源的智能共享。這方面研究常見的名詞包括語義網(Semantic Web)、知識管理(Knowledge Management)、知識本體(Ontology)、智能主體(Agents)、信息網格、知識網格、一體化智能信息平台等。
企業界用的名字就更多了,包括內容分發(Contents Delivery)、服務分發(Service Delivery)、電子服務(e-service)、實時企業計算(Real-Time Enterprise Computing,簡稱RTEC)、分布式計算、Peer-to-Peer Computing(簡稱P2P)、Web服務(Web Services)等。這些名詞所代表的技術有一個共同點,即將網際網路上的資源整合成一台超級伺服器,有效地提供內容服務、計算服務、存儲服務、交易服務等。另一個共同點是這些技術會盡量利用現有的Internet/Web技術,以便早出產品。當然這些技術也各有小的區別。比如,P2P強調打破Client/Server或Browser/Server的主從模式,用對等模式(或無伺服器模式)實現超級伺服器的功能。RTEC則強調對企業級在線事務處理的實時支持。
在企業界對網格的相關研究開發工作中,最重要的就是Web服務。不僅那些正在創業的小公司,而且像IBM這樣的大牌公司也在加緊開發Web服務產品。目前,這些公司已經就幾個底層標准協議達成了共識,包括XML、SOAP、WSDL、UDDI等。Web服務不是純研究,而主要是產品開發,因此可望在2002~2003年在市場上開始普及。
網格的類型
現狀http://www.e.cn/20031030/3093557.shtml
❾ 什麼是「網格」
在信息學中,網格是一種用於集成或共享地理上分布的各種資源(包括計算機系統、存儲系統、通信系統、文件、資料庫、程序等),使之成為有機的整體,共同完成各種所需任務的機制。
網格是一種新興的技術,正處在不斷發展和變化當中。學術界和商業界圍繞網格開展的研究有很多,其研究的內容和名稱也不盡相同因而網格尚未有精確的定義和內容定位。比如國外媒體常用「下一代互聯網」、 「Internet2 」、「下一代Web」等來稱呼網格相關技術。
網格是利用互聯網把地理上廣泛分布的各種資源(包括計算資源、存儲資源、帶寬資源、軟體資源、數據資源、信息資源、知識資源等)連成一個邏輯整體,就像一台超級計算機一樣,為用戶提供一體化信息和應用服務(計算、存儲、訪問等),虛擬組織最終實現在這個虛擬環境下進行資源共享和協同工作,徹底消除資源「孤島」,最充分的實現信息共享。
(9)編程是什麼叫網格擴展閱讀:
網格技術的應用:
1、生物醫學:
網格可提供葯品開發人員所需的計算能力,用以研究葯物和蛋白質分子的形態與運動。
2、工程:
波音、福特、bmw公司都在嘗試用網格計算進行復雜的模擬與設計。
3、數據搜集/分析:
製造、石油加工、貨物運輸、甚至零售企業都要維護昂貴的設備,時常會出現問題,造成不好的結果。同無線感測器一樣,網格能夠存儲和處理所有交易。
4、娛樂產業:界面設計
網格作為一個集成的計算與資源環境,能夠吸收各種計算資源,將它們轉化成一種隨處可得的、可靠的、標準的且相對經濟的計算能力,其吸收的計算資源包括各種類型的計算機、網路通信能力、數據資料、儀器設備甚至有操作能力的人等各種相關資源等。
❿ 網格的結構體系
在介紹網格的特徵之前,我們首先要解決一個重要的問題:網格是不是分布式系統?這個問題之所以必須回答,因為人們常常會問另一個相關的問題:為什麼我們需要網格?現在已經有很多系統(比如海關報關系統、飛機訂票系統)實現了資源共享與協同工作。這些系統與網格有什麼區別?
對這個問題的簡要回答是:網格是一種分布式系統,但網格不同於傳統的分布信歷式系統。IBMGlobal Service與EDS是在這個分布式領域最著名的公司。構建分布式系統有三種方法:即傳統方法(我們稱之為EDS方法)、分布自律系統(Autonomous Decentralized Systems, ADS)方法,網格(grid)方法。ADS通常用於工業控制系統中。網格方法與傳統方法的區別見下表:
特徵 傳統分布式系統 網格
開放性 需求和技術有一定確定性、封閉性 開放技術、開放系統
通用性 專門領域、專有技術 通用技術
集中性 很可能是統一規劃、集中控制 一般而言是自然進化、非集中控制
使用模式 常常是終端模式或C/S模式 服務模式為主
標准化 領域標准或行業標准 通用標准(+行業標准)
平台性 應用解決方案 平台或基礎設施
通過以上對比,網格具有以下四點優勢:
(1)資源共享,消除資源孤島:網格能夠提供資源共享,它能消除信息孤島、實現應用程序的互連互通。網格與計算機網路不同,計算機網路實現的是一種硬體的連通,而網格能實現應用層面的連通。
(2)協同工作:網格第二個特點是協同工作,很多網格結點可以共同處理一個項目。
(3)通用開放標准,非集中控制,非平凡服務質量:這是Ian Foster最新提出的網格檢驗標准。網格是基於國際的開放技術標准,這跟以前很多行業、部門或者公司推出的軟體產品不一樣。
(4)動態功能,高度可擴展性:網格可以提供動態的服務,能夠適應變化。同時網格並非限制性的,它實現了高度的可擴展性。 網格之所以能有以上所說的種種優勢特徵,是由網格的體系結構賦予它的。網格體系結構的主要功能是劃分系統基本組件,指定組件的目的與功能,刻畫組件之間的相互作用,整合各部分組件。科研工作者已經提出並實現了若干種合理的網格體系結構。下面介紹影響比較廣泛的兩個網格體系結構:網格計算協議體系結構(Grid Protocol Architecture,GPA)和計算經濟網格體系結構(GRACE)模型。
OGSA(Open Grid Services Architecture)被稱為是下一代的網格體系結構,它是在原來「五層沙漏結吵飢構」的基礎上,結合最新的Web Service 技術提出來的。OGSA包括兩大關鍵技術即網格技術和Web Service 技術。
隨著網格計算研究的深入,人們越來越發現網格體系結構的重要。網格體系結構是關於如何建造網格的技術,包括對網格基本組成部分和各部分功能的定義和描述,網格各部分相互關系與集成方法的規定,網格有效運行機制的刻畫。顯然,網格體系結構是網格的骨架和靈魂,是網格最核心的技術,只有建立合理的網格體系結構,才能夠設計和建造好網格,才能夠使網格有效地發揮作用。
OGSA最突出的思想就是以「服務」為中心。在OGSA框架中,將一切都抽象為服務,包括計算機、程序、數據、儀器設備等。這種觀念,有利於通過統一的標准介面來管理和使用網格。Web Service提供了一種基於服務的框架結構,但是,Web Service 面對的一般都是永久服務,而在網格應用環境中,大量的是臨時性的短暫服務,比如一個計算任務的執行等。考慮到網格環境的具體特點,OGSA 在原來Web Service 服務概念的基礎上,提出了「網格服務(Grid Service)」的概念,用於解決服務發現、動態服務創建、服務生命周期管理等與臨時服務有關的問題。
基於網格服務的概念,OGSA 將整個網格看作是「網格服務」的集合,但是這個集合不是一成不變的升坦返,是可以擴展的,這反映了網格的動態特性。網格服務通過定義介面來完成不同的功能,服務數據是關於網格服務實例的信息,因此網格服務可以簡單地表示為「網格服務=介面/行為+服務數據」。
在當下,網格服務提供的介面還比較有限,OGSA 還在不斷的完善過程之中,下一步將考慮擴充管理、安全等等方面的內容。 Ian Foster於2001年提出了網格計算協議體系結構,認為網格建設的核心是標准化的協議與服務,並與Internet網路協議進行類比(如圖1)。該結構主要包括以下五個層次:
構造層(Fabric):控制局部的資源。由物理或邏輯實體組成,目的是為上層提供共享的資源。常用的物理資源包括計算資源、存儲系統、目錄、網路資源等;邏輯資源包括分布式文件系統、分布計算池、計算機群等。構造層組件的功能受高層需求影響,基本功能包括資源查詢和資源管理的QoS保證。
連接層(Connectivity):支持便利安全的通信。該層定義了網格中安全通信與認證授權控制的核心協議。資源間的數據交換和授權認證、安全控制都在這一層控制實現。該層組件提供單點登錄、代理委託、同本地安全策略的整合和基於用戶的信任策略等功能。
資源層(Resource):共享單一資源。該層建立在連接層的通信和認證協議之上,滿足安全會話、資源初始化、資源運行狀況監測、資源使用狀況統計等需求,通過調用構造層函數來訪問和控制局部資源。
匯集層(Collective):協調各種資源。該層將資源層提交的受控資源匯集在一起,供虛擬組織的應用程序共享和調用。該層組件可以實現各種共享行為,包括目錄服務、資源協同、資源監測診斷、數據復制、負荷控制、賬戶管理等功能。
應用層(Application):為網格上用戶的應用程序層。應用層是在虛擬組織環境中存在的。應用程序通過各層的應用程序編程介面(API)調用相應的服務,再通過服務調動網格上的資源來完成任務。為便於網格應用程序的開發,需要構建支持網格計算的大型函數庫。 現在國內國外運用得最多的可能是在一些大型院校的計算網格(實現計算資源的共享。 什麼是計算資源: 簡單來說就是計算能力,CPU。 計算資源共享就是CPU計算的共享)。人們把一個集群(cluster, 也就是常說的機房,通常有幾十台操作系統為Linux的計算機)的計算機連成一個局域型網格。這樣就好像把這幾十台電腦連成了一台超級計算機,計算能力當然大大提高了。這種局域計算網格主要運用於一些科研的研究。比如說生物科學。當生物科學的研究員需要高性能的計算資源來幫助他們分析試驗的結果時,他們就把這些分析試驗的程序提交(submit)給網格,網格通過計算再把結果返回給這些研究員。計算結果可能是一些圖像(rendering)也可能是一些數據。這些計算如果在單一PC(Personal computer, 個人計算機)上運行的話,往往會花費幾個月的時間,然而在網格中運行一,兩天也就完成了。這就是網格技術最直觀的優點之一。當然有一些大型主機(super-mainframe)也有很強的計算能力(比如常說的IBM deepblue,打敗人類國際象棋大師Kasparov那位),但是這種主機太昂貴,而且配置(deploy)往往不方便,是名副其實的重量級(heavyweight)計算。1996年初,美國數學家和程序設計師喬治· 沃特曼編制了一個梅森素數計算程序,並把它放在網頁上供數學家和數學愛好者免費使用,這就是著名的「網際網路梅森素數大搜索」(GIMPS)項目。現在只要人們去GIMPS的主頁下載那個免費程序,就可以通過計算網格來搜尋新的梅森素數。SETI@Home,一個分布式計算的項目,通過互聯網路上的計算機搜索地球外智慧訊息,網格在分布式計算的成功運用。)的網站指出,世界上最強大的計算機IBM 的 ASCI White,可以實現每秒12萬億次的浮點運算,但是花費了1億千萬美元;然而SETI@HOME只用了50萬美元卻實現了每秒15萬億次浮點運算。
網格另外一個顯著的運用可能就是虛擬組織(Virtual Organisations)。這種虛擬組織往往是針對與某一個特定的項目,或者是某一類特定研究人員。在這裡面可以實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。比如說中國2008年奧運會開幕式研究組就可以運用網格組成一個虛擬組織。在這個虛擬組織里,任何成員不管在哪個地方都可以有權訪問組織的共享資源(如 開幕式場地圖紙,開幕式資金,開幕式節目單);而且可以和另一地方的虛擬組織成員進行交流。這個虛擬組織就像把所有奧運會開幕式的資源,信息,以及人員集中到了一個虛擬的空間,讓人們集中精力研討開幕式項目的問題,而不必考慮其他的問題。據個實例,由英國利茲大學,牛津大學,約克大學和謝菲爾德大學合作的DAME項目就是致力於研究和運用虛擬組織。DAME架構在這四個大學合建的白玫瑰網格White Rose Computational Grid (WRCG)上,運用於對飛機故障的快速檢測和維修。