什麼是電腦程式設計電腦程式設計的概述

  編輯程式讓電腦執行的過程就叫程式設計,那麼你對電腦程式設計瞭解多少呢?以下是由小編整理關於什麼是電腦程式設計的內容,希望大家喜歡!

  電腦程式設計的概述

  很多軟體都可以程式設計 具有代表性的計算機語言有Java,BASIC C,C++,VB,VF,SQL,網頁程式設計JSP,ASP,PHP ,軟體是eclipse,Microsoft Visual Studio,Microsoft Visual Basic,Microsoft SQL Server,等等。Java是目前應用最廣泛的程式語言之一,大學中則常常以C語言作為程式設計的入門語言, BASIC是Beginner's All-purpose symbolic instruction Code***初學者通用符號指令程式碼***的縮寫,是國際上廣泛使用的一種計算機高階語言。

  編輯程式讓電腦執行的過程就叫程式設計。

  很多軟體都可以程式設計。具有代表性的計算機語言有Java,BASIC,C,C++,VB,VF,SQL,網頁程式設計有JSP,ASP,PHP,軟體是Eclipse,Microsoft Visual Studio,Microsoft SQL Server,等等。

  BASIC是Beginner's All-purpose symbolic instruction Code***初學者通用符號指令程式碼***的縮寫,是國際上廣泛使用的一種計算機高階語言。BASIC簡單、易學,曾經是計算機入門的主要學習語言之一,但目前基本上已經很少有人使用。

  任務並行程式設計模型

  並行程式設計模型是底層體系結構與上層應用程式之間的橋樑,向上隱藏並行處理器的細節,提供給程式設計師並行表達的方法;向下充分利用硬體資源、高效且正確地完成應用需求.任務劃分、任務對映、資料分佈、通訊和同步是設計並行程式設計模型時需要考慮的 5 個關鍵要素.任務並行程式設計模型主要關注共享儲存的平臺,資料分為共享和私有兩種儲存屬性,通過共享資料進行通訊.因此,該程式設計模型的研究重點是任務劃分、任務對映和同步這個關鍵要素.任務並行程式設計模型把任務作為並行的基本單位,提供任務劃分和同步的程式設計介面,把任務劃分和同步工作交給程式設計師完成,使用者可以把應用程式劃分出大量細粒度任務.然而,具體到每個任務到底是並行執行還是序列執行、在哪個物理核上執行以及如何實現任務之間的同步則由執行時系統完成.任務並行程式設計模型提倡巢狀的遞迴任務,並引入以任務竊取為核心的使用者級執行緒排程,實現程式的高效能和動態的負載平衡.

  任務並行程式設計模型提供顯式的任務劃分和同步程式設計介面以及隱式的任務對映機制.前者關注可程式設計性,後者關注執行效率.目前,任務並行程式設計模型支援非規則應用程式,把邏輯任務與物理執行緒分離,從而獨立於處理器核數.但多核時代需要的是面向更廣闊應用領域的、易程式設計、高產能的並行程式設計工具,該模型的程式設計介面***並行性表達和資料管理***和執行時支援***任務排程*** 面臨如下挑戰:

  ***1*** 該模型的程式設計介面能支援的並行模式有限,需要豐富程式設計介面,表達多種多樣的並行性.例如,spawnsync 能夠實現巢狀並行控制結構,但不能高效實現迴圈級並行,於是,程式設計師需要把資料並行的應用程式轉換成巢狀並行,才能用該模型編寫並行程式.另外,無條件原子塊結構和有條件原子塊結構是重要的並行任務結構,如何表達以及如何高效支援都需要深入研究;

  ***2*** 該模型把資料分為共享和私有兩種,通過共享資料進行通訊.但有些資料是部分任務共享,或者一個執行緒內執行的所有任務共享,因此需要對資料進一步區分共享範圍,需要研究如何高效實現不同級別的共享資料;

  ***3*** 該模型的執行時系統負責把邏輯任務對映到物理執行緒上去執行,其核心任務是提高執行效率.存在的問題有:***a*** 執行時系統是一個軟體層,與應用程式連結在一起,執行在使用者空間上.用軟體實現任務竊取是有代價的,問題是能否進一步降低執行時系統開銷;***b*** 任務竊取採用最早任務優先竊取策略,該策略的“深度優先執行”能夠提高 cache 的利用率.但隨機選擇執行緒進行任務竊取,而沒有考慮多核處理器的儲存層次和處理器架構特點,對於區域性性敏感的應用會產生影響.因此,任務排程時需要根據儲存部件的層次、容量、訪問延遲以及資料的訪問區域性性、重用度和層次性等因素進行區域性性敏感的排程;***c*** 集群系統和眾核處理器都遠比多核處理器要複雜,擁有更大量的計算資源,如何管理和使用硬體資源,充分利用體系結構的並行性和區域性性來提高效能,也需要深入加以研究

電腦程式設計的概述