999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

共享內(nèi)存在內(nèi)存數(shù)據(jù)庫系統(tǒng)中的應(yīng)用

2010-06-13 02:11:06
科技傳播 2010年19期
關(guān)鍵詞:進(jìn)程數(shù)據(jù)庫

張 乾

同濟(jì)大學(xué)軟件學(xué)院,上海 201804

共享內(nèi)存在內(nèi)存數(shù)據(jù)庫系統(tǒng)中的應(yīng)用

張 乾

同濟(jì)大學(xué)軟件學(xué)院,上海 201804

共享內(nèi)存是進(jìn)程間通信的重要手段之一,并在實(shí)際中得到了廣泛應(yīng)用。本文將介紹不共享內(nèi)存的原理和內(nèi)存數(shù)據(jù)庫的相關(guān)概念,并用內(nèi)存數(shù)據(jù)庫給出共享內(nèi)存的應(yīng)用實(shí)例。

共享內(nèi)存;內(nèi)存數(shù)據(jù)庫;進(jìn)程通信

0 引言

計(jì)算機(jī)硬件的快速發(fā)展帶來了多核技術(shù),這使得并行編程真正得以實(shí)現(xiàn)[1]。為了使并行編程模型中的各進(jìn)程相互協(xié)作,目前有如下幾種技術(shù):信號(hào)量、消息隊(duì)列、共享內(nèi)存和socket。信號(hào)量是初始值非負(fù)的整數(shù)值,在信號(hào)量上的操作只有兩種:加和減,在操作中要保證信號(hào)量一直非負(fù)[2]。消息隊(duì)列是一個(gè)消息鏈表,具有添加消息權(quán)限的進(jìn)程可以向其添加消息,有獲取消息權(quán)限的進(jìn)程可以從其中取得消息。由于消息隊(duì)列比信號(hào)量的信息更為豐富,所以可以用于更復(fù)雜的情況[3]。共享內(nèi)存技術(shù)則是開辟一塊特殊內(nèi)存區(qū)域,使得不同進(jìn)程可以共享這塊內(nèi)存進(jìn)行讀寫操作,其優(yōu)勢(shì)在于通過共享內(nèi)存進(jìn)程間可以交換大批量數(shù)據(jù)。Socket編程是不同機(jī)器進(jìn)程間通信的基本方法,當(dāng)然也可用于同一機(jī)器的進(jìn)程間通信。

1 共享內(nèi)存的原理

在多任務(wù)操作系統(tǒng)中,進(jìn)程的地址空間是相對(duì)獨(dú)立的,相互并不影響,就是說相同的一個(gè)地址,在不同的進(jìn)程中,對(duì)應(yīng)有不同的數(shù)據(jù)。這樣每個(gè)進(jìn)程的地址空間就變大了,而且安全性也提高了。進(jìn)程的地址空間是虛擬的地址空間,在讀寫內(nèi)存時(shí),需要內(nèi)存管理單元(MMU)將虛擬內(nèi)存映射到實(shí)際的物理內(nèi)存。但是,當(dāng)進(jìn)程間需要交換大量數(shù)據(jù)時(shí),需要多個(gè)進(jìn)程使用同一塊物理內(nèi)存,而不是每個(gè)進(jìn)程都保留共享數(shù)據(jù)的一個(gè)拷貝。這個(gè)功能的實(shí)現(xiàn)是通過將不同進(jìn)程的虛擬內(nèi)存頁映射到同一個(gè)實(shí)際內(nèi)存頁上。不同的操作系統(tǒng)提供了不同的API函數(shù)實(shí)現(xiàn)共享內(nèi)存的操作。在linux下主要有有兩個(gè)函數(shù):

其中,mmap函數(shù)用于創(chuàng)建共享內(nèi)存,munmap則是取消共享內(nèi)存的映射。在windows下創(chuàng)建共享內(nèi)存、解除內(nèi)存映射則分別用CreateFileMapping和UnmapViewOfFile函數(shù)[4]。在.net framework下,沒有API用于內(nèi)存映射,所以,需要在.net代碼中調(diào)用以上所列c函數(shù),完成內(nèi)存映射。

2 內(nèi)存數(shù)據(jù)庫介紹

內(nèi)存數(shù)據(jù)庫就是將數(shù)據(jù)放入內(nèi)存中直接操作的數(shù)據(jù)庫,與傳統(tǒng)的數(shù)據(jù)庫有很大不同,主要在于傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)主要存在硬盤上,而內(nèi)存數(shù)據(jù)庫的數(shù)據(jù)主要存放于內(nèi)存中。因?yàn)橛脖P的io讀寫速度遠(yuǎn)慢于cpu和內(nèi)存讀寫,因此,傳統(tǒng)數(shù)據(jù)庫在讀寫方面的主要研究點(diǎn)在于盡量減少硬盤的讀寫次數(shù),而內(nèi)存數(shù)據(jù)庫的主要研究點(diǎn)在于快速算法、并行操作等保證實(shí)時(shí)性數(shù)據(jù)存取方面。

3 共享內(nèi)存在內(nèi)存數(shù)據(jù)庫系統(tǒng)中的應(yīng)用實(shí)例

內(nèi)存數(shù)據(jù)庫用多進(jìn)程保證并行操作,這便需要這多個(gè)進(jìn)程共享內(nèi)存中的數(shù)據(jù),而數(shù)據(jù)庫數(shù)據(jù)通常是龐大的,因此共享內(nèi)存在內(nèi)存數(shù)據(jù)庫中有很好的應(yīng)用價(jià)值。在內(nèi)存數(shù)據(jù)庫中應(yīng)用共享內(nèi)存進(jìn)行數(shù)據(jù)的加載與共享操作如圖1所示。

圖 1 內(nèi)存數(shù)據(jù)庫中共享內(nèi)存的使用

內(nèi)存數(shù)據(jù)庫的數(shù)據(jù)仍然要存儲(chǔ)于硬盤上,實(shí)例所用數(shù)據(jù)均存儲(chǔ)于一個(gè)文件內(nèi),文件格式則是程序中既定的。在啟動(dòng)數(shù)據(jù)庫時(shí),整個(gè)文件將被加載到內(nèi)存中。加載結(jié)束后,后臺(tái)讀寫進(jìn)程啟動(dòng)。每個(gè)進(jìn)程啟動(dòng)后,都將用共享內(nèi)存映射函數(shù)將進(jìn)程地址映射到內(nèi)存數(shù)據(jù)庫的數(shù)據(jù)地址。這樣,這些進(jìn)程將同時(shí)操作一塊內(nèi)存,而不是每個(gè)進(jìn)程都有一個(gè)數(shù)據(jù)拷貝。至于讀寫的同步問題,數(shù)據(jù)文件中設(shè)置有一個(gè)位圖,用來監(jiān)控內(nèi)存中數(shù)據(jù)的可用信息。當(dāng)進(jìn)程需要讀寫內(nèi)存數(shù)據(jù)時(shí),首先將查看位圖,以找出數(shù)據(jù)可用與否的信息,然后再進(jìn)行真實(shí)讀取。位圖信息的同步則通過信號(hào)量來控制。

4 結(jié)論

內(nèi)存數(shù)據(jù)庫因?yàn)槠鋵?shí)時(shí)性被用于嵌入式系統(tǒng)、電信計(jì)費(fèi)、股票交易等行業(yè)領(lǐng)域,并取得了良好的效果。內(nèi)存數(shù)據(jù)庫的概念出現(xiàn)在20世紀(jì)90年代,目前已經(jīng)有較為成熟的內(nèi)存數(shù)據(jù)庫產(chǎn)品產(chǎn)生,如oracle的TimesTen。但是商業(yè)內(nèi)存數(shù)據(jù)庫的價(jià)格昂貴,而且內(nèi)存數(shù)據(jù)庫技術(shù)仍在發(fā)展階段。因此,進(jìn)行內(nèi)存數(shù)據(jù)庫的研究和探索還是很有意義的。

[1]Dagum L,Menon R.IEEE COMPUTATIONAL SCIENCE & ENGINEERING.CA 94043 USA: IEEE COMPUTER SOC,1998.

[2]S.Rao Kosaraju.LIMITATIONS OF DIJKSTRA’S SEMAPHORE PRIMITIVES AND PETRI NETS[J].ACM SIGOPS Operating Systems Review,1973,7(4):122-126.

[3]William Gropp,Ewing Lusk,Anthony Skjellum.Using MPI:portable parallel programming with the message passing interface[M].The MIT Press,1999:3-11.

[4]Jeffery Richter. Windows 核心編程[M].北京:機(jī)械工 業(yè)出版社,2008:416-459.

TP392

A

1674-6708(2010)28-0213-01

猜你喜歡
進(jìn)程數(shù)據(jù)庫
債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
我國高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
男女平等進(jìn)程中出現(xiàn)的新矛盾和新問題
俄羅斯現(xiàn)代化進(jìn)程的阻礙
主站蜘蛛池模板: 91久久国产热精品免费| 亚洲中文在线看视频一区| 亚洲第一视频网站| 日韩中文精品亚洲第三区| 国产精品白浆无码流出在线看| 国产精品区网红主播在线观看| 欧美中文字幕一区| 久久久久久久久久国产精品| 国产视频一区二区在线观看| 天天色综网| 黄色在线不卡| 青青草国产一区二区三区| 亚洲婷婷丁香| 又猛又黄又爽无遮挡的视频网站| 国产欧美专区在线观看| 精品无码一区二区三区电影| 国产99在线| 69av免费视频| 精品人妻一区无码视频| 亚洲一区二区三区麻豆| 尤物精品国产福利网站| 狠狠色丁香婷婷| 欧美精品三级在线| 国产福利拍拍拍| 国产精品yjizz视频网一二区| 新SSS无码手机在线观看| 99精品热视频这里只有精品7| 欧美激情第一区| 萌白酱国产一区二区| 国产成人无码AV在线播放动漫| jizz国产视频| 精品国产免费观看一区| 99久久精品免费看国产免费软件| 国产精品自拍合集| 日韩在线欧美在线| 日韩精品一区二区深田咏美| 欧美国产精品不卡在线观看 | 91精品综合| 久久一本日韩精品中文字幕屁孩| av一区二区无码在线| 日本妇乱子伦视频| 国产在线拍偷自揄观看视频网站| 国产亚洲精品91| 久久女人网| 狠狠v日韩v欧美v| 国产成本人片免费a∨短片| 欧美亚洲国产日韩电影在线| 1024国产在线| 国产一级二级在线观看| www.精品视频| 伊人五月丁香综合AⅤ| 精品福利一区二区免费视频| 精品国产成人a在线观看| 夜夜操国产| 国产成人久久综合一区| 九九久久99精品| 日韩精品免费一线在线观看| 色综合天天操| 亚洲娇小与黑人巨大交| 99久久精品国产麻豆婷婷| 亚洲色偷偷偷鲁综合| 中文无码影院| 国产免费久久精品44| 亚洲色无码专线精品观看| 欧美成人在线免费| 成年免费在线观看| 国产在线自在拍91精品黑人| 国产成人毛片| 色吊丝av中文字幕| 欧美日韩一区二区在线免费观看| 99re热精品视频国产免费| 最新国语自产精品视频在| 国产91小视频| 亚洲天堂在线视频| 亚洲成人动漫在线观看| 国产精品视频导航| 国产无码精品在线| 国产精品久久久精品三级| 欧美啪啪一区| 福利片91| 三级欧美在线| 国产欧美在线观看视频|