计算机操作系统课程设计报告.docx
- 文档编号:7258697
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:41
- 大小:254.85KB
计算机操作系统课程设计报告.docx
《计算机操作系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机操作系统课程设计报告.docx(41页珍藏版)》请在冰豆网上搜索。
计算机操作系统课程设计报告
计算机操作系统课程设计报告
《操作系统原理》
实验报告
院(部):
管理工程学院
专业:
信息管理与信息系统
实验项目:
实验一二三五
班级:
信管102
姓名:
张凤丹
学号:
2010021418
引言
操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。
操作系统实验是操作系统课程的一个重要组成部分,通过试验环节的锻炼使同学们不仅能够对以前的所学过的基础知识加以巩固,同时能够通过上机实验,对操作系统的抽象理论知识加以理解,最终达到融会贯通的目的,因此,实验环节是同学们理解、掌握操作系统基本理论的一个重要环节。
本实验指导书,根据教材中的重点内容设定了相应的实验题目,由于实验课程的学时有限,我们规定了必做题目和选做题目,其中必做题目必须在规定的上机学时中完成,必须有相应的预习报告和实验报告。
选做题目是针对有能力或感兴趣的同学利用课余时间或上机学时的剩余时间完成。
实验一、模拟进程创建、终止、阻塞、唤醒原语
实验目的:
通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进程控制功能的理解,掌握操作系统模块的设计方法和工作原理。
实验内容:
1、设计创建、终止、阻塞、唤醒原语功能函数。
2、设计主函数,采用菜单结构(参见后面给出的流程图)。
3、设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供随时查看各队列中进程的变化情况。
实验步骤:
其中:
进程名用P1,P2标识。
优先级及运行时间:
为实验题目二做准备。
状态为:
就绪、运行、阻塞,三种基本状态。
指针:
指向下一个PCB。
1、进程PCB中应包含以下内容:
进程名
优先级
运行时间
状态
指针
2、系统总体结构:
系统主菜单
1…创建
2…阻塞
3…唤醒
4…终止
5…显示
0…退出
请输入您需要的功能(0-5):
5
4
3
2
1
0
实验代码:
#include
#include
structPCB
{
charname[4];
intpriority;
intruntime;
};
voidmain()
{
intx,t;
inta=0;
intk=0,r=1,i=0,j=0;//k为就绪队列总数,r堵塞队列总数
charname[4];
structPCBpcb[10];
structPCBpcb1[10];
structPCBpcb2[10];
printf("---------------------菜单---------------------\n\n\n");
printf("0----退出系统\n");
printf("1----创建进程\n");
printf("2----堵塞进程\n");
printf("3----唤醒进程\n");
printf("4----终止进程\n");
printf("5----显示进程\n");
printf("------------------------------------------------\n");
strcpy(pcb1[0].name,"s");//堵塞队列
pcb1[0].priority=2;
pcb1[0].runtime=3;
//printf("%s%d%d",pcb1[0].name,pcb1[0].priority,pcb1[0].runtime);
while
(1)
{
printf("请输入你的选择:
");
scanf("%d",&x);
if(x==0)
break;
if(x==1)
{
printf("-----------------创建进程---------------\n");
printf("进程名:
");
scanf("%s",&pcb[k].name);
printf("优先级:
");
scanf("%d",&pcb[k].priority);
printf("运行时间:
");
scanf("%d",&pcb[k].runtime);
k=k+1;
}
if(x==2)
{
printf("-----------------堵塞进程---------------\n");
printf("请输入要查找的进程:
");
scanf("%s",name);
for(j=0;j<=k;j++)
{
if(strcmp(pcb[j].name,name)==0)
{
t=j;
strcpy(pcb2[a].name,pcb[t].name);
pcb2[a].priority=pcb[t].priority;
pcb2[a].runtime=pcb[t].runtime;
strcpy(pcb1[r].name,pcb2[a].name);
pcb1[r].priority=pcb2[a].priority;
pcb1[r].runtime=pcb2[a].runtime;
r=r+1;
a=a+1;
for(i=t;i<=k;i++)
{
strcpy(pcb[i].name,pcb[i+1].name);
pcb[i].priority=pcb[i+1].priority;
pcb[i].runtime=pcb[i+1].runtime;
}
k=k-1;
printf("将就绪序列调度为运行:
");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 课程设计 报告