- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
一、 2
二、 设计内容 2
三、 实验原理 2
四、 2
五、关键算法实现流程图 3
六、程序代码 4
七、运行结果及分析 7
八、心得体会 9
九、参考文献 9
课程设计的目的
操作系统课程设计是重要的实践课程,课程开设的目的是让学生学习完《计算机操作系统》课程后,进行一次全面的综合训练,加深操作系统基础理论和的理解,加强学生的动手能力。设计内容实验原理
地址换算程序流程图
六、程序代码
//*****************************************************
#includestdio.h
#includestdlib.h
typedef struct segtable //段表结构说明
{
int segadd[256]; //段首地址
int seglen[256]; //段长
int len; //表的长度
}segtable;
struct segtable st; //定义一个段表
//*****************************************************
//段表的建立
void create()
{
char ch;
int i=0;
printf(建立段表\n);
st.len=0;
printf(请输入第1个段首地址:);
scanf(%d,st.segadd[0]);
printf(请输入第1个段的长度:);
scanf(%d,st.seglen[0]);
st.len=1;
i=1;
while(i256)
{
fflush(stdin);
printf(是否继续输入(y/n)?\n);
ch=getchar();
if(ch==n)
break;
printf(第%d个段首地址应大于%d\n,i+1,st.segadd[i-1]+st.seglen[i-1]);
printf(请输入第%d个段首地址:,i+1);
scanf(%d,st.segadd[i]);
if(st.segadd[i]=st.segadd[i-1]+st.seglen[i-1])
{
printf(地址冲突,请重新输入:);
scanf(%d,st.segadd[i]);
}
printf(请输入第%d个段的长度:,i+1);
scanf(%d,st.seglen[i]);
st.len++;
i++;
}
}
//*****************************************************
//地址换算
int segment(int sn,int sd) //sn为逻辑地址,sd为段内地址
{
int i,add;
if(snst.len)
{
printf(段号%d大于段表长度%d,越界中断\n,sn,st.len);
return 0;
}
else if(sdst.seglen[sn-1])
{
printf(段内地址%d大于段长,越界中断\n,sd);
return 0;
}
else
{
printf(根据段号找到段首地址为%d\n,st.segadd[sn-1]);
printf(物理地址=段首地址%d+段内地址%d\n,st.segadd[sn-1],sd);
add=st.segadd[sn-1]+sd;
}
return (add);
}
//*****************************************************
void main()
{
int x,y; //x表示段号,y表示段内地址
int add;
char ch=y;
create();
while(ch==y)
{
printf(地址换算\n);
printf(请输入段号:);
scanf(%d,x);
printf(请输入段内地址:);
scanf(%d,y);
add=segment(x,y);
if(add!=0)
printf(换算后的物理地址为:%d\n,add);
fflush(stdin);
printf(是否继续进行地址换算(y/n)?\n);
scanf(%c,ch);
if(ch==n) printf(程序运行结束!\n);
}
}
七、运行结果及分析
1.建立段表
第一个段的物理地址为12-61,在建立第二个段的时候,输入的段首地址与第一个冲突,所以需要重新输入,70
您可能关注的文档
- 进行节约与替代石油工程的学习体会.ppt
- 机械工程技术习题集.doc
- 机械工程专业外语完美翻译.doc
- 机械工程专业英语_翻译.doc
- 机械故障诊断……信号分析.ppt
- 机械类中英文论文 2.doc
- 机械设备安装工艺7.doc
- 机械设备与系统 4.6.4船舶管系.doc
- 机械设备与系统 4.6.7制造、工艺、检查与试验.doc
- 机械施工 复习题2.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
最近下载
- 高中-英语-北师大版(2019)-Unit3Viewingworkshop同步教学设计【新教材】北师大版(2019)必修第一册.docx VIP
- 2023-2024学年八年级语文下学期期末复习题型专练非连续性文本阅读(原卷版+解析版).docx VIP
- 2024年海南省海口市龙华区海南华侨中学自主招生地理试题.docx VIP
- (三模)豫西北教研联盟 (平许洛济)2024—2025学年高三第三次质量检测化学试卷(含答案).pdf
- 中考数学压轴题100题(全).docx
- 石油钻井工初级.pdf
- 基于AT89S52单片机的脉搏测量器设计.doc VIP
- 微分中值定理在实际生活中的应用.doc
- 2023年版:重症患者气道廓清技术专家共识.docx
- 《马克思主义基本原理概论》对立统一规律.ppt
文档评论(0)