久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

QNX微內(nèi)核與IPC機(jī)制詳解:從實(shí)時(shí)系統(tǒng)原理到嵌入式開發(fā)實(shí)踐

QNX微內(nèi)核與IPC機(jī)制詳解:從實(shí)時(shí)系統(tǒng)原理到嵌入式開發(fā)實(shí)踐 簡(jiǎn)介面向嵌入式實(shí)時(shí)系統(tǒng)開發(fā)者這套QNX開發(fā)手冊(cè)以中文詳細(xì)講解操作系統(tǒng)的核心機(jī)制與編程方法。內(nèi)容從QNX概述、系統(tǒng)結(jié)構(gòu)入手覆蓋多任務(wù)調(diào)度、優(yōu)先級(jí)搶占、進(jìn)程間消息通信、文件系統(tǒng)操作命令及C/C應(yīng)用程序開發(fā)流程并結(jié)合實(shí)例演示從環(huán)境配置到代碼實(shí)現(xiàn)的全過(guò)程適合剛接觸QNX或需要快速查閱開發(fā)要點(diǎn)的工程師。壓縮包為單個(gè)doc文檔體積2.2MB便于閱讀和檢索。目前已有3072人學(xué)習(xí)下載是入門QNX開發(fā)的高頻參考資料。手冊(cè)特別強(qiáng)調(diào)QNX微內(nèi)核、分布式網(wǎng)絡(luò)及可裁剪配置等特色對(duì)編寫實(shí)時(shí)控制、通信或數(shù)據(jù)采集程序具有直接借鑒價(jià)值。1. 實(shí)時(shí)系統(tǒng)不是跑得快這本 QNX 開發(fā)手冊(cè)的中文價(jià)值在哪前段時(shí)間幫一個(gè)遙控遙測(cè)主站項(xiàng)目做排查現(xiàn)象很典型CPU 占用率不到三成但一個(gè) 500ms 的周期任務(wù)就是不穩(wěn)定偶爾一次調(diào)度能拖到一秒出頭。把核心服務(wù)遷到 QNX 實(shí)時(shí)操作系統(tǒng)之后抖動(dòng)直接消失。QNX 不是冷門玩具它用微內(nèi)核加消息機(jī)制做分布式實(shí)時(shí)系統(tǒng)集成網(wǎng)絡(luò)后整個(gè)內(nèi)核不過(guò) 148KB到今天還大量跑在工業(yè)控制、通信設(shè)備和車載系統(tǒng)里。這份中文開發(fā)手冊(cè)覆蓋了系統(tǒng)結(jié)構(gòu)、進(jìn)程間通信、常用命令和應(yīng)用程序?qū)嵗龔牧慊A(chǔ)到能動(dòng)手改工程的完整路徑都有適合剛從通用操作系統(tǒng)轉(zhuǎn)過(guò)來(lái)的嵌入式開發(fā)也適合想系統(tǒng)補(bǔ)一遍 QNX 概念的老手。它不是源碼包是一份可以直接對(duì)照學(xué)習(xí)的中文底稿。2. 系統(tǒng)結(jié)構(gòu)拆解微內(nèi)核、管理器與五種進(jìn)程間通信手冊(cè)開篇反復(fù)強(qiáng)調(diào)一個(gè)反直覺的點(diǎn)QNX 是“小組型結(jié)構(gòu)”而不是“層次型結(jié)構(gòu)”。我一開始沒當(dāng)回事直到追一個(gè)驅(qū)動(dòng)問(wèn)題才發(fā)現(xiàn)理解這個(gè)結(jié)構(gòu)比背命令重要得多——很多運(yùn)行期詭異現(xiàn)象根源都在于你把它當(dāng)成單體內(nèi)核來(lái)推斷行為。2.1 先看骨架微內(nèi)核加管理器不是單體內(nèi)核QNX 由一個(gè)很小的內(nèi)核和若干負(fù)責(zé)系統(tǒng)管理的共操作進(jìn)程組成。內(nèi)核本身不實(shí)現(xiàn)文件系統(tǒng)也不直接管設(shè)備它只做兩件事任務(wù)調(diào)度和消息路由。文件由 Fsys 文件系統(tǒng)管理器負(fù)責(zé)進(jìn)程創(chuàng)建、信號(hào)、內(nèi)存由 Proc32 進(jìn)程管理器負(fù)責(zé)終端、打印機(jī)這類外圍設(shè)備由 Dev 設(shè)備管理器負(fù)責(zé)。這些管理器是獨(dú)立進(jìn)程它們之間通過(guò)內(nèi)核轉(zhuǎn)發(fā)的消息協(xié)作所以整個(gè)系統(tǒng)看起來(lái)像一群對(duì)等的小組而不是一個(gè)垂直的層級(jí)樹。這個(gè)設(shè)計(jì)直接帶來(lái)兩個(gè)實(shí)時(shí)系統(tǒng)最看重的特性。第一是故障隔離某個(gè)管理器崩了內(nèi)核和其他管理器還能繼續(xù)跑不至于整機(jī)掛掉第二是可裁剪最小配置只要幾十 KB 內(nèi)存手冊(cè)里寫的“集成網(wǎng)絡(luò)后只有 148KB”指的就是這種緊湊狀態(tài)。對(duì)嵌入式場(chǎng)景來(lái)說(shuō)省下來(lái)的內(nèi)存和確定性的響應(yīng)路徑比多幾個(gè)花哨功能實(shí)際得多。2.2 任務(wù)與調(diào)度優(yōu)先級(jí)搶占從來(lái)不是玄學(xué)手冊(cè)把任務(wù)定義為一個(gè)可調(diào)度的執(zhí)行單元由執(zhí)行代碼和該任務(wù)私有的數(shù)據(jù)組成。調(diào)度方式是你可控制的優(yōu)先級(jí)驅(qū)動(dòng)的急者優(yōu)先搶占。同優(yōu)先級(jí)的任務(wù)按時(shí)間片輪巡低優(yōu)先級(jí)任務(wù)必須等高優(yōu)先級(jí)任務(wù)進(jìn)入 I/O 等待或主動(dòng)掛起之后才有機(jī)會(huì)跑最高優(yōu)先級(jí)任務(wù)只要就緒就立刻運(yùn)行。這帶來(lái)一個(gè)常見誤解新手以為“實(shí)時(shí)”就是“快”其實(shí) QNX 的實(shí)時(shí)性來(lái)自確定性而不是絕對(duì)速度。手冊(cè)里那句“如果高優(yōu)先級(jí)任務(wù)一直在運(yùn)行低優(yōu)先級(jí)任務(wù)就無(wú)法運(yùn)行”就是典型的坑后面避坑章節(jié)我專門展開。查看當(dāng)前進(jìn)程優(yōu)先級(jí)用 sin 或 ps 命令輸出里的 PRI 列就是優(yōu)先級(jí)數(shù)字越大優(yōu)先級(jí)越高這點(diǎn)和 Linux 的 nice 值方向相反別記反了。2.3 進(jìn)程間通信消息、代理、信號(hào)、共享內(nèi)存、消息隊(duì)列QNX 的 IPC 是它的立身之本手冊(cè)花了一整節(jié)講五種基本方式每一種適用的場(chǎng)景都不一樣。消息是阻塞式同步通信發(fā)送方把數(shù)據(jù)復(fù)制到接收方地址空間在對(duì)方應(yīng)答之前自己被掛起代理是非阻塞事件通知發(fā)出去就不用等回應(yīng)信號(hào)是 POSIX 兼容的傳統(tǒng)異步手段共享內(nèi)存吞吐最大但必須自己加同步消息隊(duì)列則是緩沖解耦的中間人。實(shí)際開發(fā)里用得最多的是消息。下面這個(gè)例子我用現(xiàn)代的 QNX Neutrino API 演示服務(wù)端接收和應(yīng)答手冊(cè)里老版本的概念完全一致只是函數(shù)名不同/* server.c - 消息接收端 */ #include sys/neutrino.h #include stdio.h #include string.h #define CHID 1 int main(void) { int chid, rcvid; char msg[64]; char reply[16] ack; /* 創(chuàng)建消息通道其他進(jìn)程通過(guò)這個(gè)通道號(hào)連接 */ chid ChannelCreate(0); if (chid -1) { perror(ChannelCreate); return 1; } for (;;) { /* 阻塞等待消息rcvid 是發(fā)送方的連接標(biāo)識(shí) */ rcvid MsgReceive(chid, msg, sizeof(msg), NULL); if (rcvid -1) { perror(MsgReceive); break; } printf(server received: %s\n, msg); /* 必須應(yīng)答否則發(fā)送端會(huì)一直掛在等待狀態(tài) */ MsgReply(rcvid, 0, reply, strlen(reply) 1); } return 0; }ChannelCreate 負(fù)責(zé)創(chuàng)建并返回一個(gè)通道號(hào)這個(gè) chid 相當(dāng)于服務(wù)進(jìn)程的“門牌號(hào)”。MsgReceive 是阻塞調(diào)用沒消息時(shí)進(jìn)程進(jìn)入 RECV 狀態(tài)不耗 CPU。參數(shù)里 rcvid 是核心它標(biāo)識(shí)了這一次消息來(lái)自誰(shuí)后續(xù) MsgReply 必須原樣用它答錯(cuò)了客戶端就永遠(yuǎn)等不到回應(yīng)。這一收一答的同步模型就是 QNX 幾乎所有系統(tǒng)服務(wù)的工作基礎(chǔ)。2.4 文件和網(wǎng)絡(luò)一套透明的資源命名方式QNX 把節(jié)點(diǎn)當(dāng)作獨(dú)立工作站節(jié)點(diǎn)間通過(guò)局域網(wǎng)連接但對(duì)程序員來(lái)說(shuō)整個(gè)網(wǎng)絡(luò)像一臺(tái)虛擬機(jī)所有任務(wù)跑在上面所有文件都可存取。要訪問(wèn)別的節(jié)點(diǎn)的資源在資源名前加節(jié)點(diǎn)號(hào)就行例如 /dev/con1 是本地控制臺(tái)//2/dev/con1 就是 2 號(hào)節(jié)點(diǎn)的控制臺(tái)。手冊(cè)提到 2.15 版用令牌環(huán)協(xié)議支持 255 個(gè)節(jié)點(diǎn)4.x 版改成 IEEE802.3 以太網(wǎng)協(xié)議節(jié)點(diǎn)更多性能也更好。文件系統(tǒng)由 Fsys 統(tǒng)一管理至少六種文件類型除了常規(guī)文件和目錄還有管道、FIFO、符號(hào)鏈、塊特殊文件、字符特殊文件。設(shè)備統(tǒng)一掛在 dev 目錄下靠 I/O 名字空間來(lái)定位這樣應(yīng)用程序可以不用關(guān)心硬件細(xì)節(jié)像讀寫普通文件一樣操作設(shè)備。這個(gè)設(shè)計(jì)到今天依然是 QNX 資源管理框架的雛形。3. 常用命令實(shí)戰(zhàn)從 pwd 到 chmod 把 QNX 命令行串起來(lái)QNX 的命令很多長(zhǎng)得像 UNIX但細(xì)節(jié)不通用。比如 who am i、sin、use 這幾個(gè)在 Linux 里就沒有對(duì)應(yīng)物。這一章按實(shí)際工作流來(lái)組織先定位自己在哪、系統(tǒng)里有什么再找文件、處理文本、改權(quán)限照著走一遍就能在目標(biāo)機(jī)上干活了。3.1 系統(tǒng)狀態(tài)與用戶信息pwd、who、finger、date# 顯示當(dāng)前工作目錄 pwd # 查看當(dāng)前登錄用戶 who am i # 查看所有登錄用戶及詳細(xì)信息 finger # 定制顯示日期時(shí)間 date DATE: %m/%d/%y%nTIME: %H:%M:%Spwd 是 print working directory 的縮寫輸出以 / 開頭的絕對(duì)路徑告訴你當(dāng)前在文件系統(tǒng)的哪個(gè)位置。who am i 這個(gè)寫法比較老派輸出包含登錄名、終端線路和登錄時(shí)間注意終端如果是 //1/dev/ttyp0 這種帶節(jié)點(diǎn)號(hào)的說(shuō)明你是遠(yuǎn)程進(jìn)來(lái)的。finger 后面跟用戶名可以查某個(gè)用戶的詳細(xì)信息不管他在不在線。date 加單引號(hào)格式化用在腳本里非常方便%m 是月、%d 是日、%y 是兩位年份%n 是換行系統(tǒng)管理員也能用它直接設(shè)置系統(tǒng)時(shí)間。3.2 文件定位與查看ls、find、more、cat# 區(qū)分目錄、文件、可執(zhí)行程序 ls -F # 遞歸列出所有子目錄的文件 ls -R # 在指定目錄下按名字找文件 find /rtu -name qrtu.c # 分屏瀏覽文本 more /rtu/config/comn1.sys # 顯示文件內(nèi)容也可以重定向生成新文件 cat /rtu/config/comn1.sys cat qcdt.sys channel1.sysls -F 的輸出里名字后面帶 / 的是目錄帶 * 的是可執(zhí)行文件沒后綴的是普通文件這個(gè)一眼定位在排查目錄結(jié)構(gòu)時(shí)很省事。find 的格式是“find 路徑列表 表達(dá)式”-name 后面跟目標(biāo)文件名手冊(cè)里的實(shí)例是 find /rtu -name qrtu.c一下子把整個(gè)工程的源文件位置撈出來(lái)。more 每顯示一屏就暫??崭穹乱豁?yè)/ 可以在文件里搜字符串。cat 除了看文件還能直接做文件復(fù)制cat qcdt.sys channel1.sys 等價(jià)于 cp但順便能把多個(gè)文件拼接成一個(gè)。3.3 文本處理的四件套diff、grep、sort、wc# 對(duì)比兩個(gè)配置文件的差異 diff comn1.sys comn2.sys # 忽略大小寫搜索字符串 grep -i protocol channel1.sys channel2.sys # 按規(guī)則排序文件行 sort config.list # 統(tǒng)計(jì)行數(shù)、詞數(shù)、字符數(shù) wc -h dbms.cfg ser.cfgdiff 的輸出格式值得讀一下6,7c6,7 表示 comn1.sys 的第 6、7 行要改成 comn2.sys 的第 6、7 行然后下面用 和 分別標(biāo)出兩個(gè)文件的內(nèi)容。grep 支持正則表達(dá)式-i 忽略大小寫多文件搜索時(shí)輸出會(huì)帶文件名前綴比如 channel1.sys: Protocol: U4F。sort 的排序規(guī)則有點(diǎn)講究數(shù)字開頭的行排在前面大寫字母開頭的行排在小寫前面符號(hào)按 ASCII 碼排。wc 的 -h 參數(shù)會(huì)打印表頭多文件時(shí)最后一行 Total 給出總計(jì)檢查配置文件有沒有漏行時(shí)這個(gè)命令很實(shí)用。3.4 文件與目錄管理cp、mv、rm、cd、mkdir、rmdir# 拷貝文件 cp qcdt.sys /rtu/config/channel1.sys # 移動(dòng)并改名 mv /rtu/config/qcdt.sys /rtu1/config/channel1.sys # 遞歸刪除目錄不可恢復(fù) rm -r /rtu/old_bin # 遞歸建立目錄 mkdir -p /rtu/config # 刪除空目錄 rmdir /rtu/empty_dircp 只作用于文件不能復(fù)制目錄要復(fù)制目錄得配合 -r 選項(xiàng)。mv 既能改名也能搬目錄手冊(cè)里特意演示了“移動(dòng)并改名”一步到位的寫法。rm 這條要格外小心QNX 不保留被刪文件的副本rm 之后沒有后悔藥符號(hào)鏈接被刪時(shí)只刪鏈接本身指向的文件還在。rmdir 只能刪空目錄目錄里有內(nèi)容會(huì)報(bào)“Directory not empty”必須先清空內(nèi)部。mkdir -p 是腳本里最常用的參數(shù)父目錄不存在時(shí)自動(dòng)逐級(jí)創(chuàng)建寫部署腳本時(shí)能省掉一堆判斷。3.5 權(quán)限管理chmod 的符號(hào)法和八進(jìn)制法# 符號(hào)模式屬主加執(zhí)行權(quán)限 chmod ux mkrtu # 八進(jìn)制模式所有用戶讀/寫/執(zhí)行 chmod 777 mkrtuchmod 的符號(hào)模式里u 是屬主、g 是同組、o 是其他用戶、a 是全部 表示授予- 表示拒絕。注意一個(gè)坑who 和 之間不能有空格手冊(cè)原話是“不要在 who 和 、- 和 permission 之間輸入空格”寫成 chmod u x 會(huì)被當(dāng)成兩個(gè)參數(shù)解析命令根本執(zhí)行不了。八進(jìn)制模式更直接三個(gè)數(shù)字分別對(duì)應(yīng)屬主、同組、其他用戶的權(quán)限數(shù)字是 rwx 三種權(quán)限的累加值數(shù)字權(quán)限含義4r--只讀5r-x讀和執(zhí)行6rw-讀和寫7rwx讀、寫、執(zhí)行排查權(quán)限問(wèn)題先 ls -l 看當(dāng)前狀態(tài)九個(gè)字符按三三一組第一組屬主、第二組同組、第三組其他人r、w、x 各自對(duì)位用 - 表示拒絕。我一般習(xí)慣用八進(jìn)制模式因?yàn)樗粫?huì)出現(xiàn)空格解析問(wèn)題也更容易寫進(jìn)部署腳本。4. 應(yīng)用程序開發(fā)從環(huán)境搭建到一個(gè)完整消息通信實(shí)例前面把系統(tǒng)和命令都過(guò)了一遍這一章終于落到代碼上。手冊(cè)第三章講開發(fā)過(guò)程和實(shí)例我這里把它擴(kuò)展成一個(gè)可以直接上手跑的最小工程先搭環(huán)境再寫一個(gè)父子進(jìn)程例子最后把上一章的 server/client 消息通信完整跑通。4.1 開發(fā)環(huán)境目標(biāo)機(jī)與交叉編譯QNX 應(yīng)用程序開發(fā)的基本套路是在一臺(tái)開發(fā)機(jī)上寫代碼和交叉編譯生成的可執(zhí)行文件傳到目標(biāo)機(jī)運(yùn)行。開發(fā)環(huán)境由編輯器、C/C 編譯器、鏈接器、make 和頭文件庫(kù)組成。老版本 QNX 常見的是 Watcom C 編譯器新版本基本都切到 GCC用 C 還是 C 取決于業(yè)務(wù)實(shí)時(shí)控制這部分用純 C 更直接因?yàn)槔瞎こ汤锎罅?POSIX 風(fēng)格的接口用起來(lái)沒有 C 的額外開銷。部署空間這塊要心里有數(shù)手冊(cè)強(qiáng)調(diào)“最小配置只占用幾十 KB 內(nèi)存”這種緊湊性是靠裁剪管理器實(shí)現(xiàn)的。你在開發(fā)機(jī)上可能跑著幾十個(gè)進(jìn)程到目標(biāo)板可能只放內(nèi)核、Proc32、Fsys、Dev 和你自己寫的兩三個(gè)應(yīng)用進(jìn)程。寫代碼時(shí)不要依賴那些開發(fā)機(jī)上的便利工具目標(biāo)板上的運(yùn)行環(huán)境可能連 shell 腳本解釋器都沒有。4.2 進(jìn)程創(chuàng)建實(shí)例父進(jìn)程 spawn 出子進(jìn)程QNX 支持的任務(wù)創(chuàng)建方式是 spawn 系列調(diào)用比傳統(tǒng)的先 fork 再 exec 更輕量一步就能指定新程序路徑、參數(shù)和環(huán)境/* spawn_demo.c - 先創(chuàng)建子進(jìn)程再等它退出 */ #include stdio.h #include process.h #include sys/wait.h int main(void) { int pid; /* 參數(shù)依次是程序路徑、文件描述符繼承、環(huán)境變量、命令行名、參數(shù)表 */ pid spawn(child_demo, NULL, NULL, child_demo, NULL); if (pid -1) { perror(spawn); return 1; } printf(parent: child pid%d, waiting...\n, pid); waitpid(pid, NULL, 0); printf(parent: child done.\n); return 0; }/* child_demo.c */ #include stdio.h #include process.h int main(void) { printf(child: my pid is %d\n, getpid()); return 0; }spawn 的第一個(gè)參數(shù)是要執(zhí)行的程序路徑第二和第三個(gè)參數(shù)控制文件描述符繼承和環(huán)境傳遞這里傳 NULL 表示用默認(rèn)值第四個(gè)參數(shù)是命令行里的程序名最后一個(gè)參數(shù)是參數(shù)數(shù)組。編譯時(shí)兩個(gè)文件分別編spawn 的執(zhí)行路徑要能找到 child_demo 這個(gè)可執(zhí)行文件如果不在同一目錄就寫全路徑。waitpid 讓父進(jìn)程阻塞直到子進(jìn)程退出這是父子同步最基本的做法。cc -o child_demo child_demo.c cc -o spawn_demo spawn_demo.c ./spawn_demo4.3 消息通信完整實(shí)例Client/Server 跑通 IPC消息通信是 QNX 應(yīng)用的核心骨架我直接復(fù)用 2.3 的 server.c再補(bǔ)一個(gè) client.c/* client.c - 消息發(fā)送端 */ #include sys/neutrino.h #include stdio.h #include string.h int main(int argc, char *argv[]) { int coid, chid 1; /* 通道號(hào)與服務(wù)端約定為 1 */ int server_pid; char reply[16]; if (argc 2) { fprintf(stderr, usage: client server_pid\n); return 1; } server_pid atoi(argv[1]); /* 通過(guò) 節(jié)點(diǎn)號(hào)進(jìn)程PID通道號(hào) 定位服務(wù)端 */ coid ConnectAttach(0, server_pid, chid, 0, 0); if (coid -1) { perror(ConnectAttach); return 1; } /* 同步發(fā)送發(fā)送后阻塞等待服務(wù)端應(yīng)答 */ if (MsgSend(coid, hello, 6, reply, sizeof(reply)) -1) { perror(MsgSend); return 1; } printf(server reply: %s\n, reply); return 0; }運(yùn)行順序有講究先啟服務(wù)端再啟客戶端# 終端 1啟動(dòng)服務(wù)端后臺(tái)運(yùn)行 ./server # 終端 2用 sin 查到 server 的 PID sin # 終端 2把 PID 傳給客戶端 ./client 11234ConnectAttach 的四個(gè)參數(shù)分別表示節(jié)點(diǎn)描述符、目標(biāo)進(jìn)程 PID、目標(biāo)進(jìn)程的通道號(hào)、標(biāo)志位。這里第一個(gè) 0 指本地節(jié)點(diǎn)跨節(jié)點(diǎn)通信時(shí)改成對(duì)應(yīng)節(jié)點(diǎn)號(hào)就行。MsgSend 把 6 個(gè)字節(jié)的 “hello” 發(fā)給服務(wù)端然后阻塞等待應(yīng)答服務(wù)端 MsgReply 之后才繼續(xù)往下走。整個(gè)調(diào)用鏈體現(xiàn)的就是手冊(cè)里那句話消息從第一個(gè)任務(wù)的地址空間復(fù)制到第二個(gè)任務(wù)地址空間時(shí)發(fā)送方被掛起直到收到應(yīng)答。這個(gè)同步模型保證了消息不會(huì)丟代價(jià)是收發(fā)雙方必須都在線進(jìn)程退出或通道關(guān)閉都會(huì)導(dǎo)致錯(cuò)誤返回。4.4 調(diào)試與狀態(tài)檢查進(jìn)程卡死的時(shí)候最先要看的是 sin 或 ps 輸出的 STATE 列。常見狀態(tài)有 READY就緒在跑、WAIT等待某種事件、RECV阻塞等消息、REPLY發(fā)送方在等服務(wù)端應(yīng)答。如果客戶端一直處于 REPLY、服務(wù)端一直處于 RECV那多半是消息路徑上有人沒應(yīng)答或者雙方在互相等待。手冊(cè)里的 use 命令可以查看某個(gè)命令的用法use 本身也是 QNX 一個(gè)特色所有命令的文檔都能通過(guò) use 命令在 shell 里直接調(diào)出來(lái)不用翻紙質(zhì)手冊(cè)。5. 避坑實(shí)錄QNX 開發(fā)中五個(gè)高頻故障的排查路徑QNX 的坑主要不在語(yǔ)法而在系統(tǒng)的底層假設(shè)。下面五個(gè)場(chǎng)景都是手冊(cè)里埋了伏筆、我在實(shí)際調(diào)試中真踩過(guò)的每一條按“現(xiàn)象、原因、解決”拆開講。5.1 rm 之后沒有后悔藥現(xiàn)象誤刪了一個(gè)配置文件或二進(jìn)制翻遍系統(tǒng)也找不回來(lái)所有備份手段都沒有啟用。原因QNX 不像桌面系統(tǒng)有回收站rm 直接刪目錄項(xiàng)文件占用的數(shù)據(jù)塊被標(biāo)記為釋放命令執(zhí)行完就回天乏術(shù)。解決刪文件之前先 ls 確認(rèn)路徑關(guān)鍵目錄定期用 tar 打包存到另一節(jié)點(diǎn)腳本里刪除操作統(tǒng)一加 -i 交互確認(rèn)。從那以后我凡是批量刪除的場(chǎng)合第一反應(yīng)都是先把目錄 tar 一份再動(dòng)手血淚經(jīng)驗(yàn)。5.2 chmod 符號(hào)模式中間打了空格現(xiàn)象執(zhí)行 chmod 沒報(bào)錯(cuò)但權(quán)限根本沒變或者命令被拆成兩個(gè)參數(shù)解析。原因手冊(cè)明確寫了 who 和 、- 和 permission 之間不能有空格寫成 chmod u x file 時(shí) shell 會(huì)把 u、、x 當(dāng)成獨(dú)立參數(shù)。解決符號(hào)模式寫成 chmod ux file 這樣緊湊格式批量處理或者寫腳本時(shí)直接用八進(jìn)制模式 chmod 755 file少一個(gè)坑。5.3 共享內(nèi)存不同步丟數(shù)據(jù)現(xiàn)象兩個(gè)任務(wù)同時(shí)修改一份共享記錄結(jié)果其中一次修改沒了數(shù)據(jù)對(duì)不上。原因共享內(nèi)存是五種 IPC 里吞吐最大的但本質(zhì)是裸內(nèi)存訪問(wèn)手冊(cè)原話是“若不采取同步措施往往也容易出錯(cuò)”兩個(gè)任務(wù)并發(fā)寫同一個(gè)位置必然互相覆蓋。解決寫入前用信號(hào)量加鎖多讀單寫場(chǎng)景配合原子操作或者干脆改用消息通信讓數(shù)據(jù)的歸屬權(quán)清晰。這里不是共享內(nèi)存不行是不加保護(hù)就裸奔不行。5.4 高優(yōu)先級(jí)進(jìn)程忙等低優(yōu)先級(jí)餓死現(xiàn)象系統(tǒng)沒死機(jī)但某個(gè)低優(yōu)先級(jí)任務(wù)永遠(yuǎn)得不到執(zhí)行日志里一直沒它的輸出。原因最高優(yōu)先級(jí)任務(wù)只要就緒就一直占據(jù) CPU低優(yōu)先級(jí)任務(wù)根本沒有調(diào)度機(jī)會(huì)這是優(yōu)先級(jí)搶占的必然結(jié)果。解決高優(yōu)先級(jí)任務(wù)里不要用 while(1) 自旋忙等該阻塞的調(diào)用比如 MsgReceive就用阻塞調(diào)用把 CPU 讓出去任務(wù)優(yōu)先級(jí)不要全部拉滿按周期和重要程度分級(jí)。5.5 消息通信兩端互相等成死鎖現(xiàn)象客戶端卡在 REPLY 狀態(tài)服務(wù)端卡在 RECV 狀態(tài)兩邊都不動(dòng)請(qǐng)求超時(shí)。原因服務(wù)端在處理完前一條消息之前又阻塞接收新消息而客戶端等的是舊請(qǐng)求的應(yīng)答形成循環(huán)等待。解決用 sin 查 STATEREPLY 說(shuō)明在等應(yīng)答RECV 說(shuō)明在等新消息一眼定位是誰(shuí)沒有履行應(yīng)答義務(wù)協(xié)議上約定“收到必須答”處理不過(guò)來(lái)的場(chǎng)景用代理或者異步消息而不是讓服務(wù)端無(wú)限阻塞。6. 二次開發(fā)思路把手冊(cè)案例映射成自己的板級(jí)工程真正要在這個(gè)手冊(cè)基礎(chǔ)上做二次開發(fā)第一步不是抄代碼而是把老 API 映射到現(xiàn)代 QNX Neutrino 或者你目標(biāo)板上實(shí)際支持的接口。我習(xí)慣先建一張映射表把手冊(cè)里的概念轉(zhuǎn)成當(dāng)前工程能直接用的調(diào)用手冊(cè)里的概念 / API現(xiàn)代 QNX Neutrino 對(duì)應(yīng)備注內(nèi)部任務(wù)消息MsgSend / MsgReceive / MsgReply同步阻塞核心 IPC代理MsgSendPulse非阻塞事件通知共享內(nèi)存shm_open mmap 信號(hào)量必須自己加鎖消息隊(duì)列POSIX mq_open / mq_send緩沖解耦Fsys / Dev 管理器資源管理器框架resmgr 實(shí)現(xiàn)設(shè)備服務(wù)映射做完之后改造路徑我一般分三步走。第一步在 QEMU 或虛擬機(jī)上把手冊(cè)里的命令全部過(guò)一遍pwd、find、chmod、sin 這些操作形成肌肉記憶第二步把手冊(cè)里的 news 實(shí)例代碼按映射表重寫成目標(biāo)板 API 版本能編譯能跑通第三步才是接手業(yè)務(wù)代碼把里面的 IPC 調(diào)用點(diǎn)逐個(gè)替換成你工程里的通信層。替換時(shí)優(yōu)先處理消息收發(fā)和進(jìn)程創(chuàng)建這兩個(gè)高頻點(diǎn)其他模塊可以后置。這里給一個(gè)實(shí)用的驗(yàn)證方法改造完一個(gè)模塊不要直接全量替換先讓新舊兩個(gè)進(jìn)程同時(shí)跑用 sin 對(duì)比兩者的 STATE 變化。如果新進(jìn)程的 RECV/REPLY 狀態(tài)切換和舊進(jìn)程節(jié)奏一致再切流量過(guò)去。我以前接手一個(gè)老項(xiàng)目時(shí)就是用這個(gè)辦法在不動(dòng)整體架構(gòu)的前提下把消息通信層一點(diǎn)一點(diǎn)換掉的。從那以后我每次接觸新板子都強(qiáng)制先把 IPC 的狀態(tài)機(jī)走一遍再碰業(yè)務(wù)代碼。QNX 的實(shí)時(shí)性不神秘但它的消息模型值得認(rèn)真對(duì)待希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品自产拍在线观看社区| 国产 日韩 欧美一区| 亚洲aw毛茸茸在线| 中文欧丝袜诱惑| 国产精品第二页| 天天摸,夜夜摸| 国内毛片无码一级毛片| 色色丁香| 天天做天天爱天天爽AV| 国产精品久久久九九九| 97干在线视频| 国产无码精品久久久久久| 18啪啪手机免费性爱| 久久精品国产亚洲AV高级北京| 日韩精品在线观看网站| 磁力99AV| 97鸡把在线视频| av网站免费看| 91久久国产综合久久| 国产乱码精品久久久久久 | 啊a一区在线| 成人综合视频久久| 九九五月天| 激情五月综合开心五月| 九九热超碰97亚洲最新香蕉| 亚洲精品一区二区精华| 极品丝袜无码| 亚洲色宗合| AA丁香综合激情| 97在线免费公开视频| 久久久久久九九九九| 五月天婷婷欧美三区| 精品国产99999| 婷婷激情五月| 久艾草在线精品视频在线观看| 欧美另类色图片| 自拍亚洲综合| 日韩欧美字幕亚洲一区二区| 少妇99| 性饥渴少妇av无码毛片| 大香蕉99热| 日韩精品一二三| 欧美久久婷| 国产成人亚洲精品无码最新在线| 免費人妻夜夜爽天天爽爽一区| 天美传媒AV在线| 97内射偷拍| 操逼视频国产无套| 国产精品网站www| 国产精品久久久久久照片| 亚洲综合骚逼| 亚洲成人久久美女| 精品国产Av无码久久久伦古装| 中文伊人大香蕉视频| 干超碰碰熟女| 噜噜噜亚洲精品| 久久精品国产亚洲AV片多多| 大香蕉淫人| 一区二区三区国产精产| 操美女高潮抽搐白浆| 欧美性夜| 操熟女91| 亚洲本色精品一区二区久久| 日韩人妻丝袜中文字幕| 婷婷性网| 伊人嫩草| 欧美传媒一区| 欧美在线综合| 日本黄页视频在线观看| 91嫩草欧美| 97色97好| 超碰碰小说97| 96超碰网| 九九热精彩视频| 日本午夜福利视频| 99操| 久久爽爽精品| 殴美性天天| 久热最新在线杭州| 久久久久亚洲Av无码专区老牛影视| 久久久久深夜无码| 91色宗合| 91精品人妻偷情| 啊啊啊爽爽| 国产欧美日韩臀| 99综合自拍| 少妇第一页| 粉嫩小泬久久久一区二区| 97色色色综合网站| 性感美女啊啊啊在线| 欧美亚洲影视| 大香蕉伊然在亚洲91| 中文字幕在线观看网页| 免费国产视频| 精品三级在线专区| 日B操| 欧美日本视频一区| 欧美成人A√在线一区二区| 日本 成 人 小说 电影 一区二区| 蜜臀国产AV中文字幕| 国产精品一区二区在钱播放| 98精品国产乱码久久久久久| 欧美日韩在线小说| 韩国午夜理伦三级好看| AV天堂男人的天堂| 色噜噜狠狠色综无码久久合欧美| 3P乱轮视频| 在线无码网站| 不卡免费av在线播放| 色色无码| 999久久久九九九九| 在线播放免费av福利片| 熟妇人妻一区二区三区| 天天亚洲| 久久99久久99精品免视看婷婷| 日欧毛片久久| 成人日本视频人妻在线| 五月天综合网| www.91视频网| 久久精品性| 大香蕉琪琪日本女优不卡| 啊啊啊无码| 亚洲第一成人影院色播| 麻豆传媒一区二区在线观看| 无遮挡一级毛片视频免费的| 亚洲日韩AV视色| 一本一道久久综合久久| 久操网无码在线| 女同在线视频一区| 少妇淫妇久久久久久久| 国产成人网址| 久久啊啊| 超碰久久性爱| 91丨国产丨白浆秘 洗澡动漫| 国产高潮AA片免费看| 91人妻视频| 国产精品自拍视频| 天天草天天干天天日| 国产精品乱码久久久久久久| 久久精品国产亚洲AV嘿嘿| 国产视频一区二区三区久久亚洲天堂| 91精品国| 亚洲天堂女优在线| 国产成人超碰在线| 超碰在97| 欧美后进式| 婷婷久久五月综合激情| 怡红院怡春院| 亚洲欧美一区二区网址| 啊啊啊好舒服好爽啊啊啊视频| 99久久无码| 嗯嗯啊啊好疼| 亚洲国产高清福利视频| 国内毛片四区| 国产这里只有精品| 成人av毛片在线观看| 超碰 97国产熟女| 天天草天天日| 伊人伊人LD| 日韩视频啪啪| 人人操人人爽人人操人人| 九九热超碰97亚洲最新香蕉| 亚洲色系另类精品国产| 欧洲与亚洲欧美精品中文字幕| 操碰97| 亚洲天堂,男人| 97超碰久久| 色香在线| 国产一区二区三区中文字幕| 亚洲国产av中文字幕久久| 国产AV人人夜夜澡人人爽麻豆| 人妻干天天| 97操综合| 麻豆乱码久久精| 操逼操逼逼操操逼91 | 国产第12页| 精品亚洲俞拍视频一区| 东京热免费视频| yaouchengrenav| 老色鬼成人精品视频下载大在线观看| 91久久久久免| 中国国产精品一区视频| 国产高清亚洲日韩一区| 骚货 中文字幕 av| 伊人一区二区三区| 久都青青视频| 中文字幕jul-617人妻熟女| 国产精品午夜AV完会免费| 91女优在线观看| 久久黄黄| 伊人五月天| 收看日本人日bb| 少妇精品久久| 中文字幕免费在线观看| 青操影院| 超碰人妻中文在线| 日本午夜福利视频| 天堂精品在线| 国产97视频免费观看| 麻豆久久精品亚洲精品88| 日韩人人精品| #NAME?| www.97在线| 激情综合久久| 九九热视频在线观看| 国模不卡| 国产精品秘 福利姬在线观看| 内射老妇BBWX0C0CK| 传媒在线观看一区二区三区| 蜜桃网熟妇| 青久操| 久jiu久神马影院| 五月综合激情| 九九黄色网| 激情五月天丁香社区| 人人操人人搞人人草| 国产精品分类在线观看| 国内毛片欧美香蕉精品| 国语av狠狠色丁香婷婷综合激情| 少妇色综合| 97视频620| 色大香蕉97N| 99re99视频在线免费观看| 激情六月婷婷| 开心激情站| 夜夜嗨AV一区天天| 97综合在线| 久久草草欧美精品| 欧美亚洲第1页| 97超碰色屌| 熟啊v色欧美热| 久久久久久久久九九久孕交| 另类 综合 日韩 欧美 亚洲| 无码操逼天堂| 男女啊啊啊| 亚洲欧美综合| 中国少妇XXXX做受| 超踫中文字幕| 亚州操操穴网| 天天操天天日青青草超碰av| 97色欧洲| 操国产高清| 香蕉欧美| 日韩熟女操逼| 717影院理论午夜伦八戒| 乱老女人一区二区视频| 97在线免费看| www. 男人天堂成人在线| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 日比av无码| 国产午夜精品在线观看| 性爱Av免费| 天堂8在线新版官网| 国产尤物AV尤物在线观看不卡| 乱伦3P视频| 色色色五月婷婷| 大胆91| 99少妇精品视频| 福利在线视频一区二区| 亚洲中文sv| 国产欧美日本亚洲精品| 丁香色五月 97干| www四虎| 国产女人9999| 亚洲久久久久| 狠狠操夜夜| 色婷五月天| 日韩有码一区三区| 中文字幕精品亚洲熟女| 国产内射爽爽大片| 欧美疯狂做爰xxxx| 欧美亚洲AN| 少妇三p| 亚欧毛片基地国产毛片基地| 99人人干| 日本黄色天堂| 亚洲国产91精品一区二区久久| 亚洲操人| 九九热精品视频六| 久久精品国产亚洲AV高级北京| 日本在线一二| 91欧美丝袜| 激情黄色片在线观看| 天堂种子在线www网资源| 黄页18禁| 97超碰超| 成人在线视频网| 99热日| 欧美1区二区三区公司| 色色热| 99re在线视频国产| 嫩草一区二区在线观看| 亚洲色丰满少妇高潮| 97在线免费| 99爱爱| 18岁禁 茉莉成人久久| 亚洲资源站| 国产激情综合| 欧美综合亚洲| 91在线无码精品秘 软件| 亚拍在线| 久久精品一区二区一8| 免费观看啪视频| 在线亚洲丝袜视频网站| 黄色片,com| 精品国产99| 99久久国产精品免费高潮| 人妻天堂综合网| 亚洲天堂日本| 国产黄色影片在线观看| 麻豆一区二区三区精品| 最新三级网址| 亚洲综合嫩| 99精品在线| 老鸭窝在线视频播放| 欧美劲爆视频一区二区| 亚91网| 91啪啪视频| 日本幼女18+| 青青草操逼逼视频| 亚洲一区二区三区不卡国产欧美| 96爱综合| 亚洲国产尤物yw在线观看| 国产九区| 自拍鲍鱼一区在线高清观看免费| 老鸭窝在线视频播放| www…国产操逼| 色天天野狼综合社区| 开心五月婷婷激情| 久久久新亚洲AV| 国模不卡一本二本三电影| 国产成年精品高清在线观看91| 亚洲爱爱视频一区二区| 久久综合激情| 日本孕妇一区二区视频操逼免费看 | 影音先锋每日最新资源在线观看| 国产精品久久久视频| 人人操,人人液| 色男人色天堂东京热| 亚洲欧美国产其他二区| 婷婷五月天激情四射| 97天天搞在线| 日本视频一区二区三区| www.av不卡中文字幕| 日韩 欧美 视频 在线 一区| 日本熟妇精品九九| 伊人天堂在线| 成人午夜小视频手机在线看| 亚洲av噜噜噜噜噜噜| 亚洲男人天堂网久久| 国产精品制服丝袜清纯唯美| 欧美AB在线| 九九九精品一区二区无码| 美国一区二区免费视频| 亚洲高清视频在线免费观看| 91 综合 色| 亚洲 日韩 欧美 国产综合体| 亚洲日韩人妻中文字幕一区| 欧美爱国产综合、| 青女在线| 超碰97爽| 综合五月婷婷| 午夜无码精品免费看性色| 97视频在线免费观看| 久久久草草精品| 麻豆乱码久久精| 一级黄色影片| 免费看欧美美女黄色大片| 先锋影音av先锋一区| 91欧美www| 东北夫妻性偷拍| 成人5码视频| 人人性爱视频免费| 校园春色亚洲色图| 天天综合欧美黑人| 熟妇一区,二区,三区。| 欧洲自拍色图gif在线| 一区黄二区黄| 情色AV电影| 五月天激情四射| 欧美成人AⅤ大片在线观看| 亚洲在线欧美| 成人怡红院| 怡红院久久老司机| 一二三区视频在线观看| 日本97久久| 欧美高潮| 精品一区二区久久| 97精品中文字幕| 国产熟妇一区二区| 东北女人的毛片| 五月天色图| 岛国成人av在线播放网址| 亚洲一区二区久久久久| 高清无码久操视频| 成人性爱AV在线免费观看| 超碰午夜| 最新AV在线| 夜夜久久久| JuliaAnn丝袜熟女系列| 9久久精品| 四季av一区二区凹凸精品小说| 精品中文一区二区| 久久久久久久久久久久黄色 | 免费久久一级毛片大黄| 色欲久久久久综合网| 天天综合亚洲综合| 亚洲精品一区二区精华| 尹人免费观看视频在线| 免费一级a毛片久久久久久鸭绿欲| 高清无码久操视频| 天天懆天天日| 精品国产乱码久久久久久口爆网站 | 亚洲最新Av| 日本国产亚洲一区在线观看| 色网在线视频观看免费| 8050午夜少妇无码| 亚洲欧美精品91| 99re6久热只有精品6在线直播| 欧美狠狠弄| 久久国产精品91| 超碰在线人妻不卡| 蜜臀久久精品久久久久视频| 久久线上视频免费看| 国产熟妇 码视频户外直播| Sekablack无码一区| 日本操逼二区| 中国大陆国产高清AⅤ毛片| 8050午夜少妇无码| 久久秀这里有精品| 91国内外在线| 97在线观看免费视频| 亚洲天堂2020| 91足交| 中文字幕啊啊啊在线观看视频| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久熟女精品不卡一区| 亚洲激情视频| 国产精品老师| 日日做夜狠狠爱欧美黑人| 97精品视频在线播放| 夜色综合| 中文字幕精品资源在线| 激情露脸爱| 91美女在线视频| 五月天精品| 四虎国产精品永久入口| 中文字幕永久在线| jiujiujiujingpin| 亚洲精品一区二区日本| 99久久网站| 狠狠夜色午夜久久综合在线| 色97干| 久久精品中文字幕无码l| 国产成人自拍视频在线| 97视频在| 成人毛片免费| 五月婷婷激情综合| 白嫩妹子国产骚| 日韩性爱1级片视频| 神马精品视频| 天堂成人网| 国产精品国产拍高清AV| 欧美亚洲高清不卡| 免费αV在线视频| 中文字暮97| 变态另类专区| www.色婷婷色综合| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 欧洲色色| 一本久久久精品| 操逼网站视频漫画国产| 欧美大干日韩| 91艹B视频| 中文字幕人乱码中文字的预防方法 | 极品色综合| 岛国片在线观看视频亚洲| 91麻豆一二三区| 亚洲丝袜诱惑| 91女在线观看| 成年无码动漫av片无尽在线 | 激情四射五月天| 青娱乐亚洲热| 歐美性天天| A片大香蕉在线| 久久色人体| 超碰97在线色男人??| 国产三级在线现体验区| 亚洲少妇激情视频| 十八禁的黄污污免费网站| 99xav| 欧美 色 亚洲| 屌逼传媒| 亚洲欧美不卡线| 久久久久人妻| 久96热在线观看视频| 中文字幕大片三级狠狠干| 色妺妺AⅤ| 亚洲色图超碰在线| 欧美1区二区三区公司| 狠狠色一区二区中文字幕| 天天操天天射天天日| 黄色不卡视频| 五月天社区| 97K超碰在线| 久久精品三级影视| 亚洲欧洲自拍| 亚洲AV无码秘 蜜桃臀国精产品| 操逼网免费无码视频| 午夜精品久久久99热蜜桃的功能特点| 激情无码日韩| 国产亚热在线久久| 翘臀vidoes| 精品国产一区二区三区香蕉欧美| 91性| 欧美探花网| 精品国产国产AV| 亚洲成人免费在线| 国产日韩无码一区二区三区久久区| 亚洲AV高潮| 国产三级在线现体验区| 91在线一起| 欧美最婬乱婬爆婬性视频| 免费啪啪av| 深夜激情 | 97精品中文字幕| 亚洲欧美中文日韩视频中国语| 久久久久久久唑| 玖玖爱一区在线| 狠狠色婷婷| 人妻一区二区三区视频| 天天性射网| 91精品丝袜久久久久久| 国产一级特黄大片处女| 久久午夜神马| 中文字幕乱码人妻一区二区三区,99精品| 欧美经典一区二区三区 | 97chaopengongkai| 997色在线| 欧美精品自慰系列寂寞少妇| 狠狠色伊人亚洲综合网站色| 欧姜老司机| 久草男人天堂| 一牛影视久久久一区二区三区| 人人爱人人操人人性| 少妇久久久| 玖玖爱伊人玖玖爱| 神马久久久久久久久久| 婷婷日韩一区二区三区中文字幕在线| 国产极品美女高潮无套在线观看| 国产精品爆乳懂色蜜乳| 亚洲欧美在线丝袜| 亚洲日韩黑丝| 都市激情人妻一区二区青青操视频| 尹人大香蕉视频在线| 黄片免费久久久久久久| 制度丝袜99| 玖玖爱在线视频免费观看| 中文字幕一品色图| 97精品中文字幕| 黄色不卡视频| 国产农村妇女精品一二区| WWW4虎| 亚洲色五月| 去干网最新版| 天堂8在线新版官网| 国产v片在线免费观看| 深喉吞精| 亚洲人久久久久日| 婷婷国产精品一区二区| 9九九国产| 大香蕉日韩欧美| 997色在线| 欧亚韩国999| 亚洲区限制级 99| 超碰97导航| 性性欧美| 亚洲色图 综合| 欧美综合777| 大但人体久久久久| 少妇精品久久久八区九区| 精彩久久中文| 骚货 中文字幕 av| 亚洲干B| 人人爽夜夜玩视频| 夜夜高潮夜夜爽国产伦精品| www男人天堂| 久久精品国产亚洲粉嫩| AV中亚| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 东北丰满熟女国产一区| 成全在线观看免费观看| 91人妻素女| www狠狠| 色婷婷基地| 国产少妇肉丝在线观看| 九九热免费国产视频婷婷伊人五月 | 日本综合色图| 久久黄片国产一区二区| 蜜乳性色无码专日粉嫩骚逼AV| 囯产乱伦一区二区三女| 亚 欧 美 综合| 97日视频| 蜜臀网址在线| 国产丝袜欧美在线视频| 逼操网站| 午夜免费视频1000| 亚洲永久AV无码精品秋霞| 日韩精品影视| 91天堂网| 大香网站| 亚洲欧美中文日韩视频中国语| 2019久久久久久久久福利| 每日更新AV| 日韩丝袜人妻AV| 9久精品视频在线观看| 午夜经典| 日本欧美一区二区三区免费| www色色色com| 欧美久久人妻少妇一区二区| 欧美成人贴图| 人妻丝袜美腿中文字幕| 日韩成人大片一区二区| 97舔舔| 亚洲文学偷乱拍啪啪啪啪| 夜夜欢天天干| 亚洲欧美日韩精品久久久一区二区| 日日夜夜天天| 日日干夜夜骑| 日韩无码精品综合久久| 一二三四免费视频| 偷拍超碰| 日韩91网| 亚洲欧美国产其他二区| 艳美熟妇先锋一二三区| 少妇九九九九| 国产精品久久久| 玖玖婷婷五月天| 99r九九| 加勒比av官网在线| 中文字幕高清精品一区| 欧苏综合色综合| 国产夫妻性生活视频| a片自拍直播视频| 五月丁香六月激情综合| 久久久久96| 欧美黑人精品在线播放| 超碰99热中文字幕| 日韩亚洲欧美中文字幕| 国产一区二区在线电影| 国产久久久久影院老熟女| 日本αv| 99人人干| 中字一区| 亚洲黄色网址视频| 十八禁电影伊人网| 在线综合色| 97国产色图| 久久久久亚洲熟妇熟女| 啊啊啊好湿国产一二| 伊人亚洲综合| 人妻aa| 丝袜狂射91| 一级性爱视频免费在线| 7月婷婷综合| A 天堂| 国内精品不卡无毒99999| 天美av在线| 色综合久久888| 国产区在线| 激情五月天丁香| 久久久久久无码人妻中文字幕| 国产AV无码AV| 久久超碰天天| 色噜噜狠狠色综合日日| 日本不卡在线二区三区| 欧州色图区| 992视频一区| 久久欧美按摩999| 老熟女乱伦片| 日韩人妻精品中文字幕| 欧美黄片欧美黄片xxx| 欧美性Fer办公室秘书| 日韩欧美经典在线观看| 99在线精品视频| 嗯嗯啊啊啊好舒服| 亚洲 自拍偷拍 欧美| 伊人久日| 97国产色综合| 亚洲另类小说卡通动漫| 91老熟女91老女人| 天天日老熟妇| 成人无码电影在线观看网| 欧美一区二区三区成人性生活| 国产精品免费视频人成| 深夜国产福利| 在线黄色污污网站| 香蕉人人操tv| 欧美天天弄| 97日视频| 91 刺激在线| 欧美性爱日韩高清| 久射吧| 香蕉一区二区三区在线视频| 天天操夜夜嗨| 91制服丝袜中文字幕| 亚洲吊色| 丁香六月啪啪| 国产AV毛片| 97情超碰色| 男女打扑克高清网站| 男女做爰猛烈动高潮A片免费应用| 日日夜夜模| 欧美另类色图片| 日韩 欧美 视频 在线 一区| 99av| 东北操逼| 国产传媒美日韩av| 欧美色五月| 日韩黄色av中文字幕| 97网色| 啊啊啊啊啊啊啊啊要喷了| 91天堂色男人的天堂| 高清国产精品福利网站| 久久中久文96| 欧美综合自拍成人自拍第二十页| 国产乱色国产精品免费视| 久久久精精精| 麻豆a'v电影| 天天日老熟妇| 精品婷婷| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 国产女同性恋视频| 国产一区二区三区视频在线看| 亚洲熟女av中文字幕| 青青草好吊| 亚av顶级裸体一区二区三区四区五区| 中文字幕91综合| 亚洲国产成人精品999| 成人青青草原伊人| 伊人96在线| 伊人97色天使| 丝袜美腿欧美| 91狠狠色丁香婷婷综合久久| 六月丁香久久| 日本高清一区二区在线| 精品人妻一区二区视频| 国语对白露脸XXXXXX| 欧美色图自拍| 99国产精品免费| 欧美香蕉视xxx| 色性荡荡荡荡视频| 午夜天天碰综合视频| 欧美一级做a爰片免费视频| 国产精品午夜AV完会免费| 欧成人精品H无码| 91日韩| 婷婷涩嫩草鲁丝久久午夜精品| 日本不卡一二区| 超碰九区| 欧美激情一| 999国产精品999久久久久久| 蜜区区视频79 | 啊啊啊啊免费视频| 久久香蕉国产线看观看亚洲女人 | 香蕉热人人精品| 亚洲字幕一区二区| 国产精品女生av| 亚洲图片激情综合另类| 中文字幕在线免费观看| 男人天堂网站| 天天干天天燥| 久久久久久久久成人av解说| 免费人成?大片在线播放| 夜夜爽77777| 伊人久久国产免费观看视频| 成人色女网| 91男人天堂网| 日本三级精品| 男女激烈网站最新| 成人免费福利在线观看| 色5月婷婷| 啪啪91| 97在线观看免费视频l| 欧美性高潮| 欧美一级A一级a爱片久久| 亚洲日韩精品久久久久一区壹牛| 蜜乳av一区二区| 在线无码操| 99热综合| 欧美97在线观看| nuu12国产麻豆精品| 人妻久久一区二区三区| 乱抡国产91| 久久久久亚洲av综合波多野制衣| 超碰在线看| 亚州乱码中文字幕综合久久久| 天天躁狠狠躁av| 97亚洲在线| 久久男人精品| 国产日韩精品一区二区三区| 色网1| 色图综合| 国产自产一区视频在线| 午夜寂寞欧美| 亚洲少妇激情视频| 久久久久白虎| 91在线视频免费播放| 97天堂| 亚洲另类久操网| 97色欧洲| 免费公开人人操| 熟女日韩| 97精品全部| 日本色色的视频| 欧美日日夜夜| 亚洲欧美综合图片| 操逼www.| 青青操97| 国产精品女aA片爽爽视频| 国产日本久久免费精品| 少妇500双飞99| 丁香7月婷婷| 人人操人人操人人人操| 开心激情站| 天天综合网合集91| 老司机深夜18禁污污网站| 婷婷色色五月天| 久久久三区二区一区| 屁屁影院一区二区三区国产| 精品久久久久黄少妇| 男女国产精品| 久久精品三级影视| 智利AV在线网| 十八禁啪啦拍视频无遮挡| 91爱做| 四虎午夜影院| 男人的天堂2018东京热啪啪啪| 情色大香蕉| 欧美成人性爱视频大全| av线电影| 国产日韩欧美亚洲精品95 | 国产热av| 免费av大片| 人妻激情在线视频| 国产最火爆久久国产网站网站| 超踫中文字幕| 日韩97在线| 欧亚乱色熟一区二区三四区| 蜜臀99久| 大胆91| 人妻少妇精品视频一区二区三区| 欧洲成人性爱视频| 性生活性生大爱77AV国产| 插穴性爱视频在线观看| 欧美综合网1| 岛国大片在线观看网站入口| 龙兴卡官方查询| 在线精品福利免费播放| 丝袜狂射91| 牛牛aV| 91久久国产精品| 久久精品亚洲婷婷| 午夜啪| 午夜福利区| 久久av一级av少妇av高潮| 久热99999| 精品久热| 亚洲男人电影天堂| 色老汉色| 国产二区三区免费视频| 国产第二页| 午夜理论片在线观看免费| 插插综合网天天影视网| 精品人妻伦一二三区久久| 精品久久久av无码免费| 欧美在线l亚洲| 2021久久国产综合精品青草| 91精品操美女| 久久九七| 中国国国产一级特黄毛片| 一区二区三区男人的天堂| 凹凸视频特色日本特黄| 黑人性暴力毛片| 超碰97资源大奶| 日本女优在线视频福利| 小电影欧美91| 久久啊哟| 久久美女福利是上海美女| 欧美劲爆第一页| 亚洲中文字幕有码视频一区二区三区| 欧美自拍偷拍综合图片| 久久久国产精品亚洲精品| 国产AV高清AV无码| 亚洲图片欧美色图| 日韩八十路老熟女| 伊欧美综合视频| 香伊人在线| 日本97久久| 任我爽视频在线观看| 午夜120视频在线观看| 精品九九九九九| 操逼999| 日韩AV一区二区三区四四| 日韩免费簧片| 老妇女91| 日韩久草| av在线浏览| 色色色色综合网| 久热香蕉精品在线视频| 欧州91高潮| 四虎在线观看网站| 嗯嗯啊中文字幕| 天天天天天天天天天天干美女| 97免费在线观看| 久久久免费视频18| 高潮内射在线| 91国产精品在线看| 成人5码视频| 青青青国产手线观看视频2| 加勒比无码毛片| 精品综合久久久久久97| 色九九九| 久久黄黄| 久久久久久久久久va| 亚洲国产另类在线中文| 精品国产乱码久久久久久久| 色九九九综合| 98一区二区精品| 六月丁丁香| 婷婷AV一区二区三区| 亚洲无无码αⅴ每日更新| 久久久亚洲精品中文字幕人妻| 成人天天看站长推荐| 殴美,日韩国产伦精品| 日韩欧美经典在线观看| 韩国一级AAA| 日本黄大片在线观看视频| 欧美日韩亚洲天堂| 久操电影网| 中文字幕视频二区| 欧亚日本情色| 91精品久久久久久77777| 操操操操网黑人| 久久久久9999精品九九九| 韩日男人的天堂| 丰满少妇一区二区三区专区| 久青草影院| 97视频观看| 国产白嫩精品久久| 日韩在线女优天天干| 操逼啊啊啊91| 日本道久久综合色色| 99热这里只有精品地址| 亚洲最大的综合性av| 伊人一级免费黄片| 日本三级A片网站com| 日本一区视频在线观看| 精品国产91内射久久| 黑人娇小av在线播放 | 亚洲成av人片色午夜乱码| 日韩性爱电影一区| 人人人人人人少妇| 亚洲 欧美 天天| 人妻精品综合中文字幕在线| 国产男女无套视频免费观看| 五月天婷婷基地| 天美av在线观看| 久悠悠av| 97超碰这里只有精品| www.av不卡中文字幕| 天天天做天天天爱天天天爽| 亚洲欧美综合网 | 亚洲熟女精品| 久久久 国产精品| 涩五月婷婷| 久久9 9 9精品| 嗯嗯啊啊日韩精品| 九久久精| 日本中文熟女视频| 日本精品一级二级三级| 日逼国产| 天天日夜夜爽| 青青色综合| 丰满熟妇大乳做爰| 中文 人妻 制服| 三级日本一区二区三区| 色婷婷激一区二区三区 | 97AV在线免费观看| 91高清日| 欧美呦呦性爱| 欧美做爰无码A片视频| 亚州色交| 伊人991| 一本色道综合久久欧美日韩精品| 天天看天天日| 芊芊操逼视频无码| 日韩在线AB| 欧美在线中M| 97欧美日韩| 综合久久久久久久久91| 日本午夜精品理论片A级APP发布| 天天欧美色| 欧美色图在线视频少妇| 欧美性爱综合,免费| 99久久9| 精品视频久久区| 人人干黄色| oumeisetu综合| 亚春色色| 中文字幕aⅴ在线视频| 青青草亚洲一区| 人妻一区二区三区熟女| 99久久精品无码一区二区| 亚洲网自拍| 91网站视频在线观看| 久久这里只| 浪人综合网| 男人天堂2012| 青青草大香蕉视频| 成人麻豆av电影网站| 97精品国产97久久久| 欧美激情内射| 日本性爱少妇| 精品一区二区麻豆| 青娱乐老司机视频| 欧美拳交在线播放| 死我十八禁| 欧美日日操| 丁香激情五月| 久噜噜| 国产亚洲日韩在线三区黑人| 天天看天天综合成人网| 亚洲国产青青| 日本视频一区二区三区| 97资源欧美| 人人澡人人干| 熟女精品一区二区三区| 天天天做天天天爱天天天爽| 95自拍视频在线观看| 绑缚麻绳人妻寝取完整版| 一区二区中文| 女色视频社区| 中文字幕国产在线天堂| 农村妇女一级二级三级视频| 一区二区无码视频| 五月婷在线| 四虎884| 熟女视频久久| 激情在线青青操| 日本123区操B视频| 白嫩妹子国产骚| 五月丁香啪啪| 国产精品另类| 99无码视频| 成人久久久| 日本久久久久久久久| 偷拍视频青青草在线视频| 97超碰jingpin| 97久久久| 日本不卡高清免v欧美日韩在线观看| 人妻精品视频一区二区三区| 美国美女AV在线| 草草草视频在线免费看| 啊啊啊快操我视频| 97人人夜夜精品视频| 屌妞视频久久久久久久久久久久| xxxx网站亚洲精品| 超碰97在线色男人??| 国产精品人人爽人人做可爱福利| 亚洲综合一| 亚洲精品日韩国产欧美| 超碰欧美COM| 亚洲人成色9999精品久久| 国产免费一区2区3区| 欧美激情亚洲色图| 内射老妇BBWX0C0CK| 99国产精品久久久在线播放| 中文人妻av高清一区| 风骚少妇视频中文字幕| 亚洲无码一区二区三区三州| 久久系列| 久久 亚洲 日韩 人妻| 一区操逼日比视频| 97欧美综合| 天天日天天射天天干| 国产精品嫩草影院免费| 密臀在线一区尤物| 久久嫩草国产成人一区| 青娱乐欧美激情一区二区| 校园春色美腿丝袜 | 国产高清无码一区三区二区| 超碰在97| 91人妻爽爽人人做人人澡| 18禁免费视频| 91无码人妻精品一区二区三区蜜桃 | 日韩人妻制服丝袜av| 日逼97| 九9热伊人| 伊人青青一区成人视频在线观看区 | 亚洲日韩肥臀视频在线观看| 国产欧美岛国精品一区| 欧美第一页| 蜜臀Av一区二区三区| 无码人妻精品一区二区三区九九| 国产av尤物| 3p国产色噜噜一区| 欧美激情性爱视频网站| 一区二区三区男人的天堂| 久久久久久波多野吉衣高潮| a在线视频免费观看| juliaann丝袜| 午夜九九| 欧美内射少妇| 亚洲麻豆精品二区三区| 在线观看成人性爱免费小视频| 欧美色老汉| 久久久久久久久久久999| 激情五月婷婷综合| 亚洲国产一区二区日韩专区| 97色在线视频| 国产吹潮女在线观看| 99热精品青草在线| 你操综合| 欧美 亚洲 偷拍自拍| 婷婷视频在线免费观看| 精品一区二区国产日韩| 操久久久久| 色哟哟av| 四虎免费看黄| 久久深夜无码| 1024久久高清视频| 中文字幕 国产区| 熟女六十路| 天天草夜夜草高潮片| www.久久制服糖| 啊啊啊操死我| 亚洲一区二区中文字幕| 久久大香蕉97| julia ann久久| 男人 天堂 日 亚洲| 少妇免费视频| 婷婷国产精品九区| 欧美在线伊人色| 国产传媒日本欧美专区| 久久女人一区二区三区| 一区二区三区机械有限公司| 51一区二区三区| 亚洲精品一二区| av网站在线观看了| 第四色奇米影视777| 男女激烈网站最新| 亚洲欧美日韩制服另类| 内射老妇BBWX0C0CK| 亚洲中字幕日本一区二区三区| J?P?NESEHD熟女熟妇伦| 亚洲在线a| 一区二区视频你懂的| 男人的天堂无码| 亚洲国产综合久久久性感熟妇|