《操作系统原理》课程设计报告
操作系统原理及应用课程设计报告

《操作系统原理及应用》课程设计报告 Linux系统服务管理及安全设计学院(系): 计算机科学与工程学院班 级: 学号学生姓名:指导教师:时间: 从 2012 年 05 月14日 到 2012 年05月18日一、课程设计的目的本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及Linux安全服务管理,加强学生的动手操作能力。
二、课程设计要求设计一套安全的系统 Linux要求:1. 系统不能被破解密码;2. 系统不能被恶意重启;3. 只有指定用户才能ssh 登录系统,保障系统安全;4. 编写防火墙策略,保障系统安全,只开放允许访问的tcp 22, tcp 80,tcp 20 21;5.搭建一个Web网站;6.编写shell程序,阻止恶意攻击服务器的来源IP,连接服务器.三、课程设计内容3.1、 Redhat 基础及权限控制Linux 安装中的重要步骤:引导安装程序、磁盘分区、网络参数配置、密码设置、软件包选择Linux 系统引导过程:服务器硬件自检、引导MBR、引导Kernel、引导驱动及服务、自定义加载项、6种引导方式介绍(/etc/inittab)Linux root 密码破解:单用户模式,进行root密码破解Linux 加密防止 root 密码破解:明文加密 (password) 、非明文加密 (grub-md5-crypt )Linux防止恶意重启:禁用ctrl+alt+del 重启功能 (/etc/inittab)Linux文件权限数字表示:可读 R 4、可写 W 2、可执行 X 1Linux文件权限调整:修改所有者 chown 、修改权限 chmodLinux网络参数配置:网络IP地址配置、同一网卡配置多个IP地址Linux查看IP及route:Ipconfig、 ip add、route -nLinux常用命令文件管理类:ls cat more vi cp rm find paste wc grep head tail 磁盘管理:df du fdisk mkfs mount umount系统状态:uptime last vmstat iostat top free3.2、 软件管理及Shell编程Linux rpm 包的管理 :软件包安装、软件包升级、查询已安装的软件包Linux 源码包的管理 :源码包安装、configure、make、make test、make install、源码包删除Linux 文本处理 :文本编辑器、 vi 编辑器Linux Shell编程中常用命令条件测试:test 或者 []、-d 目录、-f 文件、-s 文件大小非0正则表达示:^ 行首、$ 行尾、以 $ 打头的命令、$? 上一个命令执行结果、$1 输入的第1个参数3.3、存储管理及系统管理Linux 系统常用服务管理 :常用系统服务启动与关闭、系统设置 服务器设置 服务常用系统服务介绍Network 网络服务、sshd ssh 远程连接服务Httpd Apache Web 服务器、Smb 文件共享服务器Vsftp FTP 服务器、Bind DNS 服务器Iptables 防火墙、Linux 进程管理进程查看 top , ps –ef 结束进程 Kill id、Kill –9 idLinux 文件系统管理磁盘分区、fdisk 、格式化分区、mkfs.ext3 、挂载分区、mount、卸载分区、umountLinux 卷管理 LVM磁盘分区 fdisk (disk type id: 8e)建立 PV pvcreate pvdispaly建立 VG vgcreate vgchange -a y (激活VG) vgdisplay建立 LV lvcreate lvdisplay格式化LV make.ext3挂载 LV mount缷载LV umountLinux 系统管理 :以图形化的形式 讲解常用系统管理 、用户和组 、日期和时间、显示Linux 系统日志管理系统日志文件位置 、/var/log/message观察日志变化、tail -f /var/log/message筛选日志内容、grep “error” /var/log/message3.4、常用服务器搭建、安全配置Linux openSSH 安全配置 (/etc/ssh/sshd_config )修改SSH服务端口:# Port 22 修改为 Port 9022修改SSH连接协议为版本2:#Protocol 2,1 修改为 Protocol 2权限只定用户连接SSH:AllowUsers user1重启ssh服务系统设置 服务器设置 服务,启动服务”sshd”、使用命令 service sshd restart使用软件连接SSH服务:在Windows上使用putty.exeLinux http服务器配置检查所需要的软件包[root@rh9 /]# rpm -qa | grep httphttpd-2.0.40-21libghttp-1.0.9-7httpd-manual-2.0.40-21redhat-config-httpd-1.0.1-18安装http服务软件包通过系统的”添加删除程序功能”进行安装、使用rpm –ivh 软件包名进行安装配置HTTP网站网页默认存放位置:/var/启动HTTP网站服务系统设置 服务器设置 服务,启动服务”httpd”、使用命令 service httpd start访问Linux Web网站: IPLinux dns服务器配置检查所需要的软件包[root@rh9 /]# rpm -qa | grep bindredhat-config-bind-1.9.0-13bind-utils-9.2.1-16ypbind-1.11-4bind-9.2.1-16安装DNS服务软件包通过系统的”添加删除程序功能”进行安装、使用rpm –ivh 软件包名进行安装配置DNS服务配置反向解析、配置正向解、异常解决 DNS服务不能启动。
gdk操作系统原理课程设计

gdk操作系统原理课程设计一、课程目标知识目标:1. 理解GDK操作系统的基本原理与架构,掌握其核心功能与模块;2. 掌握操作系统中的进程管理、内存管理、文件系统等基本概念;3. 了解操作系统在计算机系统中的作用,及其与其他软件、硬件的关联。
技能目标:1. 能够描述GDK操作系统的启动过程,分析其工作原理;2. 学会使用GDK操作系统的基本命令,进行简单的系统操作与维护;3. 培养学生对操作系统进行问题诊断与性能优化的能力。
情感态度价值观目标:1. 培养学生对操作系统原理学习的兴趣,激发其探索计算机科学领域的热情;2. 培养学生的团队协作意识,提高其沟通与表达能力;3. 增强学生的信息安全意识,使其认识到操作系统安全的重要性。
本课程针对高年级学生,结合GDK操作系统原理,注重理论与实践相结合。
课程目标旨在使学生在掌握操作系统基本原理与技能的基础上,提高实际问题解决能力,培养其对计算机科学的热爱与责任感。
通过分解课程目标为具体学习成果,有助于教师进行教学设计和评估,提高课程实用性。
二、教学内容1. GDK操作系统概述- 操作系统的概念、功能与分类- GDK操作系统的历史、特点与发展趋势2. GDK操作系统的架构与启动- 系统架构:内核、用户空间、系统调用- 启动过程:BIOS、引导加载器、内核初始化3. 进程管理- 进程与线程的概念、状态与转换- 进程调度算法、同步互斥机制4. 内存管理- 内存分配与回收策略- 虚拟内存、分页与分段机制5. 文件系统- 文件与目录结构- 文件存储、权限管理、磁盘空间分配6. 设备管理- 设备驱动程序、I/O调度策略- 中断处理、DMA传输、设备分配与回收7. 操作系统安全与性能优化- 系统安全策略、权限控制- 性能评价、系统监控与调优教学内容根据课程目标进行选择和组织,注重科学性和系统性。
本课程共分为七个部分,按照教材章节进行安排和进度制定。
教学内容涵盖GDK操作系统的基本原理、架构、关键技术与实践应用,旨在帮助学生全面掌握操作系统知识,提高实际问题解决能力。
操作系统原理第二版课程设计

操作系统原理第二版课程设计一、概述《操作系统原理》是计算机科学与技术专业的一门重要的专业基础课程,本次课程设计为操作系统原理第二版的课程设计,旨在深入理解操作系统原理的基本概念、原理和体系结构,提高学生的综合能力、分析问题和解决问题的能力。
二、课程设计的目的和任务目的本次课程设计的目的是通过实践操作系统的设计、实现和测试,深入理解操作系统原理和实际应用。
任务•了解并掌握操作系统原理的基本概念、原理和体系结构;•设计并实现一个简单的操作系统;•对操作系统进行测试、优化和改进。
三、课程设计的内容与要求内容1.操作系统的基本概念、原理和体系结构;2.操作系统的设计、实现与测试;3.操作系统的优化与改进。
要求任务一:操作系统的基本概念、原理和体系结构1.理解操作系统的定义和功能;2.了解操作系统的基本原理,包括进程管理、内存管理、文件管理、设备管理等;3.完成操作系统的体系结构的设计。
任务二:操作系统的设计、实现与测试1.设计操作系统的内核;2.实现操作系统的内核;3.测试操作系统的内核。
任务三:操作系统的优化与改进1.分析操作系统的瓶颈和缺陷;2.重新设计和实现操作系统的内核;3.完成操作系统的优化和改进。
四、实验环境和工具1.操作系统源代码:Linux或者其他开源的操作系统;2.编译器:gcc或者其他支持C语言的编译器;3.调试器:gdb或者其他支持C语言的调试器;4.虚拟机:Vmware、Virtualbox、QEMU等。
五、参考文献1.操作系统原理第二版,蒋炜主编,清华大学出版社,2014年。
2.操作系统设计与实现,安德鲁·桑普森,比尔·林迪,2019年。
操作系统期末课程设计《操作系统原理课程设计》报告封面和要求

操作系统期末课程设计进程调度算法模拟一、设计目的编程实现进程调度的算法,更好地掌握操作系统的原理及实现方法,从而有利于把握进程调度细节。
二、设计要求(1)要求实现先来先服务,短作业优先,时间片轮转,高优先权调度算法四种算法并进行对比分析.(2)要求界面简单,易懂,关键代码部分要注释.(3)编程语言可以采用自己任意精通的语言三、设计思想说明先来先服务:程序的执行调度顺序按先进入队列的先获得执行,并且其他进程都不能中断正在执行的进程,要等进程完成后才能,让出CPU给其他进程。
执行的时候可以随时在队列中插入进程。
短作业优先:进程的调度顺序按程序的服务时间来决定,进程的执行顺序。
服务时间短的先被调用。
调度时先从队列中选取服务时间最短的进程来执行。
进程中途不能中断,即使此时队列中存在服务时间比其更短的进程,仍需要等待该进程执行完后才能被执行。
高优先权调度:选取进程中优先级最高的一个,以优先级的值大,优先级就大。
调度时总是选取队列中进程优先级最高的来执行,不管是否有某个进程在执行,只要存在比正在执行进程优先级高的进程,则就会立刻中断正在执行的进程,让给跟高优先级的进程。
时间片轮转:本课程设计采用多级反馈队列调度算法,设立4个进程队列,分给队列1的时间片为3秒,队列2的时间片为6秒,队列3的时间片为12秒,队列4的时间片为24秒。
队列1的优先级最高,队列4的优先级最低。
高优先级的队列没执行完,即不为空,就永远不执行其下面的低优先级的队列里面的进程。
当执行低优先级队列里面的进程时,突然间高优先级的队列插入了进程就立刻跳到高优先级的队列执行其里面的进程。
每个队列的进程都是按先来先执行的顺序执行。
进程初次执行肯定要进入队列1。
如何从头到尾执行一遍队列1中的进程是,存在某些进程在队列1的时间片内还没执行完,就把进程移交到下一个队列中。
每个队列都如此类推。
直到最后一个队列4,如果在队列4还有进程在本时间片内还没没执行完,就把该程序放到队尾,从新等待时间片执行。
操作系统原理课程设计报告模板

《操作系统原理》
课程设计报告书
题目:
学号:
学生姓名:
专业:
指导教师:
年月日
目录
1 功能描述(三号黑体,占三行) (1)
1.1 二级标题(四号宋体,占三行) (1)
1.1.1 三级标题(五号黑体,占二行) (1)
2 系统设计 (1)
3 系统实现 (2)
4 系统测试与分析 (2)
教师评分表 (10)
1 功能描述(三号黑体,占三行)
1.1 二级标题(四号宋体,占三行)
1.1.1 三级标题(五号黑体,占二行)
详细描述实现什么功能?(正文采用五号宋体)
2 系统设计
描述系统总体设计和详细设计,如功能模块图、数据结构、流程图等。
图题:排小五宋体居中,编号统一为图x;图中文字:排小五宋,末尾没有标点;如图1所示。
图1 计算机系统组成
表题:排小五黑体居中,编号统一为表x;表中文字:排小五宋体。
如表1所示。
表1 不同进制数的对应关系
3 系统实现
描述采用什么工具实现系统的过程。
4 系统测试与分析
描述系统运行结果,如运行界面截图。
教师评分表。
操作系统原理课程设计

操作系统课程设计报告银行家算法院系:计算机科学技术学院班级:网络13-2班姓名:赵飞学号: 3 5号指导教师:胡晓宏2015年7月2日操作系统原理课程设计任务书一、题目:银行家算法二、设计要求(1)张金星(组长)、赵飞负责设计与实现。
(2)查阅相关资料,自学具体课题中涉及到的新知识。
(3)采用结构化、模块化程序设计方法,功能要完善,具有一定的创新。
(4)所设计的程序应有输入、输出。
(5)按要求写出课程设计报告,并于设计结束后1周内提交。
其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设计、软件的调试、总结、谢启、附录:带中文注释的程序清单、参考文献。
报告一律用A4纸打印,中文字体为宋体,西文字体用Time New Roma,一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。
总体设计应配合软件总体模块结构图来说明软件应具有的功能。
详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。
三、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。
四、课程设计工作计划2015年6月23日,指导教师讲课,学生根据题目准备资料;2015年6月24日,进行总体方案设计;2015年6月25日~2015年6月29日,完成程序模块并通过独立编译;2015年6月30日~2015年7月1日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;2015年7月2日~2015年7月5日,验收、撰写报告;指导教师签章:教研室主任签章操作系统原理课程设计指导教师评语与成绩目录一概述 (2)二总体方案设计 (3)三详细设计 (4)四程序的调试与运行结果说明 (7)五课程设计总结 (9)六后记 (10)八附录 (11)九参考文献 (18)一概述一、课程设计的目的。
1.使学生更深入地理解和掌握该课程中的有关基本概念。
操作系统原理课程设计

操作系统原理课程设计一、教学目标本课程旨在让学生了解和掌握操作系统原理的基本概念、核心机制和设计方法。
通过本课程的学习,学生应能理解操作系统的基本组成、工作原理和运行机制,掌握进程管理、内存管理、文件系统和输入/输出管理等方面的基本知识,具备分析问题和设计简单操作系统的能力。
1.理解操作系统的基本概念、组成和分类。
2.掌握进程的基本原理和管理方法。
3.理解内存管理的技术和策略。
4.熟悉文件系统的结构和管理方法。
5.掌握输入/输出管理的基本原理和方法。
6.能够运用操作系统原理分析和解决实际问题。
7.具备设计和实现简单操作系统的能力。
情感态度价值观目标:1.培养学生对操作系统学科的兴趣和好奇心。
2.培养学生团队合作、创新和批判性思维的能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.操作系统概述:操作系统的概念、作用、发展历程和分类。
2.进程管理:进程的基本概念、进程管理的基本方法、进程同步与互斥、死锁与饥饿问题。
3.内存管理:内存分配与回收策略、内存保护、虚拟内存、页面置换算法。
4.文件系统:文件和目录结构、文件存储管理、文件访问控制、磁盘空间分配策略。
5.输入/输出管理:输入/输出设备管理、中断处理、缓冲区管理、设备分配与回收。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过教师的讲解,使学生掌握操作系统原理的基本概念和知识。
2.讨论法:学生针对某一问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际操作系统案例,使学生更好地理解操作系统的工作原理。
4.实验法:通过操作系统的实验,让学生亲自动手实践,加深对知识的理解和运用。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《操作系统原理》。
2.参考书:提供相关领域的经典教材和论文,以拓展学生的知识视野。
3.多媒体资料:制作课件、演示文稿等,以直观展示操作系统的原理和实例。
《操作系统原理》课程设计报告-微型操作系统的设计

重庆科技学院《操作系统原理》课程设计报告学院:电气与信息工程学院专业班级:计科应08 学生姓名:学号:设计地点(单位)___ ______ _ ____ __ _ _ 设计题目:____ __ 微型操作系统的设计________________ 完成日期: 2011 年 6 月 17 日指导教师评语: ______________________ _________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________成绩(五级记分制):______ __________指导教师(签字):________ ________重庆科技学院课程设计任务书设计题目:微型操作系统的设计年月日摘要操作系统是用于控制和管理计算机系统内各种软硬件资源、合理有效地组织协调计算机系统的工作流程提供友好的用户接口以方便用户使用计算机的程序集合。
本次设计主要基于在实模式下系统引导程序的编写,理解消化实模式到保护模式切换原理以及相关的数据结构和工作过程,并实现之,完成保护模式下的引导程序,并完成“内核”的加载,并使“内核”运行起来。
所用到的设备有Windows XP系统PC机一台、装有Linux系统的PC机一台、VMware虚拟机一台、winhex 以及NASM编译软件。
结合本身的实际情况,写出设计要求的操作系统。
关键词:操作系统引导模式内核 NASM目录摘要 (I)1 需求分析 (1)1.1功能需求分析 (1)1.2 性能需求分析 (1)1.3 运行环境需求 (2)1.3.1 设备 (2)1.3.2 运行环境 (2)2系统设计 (4)2.1 引导程序和模式切换功能设计 (4)2.1.1 引导程序设计 (4)2.1.2 模式切换功能设计 (5)2.2 内核设计 (9)2.3 映像文件的设计 (12)3系统测试 (13)总结 (15)致谢 (16)参考文献 (17)1 需求分析无论什么项目或者是软件,我们首先必需弄清它的需求分析,才能达到我们开发的目的,而不是在那盲目的开发,最后却不知道产品所需求的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《操作系统原理》课程设计报告书题目:进程控制模块的设计与实现专业:网络工程学号:131007111学生姓名:李亚豪指导教师:刘双红完成日期:2015-12-05目录第1章课题概述 (3)1.1 设计要求 (3)1.2 设计理论依据 (3)第2章设计简介和内容 (6)2.1 设计简介 (6)2.2 设计内容 (6)第3章详细设计3.1 设计流程图 (7)3.2 主要程序代码 (9)第4章设计结果及分析 (10)4.1 运行结果截图 (10)4.2 运行结果分析............................................................... 错误!未定义书签。
总结 (15)第1章课题描述1.1设计要求1.叙述要详细。
2.要有条理。
3.各个功能分开阐述。
4.自己可以增加题目要求的功能模块。
5.可以增加自己对题目的理解。
1.2设计理论依据根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。
短作业优先调度算法,从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
第2章设计简介和内容2.1设计简介在多道程序环境下,将系统中的作业组织起来,为每个进入系统的作业建立档案以记录和作业相关的信息,按要求输入作业名、到达时间和服务时间,并为其建立作业控制块(JCB)挂入后备队列。
进行作业调度时,在其后计算出各个作业的开始执行时间、完成时间、周转时间和平均周转时间,利用短作业优先算法进行作业调度,并按照由小到大的顺序显示出来。
2.2 设计内容1)编写程序完成批处理系统中的作业调度,要求采用短作业优先的作业调度算法。
实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。
2)创建作业控制块JCB,定义为结构体,为进入系统的作业建立档案,其中定义了作业名,作业到达时间,作业服务时间,作业开始执行时间,作业完成时间,作业周转时间,作业平均周转时间。
3)首先按各个作业完成时间由小到大排序。
再用输入的到达时间与服务时间按一定算法算出各个作业的开始执行时间、完成时间、周转时间和作业平均周转时间。
第3章详细设计3.1 设计流程图3.2主要代码// 789.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<stdio.h>#include<conio.h>#include<windows.h>#define MAX 100 //最多能管理的作业数目struct jcb //作业控制块JCB,定义为结构体{char name[10]; //作业名float arrivetime; //作业到达时间float servicetime;//作业服务时间float starttime; //作业开始执行时间float finishtime; //作业完成时间float zztime; //作业周转时间float avezztime; //作业平均周转时间};jcb a[MAX];void input(jcb *p,int N){int i;printf("请分别输入:\n\t作业名,到达时间,服务时间(如:JOB1 5 10)\n\n");for(i=0;i<=N-1;i++){printf("请输入第%d个作业信息:",i+1);scanf("%s%f%f",&p[i].name,&p[i].arrivetime,&p[i].servicetime);printf("\n");}}void Print(jcb *p,float arrivetime,float servicetime,float starttime,float finishtime,float zztime,float avezztime,int N){int k;printf("调度顺序:");printf("%s",p[0].name);for(k=1;k<N;k++){printf("-->%s",p[k].name);}printf("\n\n");printf("\t\t\t作业信息:\n");printf("\nname\tarrive\tservice\tstart\tfinish\tzz\tavezz\n");for(k=0;k<=N-1;k++){printf("%s\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t%-.2f\t\n",p[k].name,p[k].arrivetime,p[k].service time,p[k].starttime,p[k].finishtime,p[k].zztime,p[k].avezztime);}}void sort(jcb *p,int N){for(int i=0;i<=N-1;i++)for(int j=0;j<=i;j++)if(p[i].arrivetime<p[j].arrivetime){jcb temp;temp=p[i]; p[i]=p[j];p[j]=temp;}}void deal(jcb *p, float arrivetime,float servicetime,float starttime,float finishtime,float &zztime,float &avezztime,int N){int k;for(k=0;k<=N-1;k++){if(k==0){p[k].starttime=p[k].arrivetime;p[k].finishtime=p[k].arrivetime+p[k].servicetime;}else{p[k].starttime=p[k-1].finishtime;p[k].finishtime=p[k-1].finishtime+p[k].servicetime;}}for(k=0;k<=N-1;k++){p[k].zztime=p[k].finishtime-p[k].arrivetime;p[k].avezztime=p[k].zztime/p[k].servicetime;}}void jcbf(jcb *p,int N){float arrivetime=0,servicetime=0,starttime=0,finishtime=0,zztime=0,avezztime=0;sort(p,N);for(int m=0;m<N-1;m++){if(m==0)p[m].finishtime=p[m].arrivetime+p[m].servicetime;elsep[m].finishtime=p[m-1].finishtime+p[m].servicetime;int i=0;for(int n=m+1;n<=N-1;n++){if(p[n].arrivetime<=p[m].finishtime)i++;}float min=p[m+1].servicetime;int next=m+1;//m+1=nfor(int k=m+1;k<m+i;k++){if(p[k+1].servicetime<min){min=p[k+1].servicetime;next=k+1;}}jcb temp;temp=p[m+1];p[m+1]=p[next];p[next]=temp;}deal(p,arrivetime,servicetime,starttime,finishtime,zztime,avezztime,N);Print(p,arrivetime,servicetime,starttime,finishtime,zztime,avezztime,N);}int main(){while(1){int N;printf("\t\t\t------短作业优先调度算法------\n");printf("请输入作业数目:"); scanf("%d",&N);char ch;if(N>MAX){printf("\t!!输入的作业数目太大,请输入不大于%d的整数\n",MAX);printf("按Q或者q退出程序,按其他任意键继续测试...");ch = getch();if(ch=='Q'||ch=='q'){break;}else continue;}input(a,N);jcb *b=a;jcbf(b,N);printf("按Q或者q退出程序,按其他任意键继续测试...");ch = getch();if(ch=='Q'||ch=='q'){break;}}return 0;}第4章设计结果及分析4.1 运行结果截图1)初始化界面图1-1 初始化初始化作业输入作业的数目,但不可超过进程设置的最大值。
如果输入的作业数超过作业数的最大值,程序就会退出。
输入如果在正确范围的话,程序就会执行,并会出现相应的提示信息,执行情况如下图所示。
2)输入进程数目图1-2 输入进程数目承接上面的页面,输入相应的作业数,输入作业数后程序会给出相应的提示,用户可根据相应的提示,进行操作,进行下一步,如下图所示。
3)输入进程名、到达时间、服务时间图1-3 输入进程各信息用户进入这个界面后,根据相应的提示,输入用户所构造的作业信息。
如作业名、到达时间、服务时间。
根据用户输入相应的值,程序会给出相应的处理,如下图所示。
4)运行结果图1-4 运行结果相应的程序对用户输入的作业信息,做出了相应的处理。
如程序的执行顺序,对应的程序的名字、到达时间、服务时间、开始服务时间、完成时间、周转时间、平均周转时间。
用户可根据执行情况,了解相应的进程的执行情况。
总结1.列出开发过程中遇到的主要困难,并写出解决方法把完成的模块组合到主程序上。