亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? schedule.cpp

?? 計算機操作系統(tǒng)中的重要實驗
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	goto Schedule;
}

//時間片調(diào)度
void Schedule_TimePiece()
{
	PCB pcb;

Schedule:

	if(g_bIsEnd && g_pcbReadyPriorityQueue.empty())
	{
		g_listStatInfoProcPriority.sort();
		PrintStatInfo_Priority(g_listStatInfoProcPriority,TimePiece);
		return;
	}

	if(g_pcbReadyPriorityQueue.empty())
		goto Schedule;

	EnterCriticalSection(&g_CriticalSection);

	pcb=g_pcbReadyPriorityQueue.front();
	g_pcbReadyPriorityQueue.pop_front();

	LeaveCriticalSection(&g_CriticalSection);

	if(!RunProc(&pcb))
	{
		EnterCriticalSection(&g_CriticalSection);

		g_pcbReadyPriorityQueue.push_back(pcb);
		
		LeaveCriticalSection(&g_CriticalSection);
	}
	else
	{
		//添加統(tǒng)計信息
		STATINFO_PRIORITY infoStat;
		
		infoStat.nPeriod=GetTickCount()-pcb.infoStat.nRequestTime;
		infoStat.procPriority=pcb.infoProcSch.procPriority;
		infoStat.nProcID=pcb.idProc.nInID;
		infoStat.nWeightPeriod=infoStat.nPeriod/pcb.infoStat.nGetCPUTime;
		
		g_listStatInfoProcPriority.push_back(infoStat);
	}

	goto Schedule;
}

//運行程序
BOOL RunProc(PCB *pPcb)
{
	int i;
	PROGRAM *pProgram=&pPcb->program;
	int nProcID=pPcb->idProc.nInID;
	int nSize=pProgram->instructionSet.size();
	int nTimePieceCnt=0;
	int nStartTime=GetTickCount();

//	cout.unsetf(cout.dec);
//	cout.setf(cout.hex);

	switch(g_ScheduleAlgorithm)
	{
	case FCFS:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<endl<<"進程"<<setw(2)<<nProcID<<"開始運行,其請求運行時間為";
		SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
		cout<<setw(2)<<pProgram->timeSystem.wMinute<<"分"
			<<setw(2)<<pProgram->timeSystem.wSecond<<"秒"
			<<setw(3)<<pProgram->timeSystem.wMilliseconds<<"微秒"<<endl;

		cout<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		for(i=0;i<nSize;i++)
		{
			EnterCriticalSection(&g_CriticalSection);
			
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);

			printf("進程%2d正在運行指令%4X...\n",nProcID,pProgram->instructionSet[i]);
			
			LeaveCriticalSection(&g_CriticalSection);
		}
		pPcb->infoStat.nGetCPUTime=GetTickCount()-nStartTime;
		if(!pPcb->infoStat.nGetCPUTime)
			pPcb->infoStat.nGetCPUTime+=2;

		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<"進程"<<setw(2)<<nProcID<<"運行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		break;

	case SPF:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<endl<<"進程"<<setw(2)<<nProcID<<"開始運行,其長度為";
		SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
		cout<<pProgram->nProgLen<<endl;

		cout<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		for(i=0;i<nSize;i++)
		{
			EnterCriticalSection(&g_CriticalSection);

			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
			printf("進程%2d正在運行指令%4X...\n",nProcID,pProgram->instructionSet[i]);

			LeaveCriticalSection(&g_CriticalSection);
		}
		pPcb->infoStat.nGetCPUTime=GetTickCount()-nStartTime;
		if(!pPcb->infoStat.nGetCPUTime)
			pPcb->infoStat.nGetCPUTime=2;

		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<"進程"<<setw(2)<<nProcID<<"運行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		break;

	case FPF_Reaved:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		if(!pProgram->nIP)
		{
			cout<<endl<<"進程"<<setw(2)<<nProcID<<"開始運行,其優(yōu)先級為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			PrintPriority(pPcb->infoProcSch.procPriority);
			cout<<endl;
		}
		else
		{
			cout<<endl<<"進程"<<setw(2)<<nProcID<<"恢復執(zhí)行,其優(yōu)先級為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			PrintPriority(pPcb->infoProcSch.procPriority);
			cout<<endl;
		}

		cout<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		for(i=pProgram->nIP;i<nSize;i++)
		{
			if(g_bIsPrioritierReach)
			{
				EnterCriticalSection(&g_CriticalSection);

				SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
				cout<<endl<<"優(yōu)先級為";
				SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
				PrintPriority(g_pcbPrioritier.infoProcSch.procPriority);
				SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
				cout<<"的進程"<<setw(2)<<g_pcbPrioritier.idProc.nInID<<"請求運行,進程"
					<<setw(2)<<nProcID<<"(優(yōu)先級為";
				SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
				PrintPriority(pPcb->infoProcSch.procPriority);
				SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
				cout<<")被中斷執(zhí)行"<<endl;

				g_bIsPrioritierReach=FALSE;

				LeaveCriticalSection(&g_CriticalSection);

				pProgram->nIP=i;

				pPcb->infoStat.nGetCPUTime+=GetTickCount()-nStartTime;

				return FALSE;
			}
			EnterCriticalSection(&g_CriticalSection);

			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);

			printf("進程%2d正在運行指令%4X...",nProcID,pProgram->instructionSet[i]);
			cout<<"(優(yōu)先級為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			PrintPriority(pPcb->infoProcSch.procPriority);
			cout<<")"<<endl;

			LeaveCriticalSection(&g_CriticalSection);
		}
		pPcb->infoStat.nGetCPUTime+=GetTickCount()-nStartTime;
		if(!pPcb->infoStat.nGetCPUTime)
			pPcb->infoStat.nGetCPUTime=2;

		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<"進程"<<setw(2)<<nProcID<<"運行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		return TRUE;

	case TimePiece:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		if(!pProgram->nIP)
		{
			cout<<endl<<"進程"<<setw(2)<<nProcID<<"開始運行,其長度為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			cout<<pPcb->program.nProgLen<<endl;
		}
		else
		{
			cout<<endl<<"進程"<<setw(2)<<nProcID<<"繼續(xù)運行,其長度為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			cout<<pPcb->program.nProgLen<<endl;
		}

		cout<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		for(i=pProgram->nIP;i<nSize;i++)
		{
			if(nTimePieceCnt>g_nMaxTimePiece)
			{
				EnterCriticalSection(&g_CriticalSection);

				SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
				cout<<"進程"<<nProcID<<"的時間片已經(jīng)用完,暫停執(zhí)行"<<endl;

				LeaveCriticalSection(&g_CriticalSection);

				pProgram->nIP=i;

				pPcb->infoStat.nGetCPUTime+=GetTickCount()-nStartTime;

				return FALSE;
			}
			EnterCriticalSection(&g_CriticalSection);
			
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);

			printf("進程%2d正在運行指令%4X...\n",nProcID,pProgram->instructionSet[i]);
			
			LeaveCriticalSection(&g_CriticalSection);

			nTimePieceCnt++;
		}
		pPcb->infoStat.nGetCPUTime+=GetTickCount()-nStartTime;
		if(!pPcb->infoStat.nGetCPUTime)
			pPcb->infoStat.nGetCPUTime=2;

		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<"進程"<<setw(2)<<nProcID<<"運行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		return TRUE;
	}

	return TRUE;
}

//退出系統(tǒng)
void Exit()
{
	char c;

	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
	cout<<"確定退出嗎?(Y/N)";
	c=getch();
	SetConsoleTextAttribute(g_hStdOut,CLR_IN);
	putch(c);
	cout<<endl;
	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
	if(c=='Y' || c=='y')
	{
		Clean();
		
		cout<<endl<<"謝謝使用本系統(tǒng)!"<<endl;
		cout<<"按任意鍵退出本系統(tǒng)...";
		getch();
		exit(0);
	}
	
	cout<<endl<<"你取消了退出!"<<endl;
}

void PressAnyKey()
{
	cout<<endl<<"請按任意鍵繼續(xù)...";
	getch();
	cout<<endl<<endl;
}

//關(guān)于我
void AboutMe()       
{
	char pAuthorInfo[]="作者:陶善文\n學號:080210114\nQQ:8261525\nEMail:ahei0802@126.com\n個人網(wǎng)站:http://home.pudn.com/ahei\n";

	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<endl;
	AnimatePrint(pAuthorInfo);
}

void AnimatePrint(char* pStr)
{
	UINT i;

	for(i=0;i<strlen(pStr);i++)
	{
		cout<<pStr[i];
		Sleep(20);
	}
}

void CoolBeep(UINT uiCbSort)
{
	switch(uiCbSort)
	{
	case CB_ERROR:
		Beep(410,150);
		break;
		
	case CB_OK:
		//聲音1
		Beep(2000,30);
		Sleep(100);
		Beep(2000,30);
		Sleep(100);
		Beep(2000,30);
		
		//聲音2
		/*	Beep(3000,150);
		Sleep(50);
		Beep(3000,150);*/
		break;

	default:
		break;
	}
}

void Reset(SCHEDULEALGORITHM algo)
{
	g_bIsEnd=FALSE;
	g_nCurProcID=0;
	g_nFinishedTime=0;
	g_bIsPrioritierReach=FALSE;

	switch(algo)
	{
	case FCFS:
		g_nCloseTime=6000;
		g_nMaxRunTime=20;
		g_nMaxInterval=1000;

		g_listStatInfoProgLen[algo].clear();
		break;

	case SPF:
		g_nCloseTime=100;
		g_nMaxRunTime=30;
		g_nMaxInterval=10;

		g_listStatInfoProgLen[algo].clear();
		break;

	case FPF_Reaved:
		g_nCloseTime=100;
		g_nMaxRunTime=20;	
		g_nMaxInterval=10;

		g_listStatInfoProgLen[algo].clear();
		break;

	case TimePiece:
		g_nCloseTime=55;
		g_nMaxRunTime=20;
		g_nMaxInterval=10;
		g_nMaxTimePiece=4;

		g_listStatInfoProcPriority.clear();
		break;
	}
}

//按程序大小入隊列
void SortInsProgLenQ(PCBPQUEUE& pcbQ,PCB pcb)
{
	PCBPQUEUE::iterator p;

	for(p=pcbQ.begin();p!=pcbQ.end();p++)
	{
		if(pcb.program.nProgLen<(*p).program.nProgLen)
		{
			pcbQ.insert(p,pcb);

			return;
		}
	}

	pcbQ.push_back(pcb);
}

//按優(yōu)先級入隊列
void SortInsPriorityQ(PCBPQUEUE& pcbQ,PCB pcb)
{
	PCBPQUEUE::iterator p;

	for(p=pcbQ.begin();p!=pcbQ.end();p++)
	{
		if(pcb.infoProcSch.procPriority > (*p).infoProcSch.procPriority)
		{
			pcbQ.insert(p,pcb);

			return;
		}
	}

	pcbQ.push_back(pcb);
}

//以文字方式打印優(yōu)先級
void PrintPriority(PROCPRIORITY p)
{
	switch(p)
	{
	case Low:
		cout<<"\"低\"";
		break;

	case LowStandard:
		cout<<"\"低于標準\"";
		break;

	case Standard:
		cout<<"\"標準\"";
		break;

	case HighStandard:
		cout<<"\"高于標準\"";
		break;

	case High:
		cout<<"\"高\"";
		break;

	case RealTime:
		cout<<"\"實時\"";
		break;
	}
}

//打印統(tǒng)計信息:程序長度
void PrintStatInfo_ProgLen(STATINFOL_PROGLEN l,SCHEDULEALGORITHM algo)
{
	int nPeriod=0;
	int nWeightPeriod=0;
	int nSize=l.size();

	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<endl;
	cout<<"算法:";
	PrintAlgorithm(algo);
	cout<<endl;

	SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
	cout<<endl;
	cout<<"程序長度 ";
	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<"進程ID "<<"周轉(zhuǎn)時間 "<<"帶權(quán)周轉(zhuǎn)時間"<<endl;

	STATINFOL_PROGLEN::iterator p;

	for(p=l.begin();p!=l.end();p++)
	{
		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<setw(5)<<(*p).nProgLen;
		SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
		cout<<setw(7)<<(*p).nProcID
			<<setw(10)<<(*p).nPeriod
			<<setw(10)<<(*p).nWeightPeriod<<endl;

		nPeriod+=(*p).nPeriod;
		nWeightPeriod+=(*p).nWeightPeriod;
	}
	cout<<endl;
	cout<<"平均周轉(zhuǎn)時間為:"<<nPeriod/nSize<<endl;
	cout<<"平均帶權(quán)周轉(zhuǎn)時間為:"<<nWeightPeriod/nSize;
	cout<<endl;
}

//打印統(tǒng)計信息:進程優(yōu)先級
void PrintStatInfo_Priority(STATINFOL_PRIORITY l,SCHEDULEALGORITHM algo)
{
	int nPeriod=0;
	int nWeightPeriod=0;
	int nSize=l.size();

	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<endl;
	cout<<"算法:";
	PrintAlgorithm(algo);
	cout<<endl;

	SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
	cout<<endl;
	cout<<"進程優(yōu)先級 ";
	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<"進程ID "<<"周轉(zhuǎn)時間 "<<"帶權(quán)周轉(zhuǎn)時間"<<endl;

	STATINFOL_PRIORITY::iterator p;

	for(p=l.begin();p!=l.end();p++)
	{
		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<setw(5)<<(*p).procPriority;
		SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
		cout<<setw(10)<<(*p).nProcID
			<<setw(8)<<(*p).nPeriod
			<<setw(10)<<(*p).nWeightPeriod<<endl;

		nPeriod+=(*p).nPeriod;
		nWeightPeriod+=(*p).nWeightPeriod;
	}
	cout<<endl;
	cout<<"平均周轉(zhuǎn)時間為:"<<nPeriod/nSize<<endl;
	cout<<"平均帶權(quán)周轉(zhuǎn)時間為:"<<nWeightPeriod/nSize;
	cout<<endl;
}

//打印算法
void PrintAlgorithm(SCHEDULEALGORITHM algo)
{
	switch(algo)
	{
	case FCFS:
		cout<<"先來先服務(wù)";
		break;
		
	case SPF:
		cout<<"短進程優(yōu)先";
		break;

	case FPF_Reaved:
		cout<<"搶占式高優(yōu)先權(quán)";
		break;

	case TimePiece:
		cout<<"時間片輪轉(zhuǎn)";
		break;
	}
}

BOOL CtrlHandler(DWORD dwCtrlType)
{
	int nAns;

	switch(dwCtrlType)
	{
	case CTRL_C_EVENT:
		nAns=MessageBox(0,"你真的要退出嗎?","退出系統(tǒng)",MB_ICONQUESTION | MB_YESNO);
		if(nAns==IDYES)
			exit(0);
	
		return TRUE;

	default:
		return TRUE;
	}
}

//事后清理
void Clean()	
{
	DeleteCriticalSection(&g_CriticalSection);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re成人精品视频| 婷婷中文字幕综合| 国产精品99久久久| 久久久久一区二区三区四区| 精品一区二区三区久久久| 精品少妇一区二区三区免费观看| 免费成人在线观看| 精品国产伦理网| 国产aⅴ综合色| 日韩一区在线播放| 欧美日韩aaaaaa| 麻豆成人久久精品二区三区小说| 日韩免费高清电影| 国产aⅴ综合色| 亚洲男帅同性gay1069| 欧美色图12p| 麻豆精品新av中文字幕| 国产清纯美女被跳蛋高潮一区二区久久w| 国产一区二区三区在线观看免费 | 另类调教123区| 久久先锋影音av| www.在线成人| 日韩电影免费在线观看网站| 久久老女人爱爱| 91啪亚洲精品| 老司机精品视频线观看86| 国产日韩欧美亚洲| 欧美性三三影院| 久久99精品久久久久婷婷| 欧美高清一级片在线观看| 欧美在线一区二区| 精品影视av免费| 亚洲精品欧美综合四区| 欧美xxxx在线观看| 色先锋aa成人| 国产乱妇无码大片在线观看| 亚洲黄色录像片| 久久综合999| 欧美日韩在线精品一区二区三区激情 | 蜜臀av性久久久久蜜臀aⅴ四虎| 国产日产欧美一区| 欧美一区二区在线看| 成人黄色a**站在线观看| 日韩精品久久久久久| 欧美国产精品一区| 日韩视频在线你懂得| 91色.com| 国产91对白在线观看九色| 亚洲 欧美综合在线网络| 国产精品第五页| 久久综合九色综合欧美亚洲| 欧美三级中文字幕| 成人黄色av电影| 国产精品一二三四五| 午夜免费久久看| 亚洲欧洲日本在线| 久久综合狠狠综合| 日韩欧美一二三区| 欧美猛男男办公室激情| 一道本成人在线| 成人午夜视频福利| 国产一区二区三区电影在线观看 | 欧美日韩久久久一区| 色综合色综合色综合| 国产乱码精品一品二品| 免费成人深夜小野草| 一区二区三区资源| 亚洲男同性恋视频| 成人免费在线视频| 亚洲欧美影音先锋| 国产精品美女久久久久高潮| 精品福利一二区| 日韩精品影音先锋| 日韩一区二区三区电影| 69精品人人人人| 欧美精品在线一区二区| 欧美日韩日日摸| 欧美日韩国产精品成人| 欧美视频在线播放| 欧美日韩在线免费视频| 欧美日韩精品一区二区三区| 精品视频在线免费观看| 欧美日韩在线播放三区| 欧美绝品在线观看成人午夜影视| 欧美三级电影网站| 欧美精品日韩一区| 日韩一区二区免费在线观看| 91精品欧美一区二区三区综合在 | 欧美日韩一区二区在线观看视频| 欧美性生活一区| 欧美日高清视频| 欧美一区二区在线看| 久久婷婷色综合| 国产精品视频yy9299一区| 日韩美女精品在线| 亚洲成人高清在线| 捆绑调教一区二区三区| 国产精品系列在线播放| 91亚洲国产成人精品一区二三| 欧美最猛黑人xxxxx猛交| 91精品国产综合久久久久久久久久| 91精品一区二区三区在线观看| 精品国产三级a在线观看| 国产欧美日韩精品在线| 亚洲免费观看在线视频| 亚洲综合无码一区二区| 亚洲色图另类专区| 国产日韩在线不卡| 亚洲一区日韩精品中文字幕| 一区二区三区欧美在线观看| 亚洲一区二区在线观看视频| 亚洲va国产va欧美va观看| 国产在线国偷精品免费看| 国产伦精品一区二区三区免费迷| 国产91精品一区二区| 91麻豆国产福利在线观看| 成人激情免费电影网址| 69p69国产精品| 精品盗摄一区二区三区| 国产精品人成在线观看免费| 亚洲卡通动漫在线| 爽好多水快深点欧美视频| 国产一区二区毛片| 91丨国产丨九色丨pron| 欧美日韩免费高清一区色橹橹| 91精品免费观看| 国产日产精品1区| 天天色 色综合| 国产精品一品二品| 欧美性感一类影片在线播放| 欧美在线小视频| 欧美xxxxx裸体时装秀| 国产精品欧美一区喷水| 中文字幕第一区二区| 热久久一区二区| 成人一区二区视频| 欧美乱熟臀69xxxxxx| 国产日韩欧美综合一区| 亚洲欧美日韩一区| 国产成人在线观看| 欧美片网站yy| 国产精品美女久久久久久2018| 日韩中文欧美在线| 91视频观看视频| 欧美成人性福生活免费看| 国产欧美中文在线| 丝袜美腿亚洲色图| 91在线porny国产在线看| 久久久久久久久久美女| 午夜电影一区二区| av中文字幕一区| 欧美草草影院在线视频| 亚洲欧美日韩在线不卡| 白白色亚洲国产精品| 日韩一级高清毛片| 亚洲一级二级三级在线免费观看| 国产精品系列在线播放| 在线播放国产精品二区一二区四区 | 国产精品成人免费| 久久精品av麻豆的观看方式| 91一区二区三区在线播放| 久久噜噜亚洲综合| 国产精品久久久久婷婷二区次| 国产精品77777| 日韩一区二区三区四区| 亚洲一区二区精品视频| 日韩免费视频一区二区| 青青青爽久久午夜综合久久午夜| 91高清在线观看| 久久伊99综合婷婷久久伊| 亚洲成人av福利| 99久久精品99国产精品| 国产午夜亚洲精品不卡| 精品一区二区日韩| 2020国产精品自拍| 久久99精品久久久久久动态图| 欧美精品tushy高清| 亚洲午夜在线视频| 99视频精品免费视频| 国产精品欧美综合在线| 国产成人久久精品77777最新版本| 欧美成人vr18sexvr| 久久不见久久见免费视频7| 久久蜜桃一区二区| 国产一区在线精品| 久久久久成人黄色影片| 国产一区二区在线看| 日韩欧美一级二级三级| 国产激情精品久久久第一区二区| 精品久久久久久亚洲综合网 | 国产一区二区三区蝌蚪| 精品国产一区a| 国产一区二区在线视频| 久久先锋影音av| 国产不卡一区视频| 国产精品视频一区二区三区不卡| www.在线欧美| 国产精品国产三级国产aⅴ中文 | 国产亚洲精品免费| 国产成人午夜片在线观看高清观看|