?? paging.cpp.cpp
字號:
#include <conio.h>
#include <process.H>
#include<iostream.h>
enum yesno{yes, no};
struct fdata{
yesno free;
long size;
int id;
long jsize;
int jid;
int pno;
fdata(){
size=id=jsize=jid=0;
free=yes;}
};
/////////////////////////////////////////////////////////////////////////////
class paging{
private:
int noofframes;
long tram;
int fsize;
fdata * frames;
public:
paging (){
cout<<"enter total ram";
cin>>tram;
cout<<"enter size of Region";
cin>>fsize;
noofframes=tram/fsize;
frames = new fdata[noofframes];
}
~paging(){ delete frames;}
void getframes();
void showframes();
void createjob();
void deletejob();
void sortframes();
};
//////////////////////////////////////////////////////////////////////////////
void paging::getframes()
{
for(int i=0;i<noofframes;i++)
{
frames[i].size=fsize;
frames[i].id=i;
}
}
//////////////////////////////////////////////////////////////////////////////
void paging::showframes()
{
for(int i=0;i<noofframes;i++)
{
cout<<"\n\n\tFrame "<<frames[i].id<<" size: " ;
cout<<frames[i].size;
if(frames[i].free==no)
cout<<"\t Contains Job " <<frames[i].jid<<" Page no: "<<frames[i].pno;
else
cout<<" \tIs Free";
}
}
/////////////////////////////////////////////////////////////////////////////
void paging::createjob(){
int jid; long jsize;
cout<<"Enter Job Id :";
cin>>jid;
cout<<"Enter Job Size : ";
cin>>jsize; int a=0;
int job=jsize;
while(job>0)
{
for(int i=0;i<noofframes;i++)
{
if(frames[i].free==yes)
{
frames[i].jid=jid;
frames[i].jsize=jsize;
frames[i].free=no;
frames[i].pno=a;
break;
}
}
job=job-fsize;
a++;
}
}
//////////////////////////////////////////////////////////////////////////////
void paging::deletejob(){
int jid;
cout<<"Enter job Id";
cin>>jid; int y=0;
for( int i=0; i<noofframes;i++)
{
if (jid==frames[i].jid)
{
frames[i].jid=0;
frames[i].jsize=0;
frames[i].free=yes;
y=1;
}
}
if(y==0)
cout<<"\n\n\n\n\nNo Such Job Exist";
}
/////////////////////////////////////////////////////////////////////////////
void main(){
clrscr();
paging b1;
b1.getframes();
clrscr();
char ch;
while(ch!='4')
{
cout<<"\n\n\n\t\tBESTFIT MENU ";
cout<<"\n\n\t\t1....... Create Job";
cout<<"\n\n\t\t2....... Terminate Job";
cout<<"\n\n\t\t3....... Status";
cout<<"\n\n\t\t4....... Exit";
cout<<"\n\n\n\n Enter Your choice ;";
cin>>ch; clrscr();
switch(ch){
case '1':
b1.createjob();
break;
case '2':
b1.deletejob();
break;
case'3':
b1.showframes();
break;
}
getch();
clrscr();
}
getch();
}
/////////////////////////////////////////////////////////////////////////////
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -