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