• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: C/C++
  • 标签: 课程设计  

资源简介

操作系统课程设计 预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、段式存储管理等概念,并体会段式管理内存的分配和回收过程。 实践准备:掌握一种计算机高级语言的使用。

资源截图

代码片段和文件信息

// changhongbin.cpp : Defines the entry point for the console application.
//

//#include “stdafx.h“
#include “iostream.h“
#include“stdlib.h“
#include “string.h“
#include“stdio.h“

struct duan
{
long capacity;//该段的长度
long physicaddr;//物理地址
long realaddr;//该段实际地址
};
struct duanbiao
{
duan duans[10];
char biaoming[20];
int Isdiaoyong;
int num;
long total;
};

long neicun=0;
int duanbiaonum=0;
long kongbai=0;
long baseaddr=0;
duanbiao duanbiaos[10];

void show1(int );
void show();

void wait()
{
for(double i=100000;i>1; )   
{
i=i-0.001;
}
}


void diaodu()
{
cout<<“您要调度的进程是:p“;
int n;
cin>>n;
if(n>duanbiaonum)
cout<<“段表不存在!“< else if(duanbiaos[n-1].Isdiaoyong==1)
cout<<“操作错误,该进程已经被调入到内存!“< else if(duanbiaos[n-1].total>neicun-kongbai)
cout<<“内存空间不足,调度不成功!“< else
{
cout<<“下面对进程“< for(int j=0;j {
cout<<“正在进行第“< wait();
duanbiaos[n-1].duans[j].realaddr=duanbiaos[n-1].duans[j].physicaddr+kongbai;
cout<<“第“< }
kongbai=kongbai+duanbiaos[n-1].total;
duanbiaos[n-1].Isdiaoyong =1;
cout<<“调度后的结果是:“< show1(n-1);
}
}

void appneicun()
{
printf(“请输入进程的名字:“);
gets(duanbiaos[duanbiaonum].biaoming);
printf(“请输入该进程的段数:“);
cin>>duanbiaos[duanbiaonum].num;
int paddr=0;
for(int j=0;j {
cout<<“进程第“< cin>>duanbiaos[duanbiaonum].duans[j].capacity ;
duanbiaos

评论

共有 条评论