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

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

?? schedule.cpp

?? 進(jìn)程調(diào)度算法!是源代碼
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	goto Schedule;
}

//時(shí)間片調(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)計(jì)信息
		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;
}

//運(yùn)行程序
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<<"進(jìn)程"<<setw(2)<<nProcID<<"開始運(yùn)行,其請(qǐng)求運(yùn)行時(shí)間為";
		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("進(jìn)程%2d正在運(yùn)行指令%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<<"進(jìn)程"<<setw(2)<<nProcID<<"運(yùn)行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		break;

	case SPF:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		cout<<endl<<"進(jìn)程"<<setw(2)<<nProcID<<"開始運(yùn)行,其長(zhǎng)度為";
		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("進(jìn)程%2d正在運(yùn)行指令%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<<"進(jìn)程"<<setw(2)<<nProcID<<"運(yùn)行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		break;

	case FPF_Reaved:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		if(!pProgram->nIP)
		{
			cout<<endl<<"進(jìn)程"<<setw(2)<<nProcID<<"開始運(yùn)行,其優(yōu)先級(jí)為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			PrintPriority(pPcb->infoProcSch.procPriority);
			cout<<endl;
		}
		else
		{
			cout<<endl<<"進(jìn)程"<<setw(2)<<nProcID<<"恢復(fù)執(zhí)行,其優(yōu)先級(jí)為";
			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)先級(jí)為";
				SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
				PrintPriority(g_pcbPrioritier.infoProcSch.procPriority);
				SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
				cout<<"的進(jìn)程"<<setw(2)<<g_pcbPrioritier.idProc.nInID<<"請(qǐng)求運(yùn)行,進(jìn)程"
					<<setw(2)<<nProcID<<"(優(yōu)先級(jí)為";
				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("進(jìn)程%2d正在運(yùn)行指令%4X...",nProcID,pProgram->instructionSet[i]);
			cout<<"(優(yōu)先級(jí)為";
			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<<"進(jìn)程"<<setw(2)<<nProcID<<"運(yùn)行完畢"<<endl;

		LeaveCriticalSection(&g_CriticalSection);
		return TRUE;

	case TimePiece:
		EnterCriticalSection(&g_CriticalSection);

		SetConsoleTextAttribute(g_hStdOut,CLR_CRITICALRESULT);
		if(!pProgram->nIP)
		{
			cout<<endl<<"進(jìn)程"<<setw(2)<<nProcID<<"開始運(yùn)行,其長(zhǎng)度為";
			SetConsoleTextAttribute(g_hStdOut,CLR_NORMALOUT);
			cout<<pPcb->program.nProgLen<<endl;
		}
		else
		{
			cout<<endl<<"進(jìn)程"<<setw(2)<<nProcID<<"繼續(xù)運(yùn)行,其長(zhǎng)度為";
			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<<"進(jìn)程"<<nProcID<<"的時(shí)間片已經(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("進(jìn)程%2d正在運(yùn)行指令%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<<"進(jìn)程"<<setw(2)<<nProcID<<"運(yùn)行完畢"<<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<<"請(qǐng)按任意鍵繼續(xù)...";
	getch();
	cout<<endl<<endl;
}

//關(guān)于我
void AboutMe()       
{
	char pAuthorInfo[]="作者:崔凱\n學(xué)號(hào):200407127\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;
	}
}

//按程序大小入隊(duì)列
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)先級(jí)入隊(duì)列
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)先級(jí)
void PrintPriority(PROCPRIORITY p)
{
	switch(p)
	{
	case Low:
		cout<<"\"低\"";
		break;

	case LowStandard:
		cout<<"\"低于標(biāo)準(zhǔn)\"";
		break;

	case Standard:
		cout<<"\"標(biāo)準(zhǔn)\"";
		break;

	case HighStandard:
		cout<<"\"高于標(biāo)準(zhǔn)\"";
		break;

	case High:
		cout<<"\"高\(yùn)"";
		break;

	case RealTime:
		cout<<"\"實(shí)時(shí)\"";
		break;
	}
}

//打印統(tǒng)計(jì)信息:程序長(zhǎ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<<"程序長(zhǎng)度 ";
	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<"進(jìn)程ID "<<"周轉(zhuǎn)時(shí)間 "<<"帶權(quán)周轉(zhuǎn)時(shí)間"<<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)時(shí)間為:"<<nPeriod/nSize<<endl;
	cout<<"平均帶權(quán)周轉(zhuǎn)時(shí)間為:"<<nWeightPeriod/nSize;
	cout<<endl;
}

//打印統(tǒng)計(jì)信息:進(jìn)程優(yōu)先級(jí)
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<<"進(jìn)程優(yōu)先級(jí) ";
	SetConsoleTextAttribute(g_hStdOut,CLR_NORMALRESULT);
	cout<<"進(jìn)程ID "<<"周轉(zhuǎn)時(shí)間 "<<"帶權(quán)周轉(zhuǎn)時(shí)間"<<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)時(shí)間為:"<<nPeriod/nSize<<endl;
	cout<<"平均帶權(quán)周轉(zhuǎn)時(shí)間為:"<<nWeightPeriod/nSize;
	cout<<endl;
}

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

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

	case TimePiece:
		cout<<"時(shí)間片輪轉(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);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区中文字幕| 精品少妇一区二区三区视频免付费| 欧美日韩国产大片| 91精品午夜视频| 国产午夜精品美女毛片视频| 亚洲欧美自拍偷拍| 香蕉加勒比综合久久| 国产在线视频精品一区| 91丨porny丨中文| 日韩欧美一二三区| 中文字幕亚洲一区二区av在线| 亚洲国产综合在线| 国产激情一区二区三区四区| 色哟哟一区二区| 亚洲精品在线观看视频| 亚洲欧美偷拍另类a∨色屁股| 日韩1区2区3区| 99久久精品国产一区| 欧美一区二区三区视频在线 | 亚洲丰满少妇videoshd| 精品一区二区三区在线视频| 99久久99久久精品免费看蜜桃 | 日韩电影网1区2区| 成人免费视频caoporn| 欧美日韩卡一卡二| 中文字幕在线不卡视频| 日韩高清不卡在线| 成人v精品蜜桃久久一区| 日韩视频一区二区三区在线播放 | 91一区一区三区| 欧美成人性战久久| 亚洲一区二区欧美激情| 国产精品1区二区.| 91精品国产全国免费观看| 综合久久久久久久| 韩国av一区二区| 制服视频三区第一页精品| 中文字幕一区二区在线播放| 日韩成人免费看| 色老汉一区二区三区| 久久蜜桃香蕉精品一区二区三区| 午夜久久久久久久久久一区二区| 成人黄色av电影| www成人在线观看| 日韩高清不卡一区二区| 91片在线免费观看| 国产欧美精品一区二区三区四区| 日韩精品久久理论片| 色94色欧美sute亚洲线路二| 欧美国产禁国产网站cc| 九九国产精品视频| 67194成人在线观看| 亚洲伊人色欲综合网| 99久久精品费精品国产一区二区| 久久精品亚洲乱码伦伦中文| 蜜桃av一区二区在线观看| 欧美精品色一区二区三区| 一区二区三区中文在线观看| 成人av在线资源网| 日本一区二区在线不卡| 国产乱子伦视频一区二区三区| 欧美一级黄色大片| 日韩av成人高清| 欧美一区二区三区影视| 日产精品久久久久久久性色| 7799精品视频| 亚洲尤物视频在线| 欧美日韩在线免费视频| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区免费视频| 日韩电影一区二区三区四区| 欧美群妇大交群的观看方式| 午夜影视日本亚洲欧洲精品| 欧美日韩国产在线观看| 亚洲成av人片在www色猫咪| 欧美性色aⅴ视频一区日韩精品| 中文字幕一区不卡| 91成人网在线| 亚洲第一搞黄网站| 欧美一区二区三区不卡| 久久国产精品99久久人人澡| 日韩三级伦理片妻子的秘密按摩| 日韩专区在线视频| 日韩欧美国产三级| 国产精品88888| 亚洲欧洲精品一区二区三区不卡| 97精品视频在线观看自产线路二| 亚洲精品视频观看| 欧美视频在线不卡| 日本不卡不码高清免费观看| 日韩精品中文字幕一区二区三区 | 91精品国产一区二区三区| 免费成人性网站| 国产丝袜在线精品| 9l国产精品久久久久麻豆| 一区二区三区精品在线观看| 欧美日韩另类一区| 国产真实乱对白精彩久久| 国产精品进线69影院| 在线亚洲免费视频| 日韩av电影天堂| 国产三级精品三级| 一本色道久久综合狠狠躁的推荐| 午夜婷婷国产麻豆精品| 日韩美女视频在线| 成人国产一区二区三区精品| 夜色激情一区二区| 日韩欧美激情一区| 91视视频在线观看入口直接观看www| 亚洲一级在线观看| 久久蜜桃av一区二区天堂| 99精品热视频| 日日欢夜夜爽一区| 国产精品网站一区| 欧美日韩五月天| 国产在线精品国自产拍免费| 中文字幕一区二区三区av| 欧美一区二区三区免费视频| 国产凹凸在线观看一区二区| 一区二区三区久久| 久久一夜天堂av一区二区三区| 不卡的av网站| 日韩av电影天堂| 亚洲天堂2014| 欧美变态tickle挠乳网站| 成人性视频免费网站| 午夜精品福利久久久| 国产精品天美传媒| 欧美一卡二卡三卡| 91麻豆国产福利在线观看| 美女视频黄 久久| 亚洲天堂2014| 久久久久久久久久久久电影| 色欧美片视频在线观看在线视频| 国产尤物一区二区| 天堂一区二区在线免费观看| 国产视频亚洲色图| 欧美一区二区三区视频| 日本韩国欧美在线| 国产精品2024| 日本aⅴ精品一区二区三区| 亚洲色图.com| 久久网站最新地址| 欧美精品aⅴ在线视频| 99免费精品在线| 国内精品免费在线观看| 视频一区欧美精品| 一区二区激情小说| 国产精品视频一二三| 日韩欧美亚洲另类制服综合在线| 欧美在线观看视频一区二区三区| 国产精一品亚洲二区在线视频| 午夜视频在线观看一区二区| 亚洲欧美日韩成人高清在线一区| 久久久久久久一区| 精品免费一区二区三区| 欧美人牲a欧美精品| 色悠久久久久综合欧美99| 成人免费毛片高清视频| 国产呦萝稀缺另类资源| 不卡欧美aaaaa| 国产91富婆露脸刺激对白| 激情综合网激情| 日韩电影在线一区| 午夜视频在线观看一区| 亚洲国产精品影院| 亚洲一区在线观看免费观看电影高清| 国产精品国产三级国产普通话99| 精品不卡在线视频| 欧美成人a视频| 91精品国产欧美一区二区18| 欧美精品v国产精品v日韩精品| 欧美视频一区二区三区| 欧洲一区二区三区在线| 欧美最新大片在线看| 欧洲激情一区二区| 在线视频欧美精品| 在线观看欧美黄色| 在线观看免费视频综合| 色综合久久天天| 91福利国产成人精品照片| 在线一区二区三区四区| 91国在线观看| 欧美日韩一二三区| 欧美日韩一区精品| 欧美日韩高清一区二区三区| 欧美午夜片在线观看| 欧美午夜影院一区| 欧美另类z0zxhd电影| 538在线一区二区精品国产| 欧美精品777| 欧美白人最猛性xxxxx69交| 337p日本欧洲亚洲大胆精品| 久久影院电视剧免费观看| 久久久久久夜精品精品免费| 中文字幕的久久| 亚洲欧美日本韩国| 午夜精品一区二区三区免费视频| 日本vs亚洲vs韩国一区三区二区| 美女视频黄免费的久久|