1 / 28
文档名称:

操作系统课程设计论文.doc

格式:doc   大小:309KB   页数:28页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统课程设计论文.doc

上传人:zl201163zl 2018/1/9 文件大小:309 KB

下载得到文件列表

操作系统课程设计论文.doc

文档介绍

文档介绍:操作系统课程设计
姓名:朱文化
班级:11计科1班
学号:201110510130
老师:胡静芳、李娟

操作系统课程设计 3
一、进程的创建控制与取消 3
1、任务目的 3
2、内容 3
3、核心代码 3
4、结果截图 6
二、单处理机系统的进程调度 9
1、实验目的 9
2、实验内容 9
3、核心代码 9
4、实验截图 11
三、基本存储器管理 13
1、实验目的 13
2、实验内容 13
3、核心代码 14
4、实验截图 15
四、请求分页存储管理 16
1、实验目的 16
2、实验内容 17
3、核心代码 17
4、实验截图 19
五、死锁的避免 19
1、实验目的 19
2、实验内容 19
3、核心代码 19
4、实验截图 21
六、磁盘空间的分配与回收 21
1、实验目的 21
2、实验内容 21
3、核心代码 21
4、实验截图 23
七、文件管理 24
1、实验目的 24
2、实验内容 24
3、核心代码 24
4、实验截图 27
八、心得体会 27
操作系统课程设计
一、进程的创建控制与取消
1、任务目的
加深对进程概念的理解,明确进程和程序的区别;
进一步认识并发执行的概念,区别顺序执行和并发执行;
分析进程争用临界资源的现象,学****解决进程互斥的方法;
2、内容
编写一程序,来模拟进程的创建和撤消,要求通过终端键盘输入三、四作业的名称、大小、优先级等。系统为它创建进程,并把进程控制块PCB的内容送到终端显示器上输出。
同时模拟内存空间为作业分配内存空间,并把结果用图形形象地表示出来,同样通过终端输出。
按进程的优先级的顺序撤消进程,同时通过终端显示PCB的撤消过程和内存的释放过程。
3、核心代码
主函数:
void main()
{
memoryspace L=new LNode; //memoryspace
int N;
cout<<"初始多大空间,请输入一个整数:"<<endl;
cin>>N;
Init(L,N); //初始化大小为1000的内存空间
choice(L); //进入操作
}
void Init(memoryspace &L,int size) //初始化空间段
{
memoryspace p = new LNode;
p->size = size;
p->state = 0;
p->task_name = 'n';
p->next = NULL;
L->next = p;
}
void setfree(memoryspace &L) //找出连续的空闲资源,回收空闲空间
{
memoryspace p=L->next,q=p->next;
while(p && q)
{
if(p->state == 0 && q->state == 0) //如果空间连续,则回收
{
p->size +=q->size;
p->next = p->next->next;
delete q;
q=p->next;
}
else
{
p = q;
q = q->next;
}
}
cout<<"回收成功"<<endl;
}
void deltask(const memoryspace L) //删除作业
{
char task_name;
int flag=0;
Display(L);
cout<<"请输入需要回收的作业名称:";
cin>>task_name;
memoryspace p=L,q=L->next;
while(q)
{
if(q->task_name == task_name)
{
q->state=0;
q->task_name='?';
flag=1;
break;
}
else
{
p = q;
q = q->next; //找到要删除作业的下一个结点
}
}
if(flag == 0)
cout<<"删除作业不成功"<<endl;
else
cout<<"删除作业成功"<<endl;
}
void Display(const memoryspace L) //显示作业
{
int count=1;
memoryspace p = L->next;
cout<<"结点号作业状态大小"<<endl;
while(p)
{
cout<<"结点"<<count<<" "<<p->task_name<<" ";