做底層硬件嵌入式的不愿去懂上層PC軟件,而做上層PC軟件的又不愿去懂底層硬件,做FPGA不懂FPGA邏輯屬硬軟核處理器屬軟?,F(xiàn)在,HLS的出現(xiàn),讓FPGA本屬于硬件HDL的開(kāi)發(fā)慢慢變成HLS的軟件開(kāi)發(fā),有種當(dāng)年匯編開(kāi)發(fā)走向C開(kāi)發(fā)的感覺(jué)。目前,各大FPGA廠(chǎng)商正在努力搭建HDL到HLS的橋梁,讓以后的我們以后能夠用HLS高效開(kāi)發(fā)?,F(xiàn)在,讓我們看看Windows應(yīng)用程序,操作系統(tǒng),計(jì)算機(jī)硬件之間的相互關(guān)系,看看它們之間的橋梁如何搭建的。
其中,上圖中,輸入輸出設(shè)備就是計(jì)算硬件:鍵盤(pán)、鼠標(biāo)、耳機(jī)等。
【1】 .操作系統(tǒng)中有很多操作底層的函數(shù)接口,也就是我們常說(shuō)的驅(qū)動(dòng),這些驅(qū)動(dòng)是直接操作計(jì)算機(jī)硬件的動(dòng)作,比如讓聲卡發(fā)出聲音。但是,你有沒(méi)有發(fā)現(xiàn),操作系統(tǒng)可以操作硬件,但是是何時(shí)操作了?操作系統(tǒng)不知道,就好比你不買(mǎi)了一個(gè)玩具車(chē),裝上電池它就可以跑起來(lái),但是你不控制遙控它并不知道要去那;
【2】.操作系統(tǒng)對(duì)設(shè)備進(jìn)行輸入、輸出和閉環(huán)控制。按鍵鼠標(biāo)狀態(tài)輸入,顯示器輸出顯示,而硬盤(pán)的讀寫(xiě)操作就要不斷的讀取剩余的空間等信息才做有效的寫(xiě)操作的閉環(huán)控制。在這里說(shuō)個(gè)題外話(huà):學(xué)習(xí)學(xué)習(xí)是不斷學(xué)和習(xí)的閉環(huán),而很多人學(xué)的不好就是環(huán)沒(méi)有閉好,理論與實(shí)踐的結(jié)合更恰當(dāng)?shù)恼f(shuō)是理論和實(shí)踐的閉環(huán),理論與實(shí)踐如果不閉環(huán)就是紙上談兵和一介武夫而已;
【3】.前面說(shuō)過(guò)操作系統(tǒng)能很好的去操作底層硬件,但是不知道什么時(shí)候去操作和操作到了什么程度,這些都是由應(yīng)用程序來(lái)是實(shí)現(xiàn)的,也就是我們常說(shuō)的應(yīng)用程序調(diào)用API來(lái)操作底層硬件,不同的是沒(méi)有操作系統(tǒng)的單片機(jī)由單一的1個(gè)Main應(yīng)用程序去調(diào)用API,讀取所需要的一個(gè)底層設(shè)備狀態(tài);而有操作系統(tǒng)的PC機(jī)由多個(gè)應(yīng)用程序去調(diào)用API,讀取所需要的多個(gè)底層設(shè)備的狀態(tài)。這里就會(huì)遇到一個(gè)問(wèn)題,多個(gè)應(yīng)用程序調(diào)用API操作相同的底層硬件,這不就亂套了?
【4】.在這里Windows通過(guò)消息隊(duì)列來(lái)處理多個(gè)應(yīng)用程序下的問(wèn)題:將多個(gè)應(yīng)用程序的操作寫(xiě)入到消息隊(duì)列中,并按照先寫(xiě)先操作(類(lèi)似FPGA中的FIFO)的原則去調(diào)用API和讀取底層設(shè)備的狀態(tài)信息,將時(shí)間片切碎分時(shí)復(fù)用,這種消息隊(duì)列的處理機(jī)制比較復(fù)雜,不過(guò)沒(méi)關(guān)系,這些都由操作系統(tǒng)來(lái)管理并完成,應(yīng)用程序開(kāi)發(fā)者不用管,開(kāi)發(fā)者開(kāi)發(fā)起來(lái)簡(jiǎn)單方便。
【5】.操作系統(tǒng)中這種消息隊(duì)列的機(jī)制為多個(gè)底層驅(qū)動(dòng)和多個(gè)應(yīng)用程序通信搭建了很好的橋梁,非常方便應(yīng)用程序和底層驅(qū)動(dòng)的獨(dú)立開(kāi)發(fā)維護(hù)。如果我們搭建的嵌入式系統(tǒng)中沒(méi)有用到操作系統(tǒng),底層和應(yīng)用層開(kāi)發(fā)獨(dú)立性差,我們完全可以借鑒消息隊(duì)列這種思維方式來(lái)搭建我們的系統(tǒng)架構(gòu)來(lái)獨(dú)立底層和應(yīng)用層的開(kāi)發(fā)。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602984 -
WINDOWS
+關(guān)注
關(guān)注
3文章
3541瀏覽量
88622 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6801瀏覽量
123283
原文標(biāo)題:Windows程序內(nèi)部運(yùn)行原理
文章出處:【微信號(hào):fpga234,微信公眾號(hào):fpga234】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論