什么是電腦編程電腦編程的概述
什么是電腦編程電腦編程的概述
編輯程序讓電腦執(zhí)行的過程就叫編程,那么你對電腦編程了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是電腦編程的內(nèi)容,希望大家喜歡!
電腦編程的概述
很多軟件都可以編程 具有代表性的計算機語言有Java,BASIC C,C++,VB,VF,SQL,網(wǎng)頁編程JSP,ASP,PHP ,軟件是eclipse,Microsoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server,等等。Java是目前應(yīng)用最廣泛的編程語言之一,大學(xué)中則常常以C語言作為編程的入門語言, BASIC是Beginner's All-purpose symbolic instruction Code(初學(xué)者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。
編輯程序讓電腦執(zhí)行的過程就叫編程。
很多軟件都可以編程。具有代表性的計算機語言有Java,BASIC,C,C++,VB,VF,SQL,網(wǎng)頁編程有JSP,ASP,PHP,軟件是Eclipse,Microsoft Visual Studio,Microsoft SQL Server,等等。
BASIC是Beginner's All-purpose symbolic instruction Code(初學(xué)者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。BASIC簡單、易學(xué),曾經(jīng)是計算機入門的主要學(xué)習(xí)語言之一,但目前基本上已經(jīng)很少有人使用。
任務(wù)并行編程模型
并行編程模型是底層體系結(jié)構(gòu)與上層應(yīng)用程序之間的橋梁,向上隱藏并行處理器的細(xì)節(jié),提供給程序員并行表達(dá)的方法;向下充分利用硬件資源、高效且正確地完成應(yīng)用需求.任務(wù)劃分、任務(wù)映射、數(shù)據(jù)分布、通信和同步是設(shè)計并行編程模型時需要考慮的 5 個關(guān)鍵要素.任務(wù)并行編程模型主要關(guān)注共享存儲的平臺,數(shù)據(jù)分為共享和私有兩種存儲屬性,通過共享數(shù)據(jù)進(jìn)行通信.因此,該編程模型的研究重點是任務(wù)劃分、任務(wù)映射和同步這個關(guān)鍵要素.任務(wù)并行編程模型把任務(wù)作為并行的基本單位,提供任務(wù)劃分和同步的編程接口,把任務(wù)劃分和同步工作交給程序員完成,用戶可以把應(yīng)用程序劃分出大量細(xì)粒度任務(wù).然而,具體到每個任務(wù)到底是并行執(zhí)行還是串行執(zhí)行、在哪個物理核上執(zhí)行以及如何實現(xiàn)任務(wù)之間的同步則由運行時系統(tǒng)完成.任務(wù)并行編程模型提倡嵌套的遞歸任務(wù),并引入以任務(wù)竊取為核心的用戶級線程調(diào)度,實現(xiàn)程序的高性能和動態(tài)的負(fù)載平衡.
任務(wù)并行編程模型提供顯式的任務(wù)劃分和同步編程接口以及隱式的任務(wù)映射機制.前者關(guān)注可編程性,后者關(guān)注執(zhí)行效率.目前,任務(wù)并行編程模型支持非規(guī)則應(yīng)用程序,把邏輯任務(wù)與物理線程分離,從而獨立于處理器核數(shù).但多核時代需要的是面向更廣闊應(yīng)用領(lǐng)域的、易編程、高產(chǎn)能的并行編程工具,該模型的編程接口(并行性表達(dá)和數(shù)據(jù)管理)和運行時支持(任務(wù)調(diào)度)面臨如下挑戰(zhàn):
(1) 該模型的編程接口能支持的并行模式有限,需要豐富編程接口,表達(dá)多種多樣的并行性.例如,spawnsync 能夠?qū)崿F(xiàn)嵌套并行控制結(jié)構(gòu),但不能高效實現(xiàn)循環(huán)級并行,于是,程序員需要把數(shù)據(jù)并行的應(yīng)用程序轉(zhuǎn)換成嵌套并行,才能用該模型編寫并行程序.另外,無條件原子塊結(jié)構(gòu)和有條件原子塊結(jié)構(gòu)是重要的并行任務(wù)結(jié)構(gòu),如何表達(dá)以及如何高效支持都需要深入研究;
(2) 該模型把數(shù)據(jù)分為共享和私有兩種,通過共享數(shù)據(jù)進(jìn)行通信.但有些數(shù)據(jù)是部分任務(wù)共享,或者一個線程內(nèi)執(zhí)行的所有任務(wù)共享,因此需要對數(shù)據(jù)進(jìn)一步區(qū)分共享范圍,需要研究如何高效實現(xiàn)不同級別的共享數(shù)據(jù);
(3) 該模型的運行時系統(tǒng)負(fù)責(zé)把邏輯任務(wù)映射到物理線程上去執(zhí)行,其核心任務(wù)是提高執(zhí)行效率.存在的問題有:(a) 運行時系統(tǒng)是一個軟件層,與應(yīng)用程序鏈接在一起,運行在用戶空間上.用軟件實現(xiàn)任務(wù)竊取是有代價的,問題是能否進(jìn)一步降低運行時系統(tǒng)開銷;(b) 任務(wù)竊取采用最早任務(wù)優(yōu)先竊取策略,該策略的“深度優(yōu)先執(zhí)行”能夠提高 cache 的利用率.但隨機選擇線程進(jìn)行任務(wù)竊取,而沒有考慮多核處理器的存儲層次和處理器架構(gòu)特點,對于局部性敏感的應(yīng)用會產(chǎn)生影響.因此,任務(wù)調(diào)度時需要根據(jù)存儲部件的層次、容量、訪問延遲以及數(shù)據(jù)的訪問局部性、重用度和層次性等因素進(jìn)行局部性敏感的調(diào)度;(c) 集群系統(tǒng)和眾核處理器都遠(yuǎn)比多核處理器要復(fù)雜,擁有更大量的計算資源,如何管理和使用硬件資源,充分利用體系結(jié)構(gòu)的并行性和局部性來提高性能,也需要深入加以研究
看過“電腦編程的概述”的人還看了:
1.電腦怎么編程