一、课程设计的性质与目的
操作系统是计算机系统配置的基本软件之一,其作用是对计算机系统进行统一的调度和—管理,提供各种强有力的系统服务,为用户创造既灵活又方便的使用环境。本课程是计算机及应用专业的一门专业主干课和必修课。通过课程设计,使学生掌握操作系统的基本概念、设计原理及实施技术,具有分析操作系统和设计、实现、开发实际操作系统的能力。
二、课程设计任务
采用C或C#程序设计语言,模拟实现一个简单功能的操作系统。
三、设计要求
3.1 实现作业管理
创建作业
为每个作业定义一个作业控制块(包含作业标识、用户名称、预计运行时间、要求内存大小、作业大小、资源需求的类型和最大数量、以及其他所需信息等)
建立后备作业队列(不少于10个作业)
采用短作业优先调度算法
每次作业调度时,最多从后备队列选取5个作业调入内存
显示作业的调度情况
3.2 实现进程管理
假设每个作业只创建一个进程,进程控制块PCB包含进程标识、状态、大小、进程页表地址、资源类型和数量以及其他信息等
创建进程
申请空白进程控制块PCB
内存分配
初始化进程控制块
将新进程插入就绪队列
进程调度:采用时间片轮转进程调度算法,将CPU分配给就绪队列队首进程,原进程插入就绪队列队尾。显示各进程信息
当进程被调度执行时,提出资源请求,采用银行家算法实现资源分配,避免死锁
唤醒进程:当某类资源被释放时,则对该资源阻塞队列中的进程按顺序判断是否满足资源需要,如果满足资源需求,则把该进程插入就绪队列
终止进程:当进程完成时,释放内存,释放其他资源,撤销进程控制块PCB,