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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yemiandlg.cpp

?? 還算齊全的操作系統頁面置換試驗報告
?? CPP
字號:
// yemianDlg.cpp : implementation file
//

#include "stdafx.h"
#include "yemian.h"
#include "yemianDlg.h"
#include <afxtempl.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYemianDlg dialog

CYemianDlg::CYemianDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CYemianDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CYemianDlg)
	m_memory = 0;
	m_total = 0;
	m_random = _T("");
	m_change = 0;
	m_absent = 0;
	m_changef = 0.0;
	m_absentf = 0.0;
	//}}AFX_DATA_INIT
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CYemianDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CYemianDlg)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_EDIT1, m_memory);
	DDX_Text(pDX, IDC_EDIT2, m_total);
	DDX_Text(pDX, IDC_EDIT3, m_random);
	DDX_Text(pDX, IDC_EDIT4, m_change);
	DDX_Text(pDX, IDC_EDIT6, m_absent);
	DDX_Text(pDX, IDC_EDIT5, m_changef);
	DDX_Text(pDX, IDC_EDIT7, m_absentf);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CYemianDlg, CDialog)
	//{{AFX_MSG_MAP(CYemianDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON1, OnFIFO)
	ON_BN_CLICKED(IDC_BUTTON2, OnLRU)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CYemianDlg message handlers

BOOL CYemianDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CYemianDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CYemianDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

HCURSOR CYemianDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}




//先進先出頁面置換算法
void CYemianDlg::OnFIFO() 
{
	UpdateData(1);
	CArray<int,int> myt;//存放隨機生成的所有頁面號的數組
	CArray<int,int> mym;//存放物理塊中現有的頁面號
	int m=0;
	int	as=0;//置換頁面計數
	bool x;  //頁面是否需要置換
	CString str1="";
	CString str2="";
	myt.SetSize(m_total,-1);
	mym.SetSize(m_memory,-1);
	if(m_memory<m_total)
	{ 
		m_list.ResetContent();
		m_random="";
		//srand((unsigned int)1);

		for(int i=0;i<m_total;i++)
		{
			
			myt.SetAt(i,rand()%m_total+1);
			str2.Format("%d",myt.GetAt(i));
			str1=str1+" "+str2;//MessageBox(str1);
		}
		m_random=str1;
		UpdateData(0);
		
		for(i=0;i<m_total;i++)
		{ 
			str1="";
			str2="";
			x=true;
	
			  for(int k=0;k<m_memory;k++)
			  {
				  if(myt.GetAt(i)==mym.GetAt(k))
				  {
					  x=false;//判斷物理塊中是不是有跟當前須替換的頁面
					  break;
				  }
			  }
		      if(x)//||i<m_memory
			  {			   	  
				int a;
				a=(i-m)%m_memory;
			    mym.SetAt(a,myt.GetAt(i));
				as++;
			  }
			  else 
			  {
				m++;
			  }
			  int b;
			  for(int j=0;j<m_memory;j++) 
			  {
			  b=mym.GetAt(j);
			  str2.Format("%d",b);
			  str1=str1+" "+str2;
			}
		    m_list.InsertString(-1,str1);
		}
		m_absent=as;
		m_absentf=(double)as/m_total;
		if((as-m_memory)<=0)
		{
			m_change=0;
			m_changef=0;
		}
		else
		{
			m_change=as-m_memory;
			m_changef=(double)(as-m_memory)/m_total;
		}
		UpdateData(0);
	}
	else
		MessageBox("頁面總數小于物理塊,不需要進行交換操作!");

}
	

//最久未使用頁面置換算法
void CYemianDlg::OnLRU() 
{
	UpdateData(1);
	CArray<int,int> myt;
	CArray<int,int> mym;
	CArray<int,int> myb;
	int m=0,a;
	int as=0;  //置換頁面計數
	bool x;	
	CString str1="";
	CString str2="";
	myt.SetSize(m_total,-1);
	mym.SetSize(m_memory,-1);
	myb.SetSize(m_memory,-1);
	if(m_memory<m_total)
	{ 
		m_list.ResetContent();
		m_random="";
		//生成隨機頁面數組隊列
		for(int i=0;i<m_total;i++)
		{
			myt.SetAt(i,rand()%m_total+1);//i);
			str2.Format("%d",myt.GetAt(i));
			str1=str1+" "+str2;//轉化為字符串數組,便于輸出	
		}
		m_random=str1;
		UpdateData(0);		
		for(i=0;i<m_total;i++)
		{ 
			str1="";
			str2="";
			x=true;
	        for(int k=0;k<m_memory;k++)
			  {
				  if(myt.GetAt(i)==mym.GetAt(k))//判斷物理塊中的頁面是否與當前頁面相等
				  {
					  myb.SetAt(k,0);
					  for(int j=0;j<m_memory;j++)
						{
							if(j!=k)
							myb.SetAt(j,myb.GetAt(j)+1);//使物理塊中的每個未使用頁面的時間增一
						}
					  x=false;//判斷物理塊中是不是有跟當前須替換的頁面
					  m++;		  
					  break;
				  }
			  }
		      if(x) 
			  {			   	  
				int c=0,d;	
				if((i-m)<m_memory)
				{
					a=i-m;   
				}  //當前物理頁面未填滿時直接裝入
				else 
				{
					d=myb.GetAt(0);
					for(int h=0;h<m_memory;h++)
					{
						if(d<myb.GetAt(h))
						{
							d=myb.GetAt(h);
							c=h;
						}
					}
					a=c; //找出物理塊中最久未使用的頁面號
				}
			    mym.SetAt(a,myt.GetAt(i));//將其替換
				myb.SetAt(a,0);
				for(k=0;k<m_memory;k++)
				{
					if(k!=a)
						myb.SetAt(k,myb.GetAt(k)+1);//使物理塊中的每個未改變頁面的時間增一
				}
				myb.SetAt(a,0);
				as++;
			  }
			  for(int j=0;j<m_memory;j++) 
			  {
				  
				  int b;
				  b=mym.GetAt(j);
				  str2.Format("%d",b);
				  str1=str1+" "+str2;
			  }
		    m_list.InsertString(-1,str1);
		}
		m_absent=as;
		m_absentf=(double)as/m_total;
		m_change=as-m_memory;
		m_changef=(double)(as-m_memory)/m_total;
		UpdateData(0);
	}
	else
		MessageBox("頁面總數小于物理塊,不需要進行交換操作!");

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三区色视频| 国产精品88av| 亚洲欧美另类小说| 国产精品三级视频| 中文成人av在线| 国产精品久久久久三级| 国产精品少妇自拍| 自拍偷在线精品自拍偷无码专区| 亚洲国产精品v| 亚洲柠檬福利资源导航| 日韩成人午夜精品| 日本人妖一区二区| 精品亚洲aⅴ乱码一区二区三区| 免费不卡在线观看| 国产一区二区视频在线| 成人午夜激情片| hitomi一区二区三区精品| 色婷婷精品久久二区二区蜜臂av | 丰满白嫩尤物一区二区| 成av人片一区二区| 91国在线观看| 欧美一区二区三区免费观看视频| 欧美mv日韩mv国产网站| 国产精品美女久久久久久久| 亚洲人成网站精品片在线观看 | 日韩在线卡一卡二| 精品一二线国产| 93久久精品日日躁夜夜躁欧美| 欧美中文字幕不卡| 日韩手机在线导航| 中文字幕亚洲视频| 蜜臀国产一区二区三区在线播放 | 国产精品激情偷乱一区二区∴| 最新热久久免费视频| 婷婷开心久久网| 国产精品 欧美精品| 色欧美乱欧美15图片| 日韩视频免费观看高清完整版在线观看| 欧美一级二级在线观看| 成人免费在线视频| 久久国产精品色婷婷| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品一级片在线观看| 色国产综合视频| 欧美精品一区二区三区在线| 樱桃国产成人精品视频| 国产乱码字幕精品高清av| 欧美日韩精品电影| 亚洲天堂免费在线观看视频| 精品写真视频在线观看| 欧美日韩在线精品一区二区三区激情| 国产日韩欧美综合一区| 日韩精品1区2区3区| 91麻豆视频网站| 国产欧美日韩在线| 另类欧美日韩国产在线| 欧美日韩精品一区二区在线播放| 国产亚洲制服色| 捆绑变态av一区二区三区| 91激情五月电影| 国产精品久久久久9999吃药| 国产精品一区在线观看你懂的| 制服丝袜在线91| |精品福利一区二区三区| 蜜桃在线一区二区三区| 欧美日本精品一区二区三区| 亚洲欧美日韩在线| 99精品视频一区二区| 国产欧美一区二区精品忘忧草 | 中文字幕免费一区| 国产一区二区三区香蕉| 在线成人免费观看| 亚洲五码中文字幕| 国产亚洲短视频| 国产裸体歌舞团一区二区| 不卡视频在线观看| 毛片一区二区三区| 欧美成人精品1314www| 天天av天天翘天天综合网| 欧美亚一区二区| 亚洲综合免费观看高清完整版在线| 99精品国产热久久91蜜凸| ㊣最新国产の精品bt伙计久久| 成人一区二区三区视频在线观看| 国产亚洲1区2区3区| 国产·精品毛片| 亚洲三级小视频| 91麻豆国产福利在线观看| 亚洲综合精品久久| 欧美精品免费视频| 国产在线国偷精品免费看| 国产亚洲欧洲一区高清在线观看| 国产成人在线看| 亚洲婷婷国产精品电影人久久| 在线免费观看一区| 日av在线不卡| 国产日韩亚洲欧美综合| 色综合久久66| 日本人妖一区二区| 国产精品美女久久福利网站| 91麻豆国产自产在线观看| 天使萌一区二区三区免费观看| 精品久久99ma| 色综合天天综合给合国产| 天天色天天操综合| 欧美激情在线看| 欧美性生活久久| 国产一区二区女| 亚洲精品中文在线影院| 777xxx欧美| 成人综合在线视频| 亚洲欧美日韩人成在线播放| 懂色av一区二区在线播放| 日韩欧美成人一区二区| 琪琪一区二区三区| 国产精品免费人成网站| 欧美日韩一区二区电影| 国产精品一区一区| 亚洲午夜精品17c| 国产欧美日产一区| 91精品国产欧美一区二区18| 国产麻豆9l精品三级站| 婷婷中文字幕综合| 日韩久久一区二区| 久久伊99综合婷婷久久伊| 欧美亚洲国产怡红院影院| 国产老肥熟一区二区三区| 亚洲一区二区三区在线播放| 久久噜噜亚洲综合| 欧美一区二区日韩| 欧美色男人天堂| 99re在线视频这里只有精品| 国产一区二区不卡老阿姨| 亚洲高清久久久| 日韩一区在线播放| 久久久国产精华| 日韩亚洲欧美综合| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲午夜在线电影| 亚洲欧洲成人自拍| 国产欧美精品在线观看| 日韩视频免费观看高清完整版| 在线亚洲一区二区| 色综合视频在线观看| 懂色av噜噜一区二区三区av| 国产在线不卡一区| 精品在线你懂的| 久久国产免费看| 久久精品国产网站| 久久爱www久久做| 另类欧美日韩国产在线| 麻豆一区二区在线| 麻豆国产精品视频| 久久成人av少妇免费| 久久99精品国产麻豆婷婷| 蜜臀91精品一区二区三区 | 久久国产生活片100| 日韩电影在线免费看| 蜜臂av日日欢夜夜爽一区| 美洲天堂一区二卡三卡四卡视频| 免费看精品久久片| 久久aⅴ国产欧美74aaa| 国产一区二区三区四区在线观看| 国产在线不卡一卡二卡三卡四卡| 国产91综合一区在线观看| 风间由美一区二区三区在线观看 | www.欧美日韩| 99久久久精品| 欧美日韩国产美女| 日韩精品一区二| 国产日本一区二区| 亚洲天堂成人网| 日韩国产欧美三级| 国产另类ts人妖一区二区| 成人avav在线| 欧美日韩在线播放三区| 欧美r级在线观看| 国产精品污网站| 亚洲国产一区二区三区| 奇米精品一区二区三区四区 | 色噜噜狠狠色综合欧洲selulu| 在线观看91精品国产入口| 欧美一区二区在线看| 久久精品欧美一区二区三区麻豆| 成人免费视频在线观看| 亚洲高清免费在线| 国产91丝袜在线播放九色| 91成人网在线| 欧美成人一区二区三区片免费 | 自拍偷在线精品自拍偷无码专区| 亚洲国产色一区| 国产福利一区二区三区视频在线 | 国产一区视频网站| 欧美色区777第一页| 国产日产欧产精品推荐色| 性久久久久久久| 不卡的av电影| 亚洲精品一区二区三区四区高清| 亚洲美女电影在线| 国产精品456|