1、计算机操作系统课外实践计划 (2013-2014学年第二学期) 课外实践班级: 2011 计算机物联网一班、软件工程一班,软件工程.net 班 课外实践学时:18 学时 课外实践目的: 操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源 并组织用户协调使用这些资源,使计算机高效的工作。操作系统课外实践是 操作系统 理论课的必要补充, 是复习和检验所学课程的重要手段,课外实践 的目的是综合应用学生所学知识,通过实验环节, 加深学生对操作系统基本原理 和工作过程的理解, 提高学生独立分析问题、 解决问题的能力, 增强学生的动手 能力。 课外实践要求: 1分析设计内容,给出解决方案(
2、要说明设计实现的原理,采用的数据结 构)。 2画出程序的基本结构框图和流程图。 3对程序的每一部分要有详细的设计分析说明。 4源代码格式要规范。 5 设计合适的测试用例, 对得到的运行结果要有分析。 6设计中遇到的问题,设计的心得体会。 7按期提交完整的程序代码、可执行程序和课外实践报告。写出收获和体会, 包括已解决问题和尚未解决的问题,进一步完善的设想与建议; 附件: 计算机操作系统课外实践可选题目 1. 进程调度模拟系统实验目标: 通过设计一个进程调度模拟系统,从而使进程调度算法更加形象化,容易使人理解,使 进程调度的特点更简单明了,能使使用者加深对先来先服务算法、短进程优先算法、最高优
3、先权优先算法、 高响应比优先算法以及时间片轮转算法等进程调度算法的理解。 实验要求 系统主界面可以灵活选择某种算法,算法包括:先来先服务算法、短进程优先算法、最 高优先权优先算法以及时间片轮转算法等进程调度算法 2. 读者写者问题 实验目标: 1 熟悉多线程编程 2 熟悉使用信号量机制解决同步问题实验内容 实验要求 创建一个控制台进程。此进程包含n 个线程。用这n 个线程来表示n 个读者或写者。每个 线程按相应测试数据文件(后面有介绍 )的要求进行读写操作。用信号量机制分别实现读者优 先和写者优先的读者-写者问题。 3. 银行家算法 实验目标: 1. 理解银行家算法。 2. 掌握进程安全性检查
4、的方法及资源分配的方法。 3. 加深了解有关资源申请、避免死锁等概念。 4. 体会和了解死锁和避免死锁的具体实施方法。 实验要求 编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算 法,有效的防止和避免死锁的发生。 4. 页面置换算法模拟 实验目标: 学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件 和操作系统的原理与设计技巧。本设计木的是通过请求页式存储管理中页面置换算法模拟设 计了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法实验要求 实验要求 1 通过随机数产生一个指令序列320 条指令。指令的地址按下述原则生成50
5、% 的指令是 顺序执行的25% 的指令是均匀分布在前地址部分25% 的指令是均匀分布在地址部分。 2 将指令序列换成为页地址流。 3 计算并输出下述各种算法在不同内存容量下的命中率。 ( 1)先进先出的算法FIFO ( 2)最近最少使用算法LRU ( 3)最近最不经常使用算法NUR 5. 磁盘调度模拟系统 实验目标: 通过设计一个磁盘调度模拟系统,从而使磁盘调度算法更加形象化,容易使人理解,使 磁盘调度的特点更简单明了,能使使用者加深对先来先服务算法、最短寻道时间优先算法、 扫描算法以及循环扫描算法等磁盘调度算法的理解。 实验要求 系统主界面可以灵活选择某种算法,算法包括:先来先服务算法(FC
6、FS) 、最短寻道时 间优先算法( SSTF) 、扫描算法( SCAN ) 、循环扫描算法(CSCAN ) 。 6. 基于 linux的多任务系统实现 实验目标: 通过对线程(和进程)的创建和撤销,CPU 的调度,同步机制,通信机制的实现,以达到 一下目的: 1,加深对线程和进程概念的理解,明确进程和程序的区别。 2,加深对 CPU 调度过程(现场保护, CPU 的分派和现场的恢复)的理解。 3, 进一步认识并执行的概念,明确顺序执行和并发执行的区别。 4, 加深对临界资源,临界区,信号量以及同步机制的理解。 5, 加深对消息缓冲通信的理解。 实验要求 1 用 C语言完成线程的创建和撤销,并按优先权加时间片轮转算法对多线程进行调度。 2 改变时间片的大小,观察结果的变化。 3 假设两个线程共用同一软件资源(如某以变量,或者某以数据结构),请用记录型信号量 来实现对它的互斥访问。 4 假设有两个线程共享一个可以存放5 个整数的缓冲,一线程不停地计算1 至 50 的平方, 并将结构放入缓冲中,另一个线程不断地从缓冲中取出结果,并将它们打印出来,请用记录 型信号量实现这一生产者和消费者的同步问题。 5 实现消息缓冲通信,并与3,4 中的简单通信进行比较。