




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机操作系统计算机操作系统 实验设计实验设计 设计目的设计目的 1 增强学生对计算机操作系统基本原理 基本理论 基本算法的理解 2 提高和培养学生的动手能力 设计要求设计要求 1 每人至少选作 1 题 多做不限 2 每人单独完成 可以讨论 但每人的设计内容不得完全相同 抄袭或有 2 人 多人设计完全一样者 不能通过 3 设计完成后 应上交课程设计文档 文档格式应是学校课程设计的标准格式 所有学生的封面大小 格式也必须一样 4 同时上交设计的软盘 或以班刻录光盘 设计题目设计题目 设计类设计类 在 i386 下写一个程序 从实地址模式进入保护虚地址模式 进而启动分页 机制 平台 语言 汇编 C DOS 下中断程序设计 设计热键 中断接管程序等 平台 DOS 语言 ASM Turbo C Pascal 等 DOS 下的菜单 图形界面程序设计 同 1 DOS 下的 I O 设备处理程序 如打印机驱动程序 字符设备 块设备 网 络设备 USB 设备驱动程序 平台 DOS 语言 ASM TC 多进程处理程序 进程创建 通信 管道 信号量 共享内存 消息队列等 mmap 互斥 平台 Windows Linux 语言 同上 多线程程序 线程创建 同步 互斥 平台 Windows Linux 语言 VC LINUX GCC JAVA Windows 下设备驱动程序设计 块设备 字符设备 网络设备 USB 设备 Linux 下设备驱动程序设计 块设备 字符设备 网络设备 USB 设备 Linux 调度实验与参数调整 如改变时间片 优先级等 Linux 操作系统内存管理机制实验 Linux 文件管理实验 并增加一个系统调用 Linux 系统调用过程实验 并增加一个系统调用 如跟综一个系统调用 算法模拟类算法模拟类 调度算法的模拟 模拟各种调度算法 并进行调度性能分析 银行家算法模拟 内存管理算法模拟 页面置换算法模拟 模拟分段 分页情况下的地址变换 include include include define False 0 define True 1 int Max 100 100 0 各进程所需各类资源的最大需求 int Avaliable 100 0 系统可用资源 char name 100 0 资源的名称 int Allocation 100 100 0 系统已分配资源 int Need 100 100 0 还需要资源 int Request 100 0 请求资源向量 int temp 100 0 存放安全序列 int Work 100 0 存放系统可提供资源 int M 100 作业的最大数为 100 int N 100 资源的最大数为 100 void showdata 显示资源矩阵 int i j cout 系统目前可用的资源 Avaliable endl for i 0 i N i cout name i cout endl for j 0 j N j cout Avaliable j 输出分配资源 cout endl cout Max Allocation Need endl cout 进程名 for j 0 j 3 j for i 0 i N i cout name i cout cout endl for i 0 i M i cout i for j 0 j N j cout Max i j cout for j 0 j N j cout Allocation i j cout for j 0 j N j cout Need i j cout endl int changdata int i 进行资源分配 int j for j 0 j M j Avaliable j Avaliable j Request j Allocation i j Allocation i j Request j Need i j Need i j Request j return 1 int safe 安全性算法 int i k 0 m apply Finish 100 0 int j int flag 0 Work 0 Avaliable 0 Work 1 Avaliable 1 Work 2 Avaliable 2 for i 0 i M i apply 0 for j 0 j N j if Finish i False if apply N for m 0 m N m Work m Work m Allocation i m 变分配数 Finish i True temp k i i 1 k flag for i 0 i M i if Finish i False cout 系统不安全 endl 不成功系统不安全 return 1 cout 系统是安全的 endl 如果安全 输出成功 cout 分配的序列 for i 0 i M i 输出运行进程数组 cout temp i if i M 1 cout cout endl return 0 void share 利用银行家算法对申请资源对进行判定 char ch int i 0 j 0 ch y cout 请输入要求分配的资源进程号 0 M 1 i 输入须申请的资源号 cout 请输入进程 i 申请的资源 endl for j 0 j N j cout name j Request j 输入需要申请的资源 for j 0 jNeed i j 判断申请是否大于需求 若大于则出错 cout 进程 i 申请的资源大于它需要的资源 cout 分配不合理 不予分配 Avaliable j 判断申请是否大于当前资源 若大于则 出错 cout 进程 i 申请的资源大于系统现在可利用的资源 cout 分配出错 不予分配 endl ch n break if ch y changdata i 根据进程需求量变换资源 showdata 根据进程需求量显示变换后的资源 safe 根据进程需求量进行银行家算法判断 void addresources 添加资源 int n flag cout n flag N N N n for int i 0 i n i cout name flag cout Avaliable flag showdata safe void delresources 删除资源 char ming int i flag 1 cout ming for i 0 i N i if ming name i flag 0 break if i N cout 该资源名称不存在 请重新输入 while flag for int j i j N 1 j name j name j 1 Avaliable j Avaliable j 1 N N 1 showdata safe void changeresources 修改资源函数 cout 系统目前可用的资源 Avaliable endl for int i 0 i N i cout name i Avaliable i endl cout 输入系统可用资源 Avaliable Avaliable 0 Avaliable 1 Avaliable 2 cout 经修改后的系统可用资源为 endl for int k 0 k N k cout name k Avaliable k endl showdata safe void addprocess 添加作业 int flag M M M 1 cout 请输入该作业的最打需求量 Max endl for int i 0 i N i cout name i Max flag i Need flag i Max flag i Allocation flag i showdata safe int main 主函数 int i j number choice m n flag char ming cout 资源管理系统的设计与实现 endl cout n N n for i 0 i n i cout 资源 i 1 ming name i ming cout number Avaliable i number cout endl cout m M m cout 请输入各进程的最大需求量 m n 矩阵 Max endl for i 0 i m i for j 0 j Max i j do flag 0 cout 请输入各进程已经申请的资源量 m n 矩阵 Allocation endl for i 0 i m i for j 0 j Allocation i j if Allocation i j Max i j flag 1 Need i j Max i j Allocation i j if flag cout 申请的资源大于最大需求量 请重新输入 n while flag showdata 显示各种资源 safe 用银行家算法判定系统是否安全 while choice cout 银行家算法演示 endl cout 1 增加资源 endl cout 2 删除资源 endl cout 3 修改资源 endl cout 4 分配资源 endl cout 5 增加作业 endl cout 0 离开 endl cout endl cout choice switch choice case 1 addresources break case 2 delresources break case 3 changeresources break case 4 share break case 5 addprocess break case 0 choice 0 break default cout 请正确选择功能号 0 5 endl break return 1 逻辑地址 线性地址 物理地址 include include include define False 0 define True 1 int Max 100 100 0 各进程所需各类资源的最大需求 int Avaliable 100 0 系统可用资源 char name 100 0 资源的名称 int Allocation 100 100 0 系统已分配资源 int Need 100 100 0 还需要资源 int Request 100 0 请求资源向量 int temp 100 0 存放安全序列 int Work 100 0 存放系统可提供资源 int M 100 作业的最大数为 100 int N 100 资源的最大数为 100 void showdata 显示资源矩阵 int i j cout 系统目前可用的资源 Avaliable endl for i 0 i N i cout name i cout endl for j 0 j N j cout Avaliable j 输出分配资源 cout endl cout Max Allocation Need endl cout 进程名 for j 0 j 3 j for i 0 i N i cout name i cout cout endl for i 0 i M i cout i for j 0 j N j cout Max i j cout for j 0 j N j cout Allocation i j cout for j 0 j N j cout Need i j cout endl int changdata int i 进行资源分配 int j for j 0 j M j Avaliable j Avaliable j Request j Allocation i j Allocation i j Request j Need i j Need i j Request j return 1 int safe 安全性算法 int i k 0 m apply Finish 100 0 int j int flag 0 Work 0 Avaliable 0 Work 1 Avaliable 1 Work 2 Avaliable 2 for i 0 i M i apply 0 for j 0 j N j if Finish i False if apply N for m 0 m N m Work m Work m Allocation i m 变分配数 Finish i True temp k i i 1 k flag for i 0 i M i if Finish i False cout 系统不安全 endl 不成功系统不安全 return 1 cout 系统是安全的 endl 如果安全 输出成功 cout 分配的序列 for i 0 i M i 输出运行进程数组 cout temp i if i M 1 cout cout endl return 0 void share 利用银行家算法对申请资源对进行判定 char ch int i 0 j 0 ch y cout 请输入要求分配的资源进程号 0 M 1 i 输入须申请的资源号 cout 请输入进程 i 申请的资源 endl for j 0 j N j cout name j Request j 输入需要申请的资源 for j 0 jNeed i j 判断申请是否大于需求 若大于则出错 cout 进程 i 申请的资源大于它需要的资源 cout 分配不合理 不予分配 Avaliable j 判断申请是否大于当前资源 若大于则 出错 cout 进程 i 申请的资源大于系统现在可利用的资源 cout 分配出错 不予分配 endl ch n break if ch y changdata i 根据进程需求量变换资源 showdata 根据进程需求量显示变换后的资源 safe 根据进程需求量进行银行家算法判断 void addresources 添加资源 int n flag cout n flag N N N n for int i 0 i n i cout name flag cout Avaliable flag showdata safe void delresources 删除资源 char ming int i flag 1 cout ming for i 0 i N i if ming name i flag 0 break if i N cout 该资源名称不存在 请重新输入 while flag for int j i j N 1 j name j name j 1 Avaliable j Avaliable j 1 N N 1 showdata safe void changeresources 修改资源函数 cout 系统目前可用的资源 Avaliable endl for int i 0 i N i cout name i Avaliable i endl cout 输入系统可用资源 Avaliable Avaliable 0 Avaliable 1 Avaliable 2 cout 经修改后的系统可用资源为 endl for int k 0 k N k cout name k Avaliable k endl showdata safe void addprocess 添加作业 int flag M M M 1 cout 请输入该作业的最打需求量 Max endl for int i 0 i N i cout name i Max flag i Need flag i Max flag i Allocation flag i showdata safe int main 主函数 int i j number choice m n flag char ming cout 资源管理系统的设计与实现 endl cout n N n for i 0 i n i cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础工程施工的成本控制方案
- 大豆蛋白深加工产品研发与试产方案
- 通信基站基础建设方案
- 儿童反套路营销方案案例
- 火车站站房建设实施方案
- 儿童乐园开业营销方案
- 自责心理咨询方案
- 临汾团建方案咨询哪家
- 跨境童装童鞋电商本土化市场细分与竞争策略分析报告
- 货物类造价咨询方案
- 2025年甘肃省高考历史真题卷含答案解析
- 中华优传统文化(慕课版)教案
- 2025年广东国家公务员申论考试真题及答案-地市级
- 2025广东广州市国资委选调公务员2人笔试模拟试题及答案解析
- 美容美发店2025年营销方案创新解析
- 国有企业十五五人力资源规划框架
- 档案知识培训课件
- 2025年安全培训《易制毒、易制爆化学品管理及应急预案》考试试卷(含答案)
- 肱骨髁上骨折
- 2025年中药师证考试真题及答案
- 高一信息技术课件全套
评论
0/150
提交评论