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无毒不卡在线观看| 97se亚洲综合在线| 日本色综合网| 久久精品91麻豆| 午夜视频日本| 成人一级黄色毛片| 成人在线欧美| 国产成年女人特黄特色大片免费| 亚洲av日韩av制服丝袜| 欧美中文字幕在线二区| 国产永久免费视频m3u8| 大香网伊人久久综合网2020| 久久精品人人做人人爽电影蜜月 | 久久久久青草线综合超碰| 伊人久热这里只有精品视频99| 黄色片中文字幕| 伊人天堂网| 亚洲精品制服丝袜二区| 久久久久青草线综合超碰| 欧美日韩福利| 精品久久久无码专区中文字幕| 国产精品自拍露脸视频| 日韩AV手机在线观看蜜芽| 亚洲中文字幕无码mv| a欧美在线| 91网红精品在线观看| 91丨九色丨首页在线播放| 色爽网免费视频| 日本欧美一二三区色视频| 国产高清又黄又嫩的免费视频网站| 99这里精品| 91尤物国产尤物福利在线| 成人久久精品一区二区三区| 国产成人免费手机在线观看视频| 香蕉在线视频网站| 国产黄色片在线看| 四虎影视国产精品| 国产成人av一区二区三区| 中文字幕在线日韩91| 亚洲国产理论片在线播放| 国产丰满成熟女性性满足视频| 无码aaa视频| 欧美视频在线观看第一页| 国产精品男人的天堂| www.狠狠| 免费人成黄页在线观看国产| 人人91人人澡人人妻人人爽| 97se综合| 亚洲日本中文字幕天堂网| 国产真实二区一区在线亚洲| 欧美人与牲动交a欧美精品| 手机在线免费毛片| 91精品综合| 国产在线自乱拍播放| 视频二区亚洲精品| 在线观看亚洲精品福利片| 免费观看无遮挡www的小视频| 精品成人一区二区| 亚洲天堂久久久| 免费观看国产小粉嫩喷水| 日韩免费毛片视频| 免费啪啪网址| 成人日韩精品| AV天堂资源福利在线观看| 亚洲高清在线播放| 亚洲欧美国产高清va在线播放| 欧美一区精品| 亚洲三级影院| 欧美成人综合在线| 亚洲成a人片| 直接黄91麻豆网站| 国产乱子伦一区二区=| 华人在线亚洲欧美精品| 一级毛片免费不卡在线| 中日韩欧亚无码视频| 在线日本国产成人免费的|