沈阳建筑大学信息学院上机指导书_操作系统_ 2
大学计算机基础上机指导

大学计算机基础上机指导在大学计算机课程的学习中,上机实验是一个重要的环节,通过上机实验可以巩固理论知识,提高实践能力。
然而,对于一些初学者来说,可能对于如何进行上机实验感到困惑。
本文将为大家提供一份大学计算机基础上机指导,帮助大家顺利完成上机实验。
一、实验前的准备工作在进行上机实验之前,我们需要做好一些准备工作,以确保实验顺利进行。
1. 硬件准备:在进行计算机实验时,需要使用计算机设备。
确保你的计算机设备正常运行,硬件联网正常,同时确保计算机内存和存储空间充足。
2. 软件准备:根据实验要求,安装相应的软件和工具。
例如,如果实验涉及到Java编程,那么你需要安装Java开发环境(JDK);如果实验涉及到数据库操作,你需要安装数据库管理系统(如MySQL)等。
3. 学习资料准备:在实验之前,认真复习实验相关的理论知识,了解实验的目标和要求。
还可以准备一些相关的参考资料,以便在实验过程中查阅和解决问题。
二、实验步骤详解完成实验前的准备工作后,我们可以按照以下步骤进行上机实验:1. 仔细阅读实验指导书:在开始实验之前,先通读实验指导书,了解实验的要求、目标和步骤,明确自己需要完成的任务。
2. 确定实验环境:根据实验要求,打开相应的软件或工具。
确保软件环境的正确配置,例如设置正确的编译器版本、数据库连接等。
3. 实验过程记录:在实验过程中,我们需要记录每个步骤的操作和结果。
建议在实验过程中使用笔记本或电脑文档来记录,以便后续查阅和分析。
4. 问题解决:在实验过程中,可能会遇到一些问题,例如编译错误、代码逻辑错误等。
遇到问题时,可以先自行查找解决方案,例如查阅相关资料、阅读编程语言的官方文档等。
如果问题无法解决,可以向老师或同学请教。
5. 实验结果验证:在完成实验后,需要进行结果验证。
通过比对实验指导书给出的答案或结果,检查自己的实验结果是否正确。
三、实验注意事项在进行上机实验时,我们还需要注意以下几点:1. 遵循实验要求:实验过程中需要严格按照实验要求进行操作,不要擅自更改或修改实验要求。
上机实验指导手册

《Oracle应用基础》上机实验指导手册目录实验一 Oracle环境配置 (3)实验二 Oracle配置文件和SQL *Plus常用命令练习 (7)实验三用户与权限的管理 (9)实验四数据库创建/表空间维护/表 (11)实验五簇表与分区表 (14)实验六对象表/嵌套表、表的管理、索引/视图 (18)实验七常用方案对象和数据操纵语言 (22)实验八 Oracle支持的SQL查询 (26)实验九 SQL查询、PL/SQL (30)实验十 PL/SQL程序练习 (32)实验一 Oracle环境配置一、实验目的熟悉Oracle安装后的环境变量,了解常用的Oracle服务和数据库用户。
掌握Oracle管理工具的使用和数据库状态的管理。
二、实验内容1、Oracle安装后的环境变量2、常用的Oracle服务3、数据库默认用户4、熟悉Oracle的管理工具5、Oracle数据库状态的管理三、实验步骤1、Oracle安装后的环境变量:安装完Oracle后,系统会自动创建一组环境变量:2、常用的Oracle服务3、数据库默认用户在创建Oracle数据库时,以下用户被自动创建:SYS:系统用户,数据字典所有者,超级权限所有者(SYSDBA)SYSTEM:数据库默认管理用户,拥有DBA角色权限scott:实验、测试用户,含有例表emp与deptDBSNMP:具有CONNECT\RESOUCEHE\SNMPAGENT 权限的角色SYSMAN:企业管理器帐户4、熟悉Oracle的管理工具1)查看数据库使用的端口号..\oracle\product\10.2.0\db_1\install\portlist.ini2)企业管理器Enterprise Manager前提:OracleDBConsoleorcl服务启动方法:IE地址栏中输入http://<host_name>:<em_port>/em,例如http://de1a136********:1158/em,以sys/syspwd/SYSDBA登录使用:一般信息/性能/管理/维护3)Oracle Administration Assistant方法:[开始]->[程序]->[Oracle-OraDb10g_home1]->配置和移植工具->Oracle Administration Assistant for Windows使用:设置默认实例和注册表变量、设置操作系统数据库管理员和操作员、数据库管理4)Net Manager—用于配置/管理网络环境方法:[开始]->[程序]->[Oracle-OraDb10g_home1]->配置和移植工具->Net Manager使用:概要文件、服务命名、监听程序、Oracle Names Server5)Net Configuration Assistant—用于实现Oracle Net Services方法:[开始]->[程序]->[Oracle-OraDb10g_home1]->配置和移植工具->Net Configuration Assistant使用:监听程序配置、命名方法配置、本地net服务器配置、目录使用配置6)数据库配置助手DCA—用于建立/配置/删除数据库方法:[开始]->[程序]->[Oracle-OraDb10g_home1]->配置和移植工具->Database Configuration Assistant7)SQL *Plus--允许用户使用SQL命令访问数据库方法1:[开始]->[程序]->[Oracle-OraDb10g_home1]->应用程序开发->SQL Plus,以system/syspwd/orcl登录方法2:在DOS窗口的命令行下输入sqlplus system/syspwd@orcl8)iSQL *Plus—Web版的SQL *Plus前提:OracleOraDb10g_home1iSQL*Plus服务启动方法:IE地址栏中输入http://<host_name>:<port>/isqlplus,例如http://de1a136********:5560/isqlplus,以system/syspwd登录或在机房http://localhost:5560/isqlplus,以system/syspwd登录9)查看Oracle数据库的版本标识方法:在SQL *Plus中执行select * from product_component_version;例如10.2.0.1.0,10是数据库的主版本号,2是维护版本号,0是应用程序器版本号,1是组件相关版本号,0是平台相关版本号10)完全卸载Oracle 10g的步骤停止Oracle的所有服务[开始]->[程序]->[Oracle-OraDb10g_home1]->Oracle Installation Products->Universal Installer删除注册表和环境变量中与Oracle相关的内容5、Oracle数据库状态的管理1)关闭数据库实例正常关闭shutdown=shutdown normal:normal是shutdown的默认选项,等当前所有已连接的用户断开与数据库的连接,关闭数据库。
《操作系统》实验教学指导书(V2)2.2

天津理工大学华信软件学院 《操作系统》实验教学指导书2.2
课程代码: 1460350 课程名称: 操作系统 / Operating System 开课院(系)、实验室:华信软件学院C408机房 适用专业: 软件工程专业 实验指导书名称: 《操作系统实验教程(Linux版)》第八章 指导教师: 张一鸣
实验二 进程的建立与调度(2.2 进程的调度) 1. 实验目的 (1) 理解并比较处理机调度的常用策略。 (2) 重点掌握优先权调度和时间片轮转两种调度算法的设计与实现。 (3) 按优先权调度算法设计并实现一个处理机调度的程序。
2. 实验内容 本实验中,根据进程状态的转换图模拟多个进程在一个处理机上进行调度。本实验有两个题目,可任选其一。 (1) 设计一个按动态优先权调度算法实现处理机调度的程序。 (2) 设计一个按时间片轮转调度算法实现处理机调度的程序。
3. 准备知识 (1) 理解操作系统中处理机调度的概念和调度算法。 (2) 学习Linux下进程控制以及进程间通信的知识。
4. 实验原理 时间片轮转调度算法和优先权调度算法本质上是一直的,只是在调度时选择的策略不一样而已,故程序流程图是一致的,所以在本教程中仅给出一个流程图即可。具体算法流程图如1所示。 4.1. 时间片轮转调度算法 当系统按时间片轮转算法调度进程时,将所有的就绪进程按照一定的原则(如先来先服务原则)排列,形成一个就绪队列。每次调度为队首进程分配CPU资源,令其执行一个时间片,该时间片的大小从几ms到几百ms。当时间片用完时,由计时器发出中断信号,通知系统剥夺当前运行进程的CPU使用权,并将此进程送入就绪队列的末尾,等待下一次执行;然后,把处理机分配给就绪队列中新的队首进程,执行重复操作。在进程运行过程中,如果时间片未用完而等待时间发生,则该进程进入等待队列,系统将CPU重新分配给就绪队列的队首进程,一旦时间发生后,等待队列的队首进程进入就绪队列末尾。这样就可以保证就绪队列中的所有进程,在可接受的等待时间内,均能获得处理机并调度执行。 时间片轮转调度算法的进程状态转换图,如图2所示。
上机指导_C#程序设计(慕课版)_[共2页]
![上机指导_C#程序设计(慕课版)_[共2页]](https://img.taocdn.com/s3/m/2912650576a20029bc642d6f.png)
图9-10 删除数据
小 结
本章主要对LINQ查询表达式的常用操作及如何使用LINQ操作SQL Server数据库进行了详细讲解,LINQ技术是C#中的一种非常实用的技术,通过使用LINQ技术,可以在很大程度上方便程序开发人员对各种数据的访问。
通过本章的学习,读者应熟练掌握LINQ技术的基础语法及LINQ查询表达式的常用操作,并掌握如何使用LINQ对SQL Server数据库进行操作。
上机指导
数据的分页查看在Windows应用程序中经常遇到,这里将演示如何使用LINQ技术实现分页查看库存商品信息的功能。
运行效果如图9-11所示。
图9-11 分页查看库存商品信息
开发步骤如下。
(1)创建一个Windows窗体应用程序,命名为LinqPages。
(2)更改默认窗体Form1的Name属性为Frm_Main。
在窗体中添加一个DataGridView控。
操作系统实验指导书auts

计算机系实验系列指导书适用于计算机系相关专业安徽工程科技学院计算机系操作系统课题组编写前言《计算机操作系统》是计算机系相关专业本科生的一门必修课程,该课程是后续课程计算机网络等课程的先修课程。
计算机操作系统是计算机技术和管理技术的结合,通过学习使学生掌握计算机操作系统的组成及基本设计原理,基本概念和术语;了解计算机操作系统的发展特点、设计方法以及相关的应用技巧和算法。
操作系统是计算机系统的基本组成部分,是整个计算机系统的基础和核心。
计算机操作系统课程是理论性和实践性都较强的课程,具有概念多、较抽象、涉及面广的特点。
操作系统的实验选择UNIX或Linux环境,用C语言编程,要求熟悉UNIX或Linux操作系统的命令,同时具有一定的C语言或其它语言的编程能力。
本课程实验总体介绍如下:1、本课程上机实验的任务:通过该实验真正认识多进程、多线程、微核、死锁、文件系统、缓存等概念及实现原理;在充分理解原理和算法的基础上,发挥学生自我创造力,鼓励并创造机会让学生提出新的算法或实现。
课程实验通过应用层编程调用系统接口加深对进程、内存、文件和设备等功能的理解。
具体为实验1-5。
2、本课程上机实验重点与难点:并发控制,内核代码的分析与设计。
3、本课程上机实验运用软件名称:Linux Red Hat 9.0 , vi编辑器、gcc编译器,4、总学时:实验学时:10学时5、参考资料:计算机操作系统. 汤子瀛,西安电子科技大学出版社(第3版)《Linux设备驱动程序》第二版Alessandro Rubini & Jonathan Corbet编著魏永明骆刚等译中国电力出版社2002年11月第一版。
《Linux操作系统内核分析》陈莉君编人民邮电出版社第一版。
《Linux操作系统内核实习》 Gary Nutt 著机械工业出版社。
目录----------------------------------------------------------4---------------------------------------------------------13 ---------------------------------------------------------20---------------------------------------------------------28---------------------------------------------------------38实验一熟悉LINUX环境和命令(一)LINUX常用命令简介实验目的1、了解UNIX/LINUX的命令及使用格式。
管理信息系统上机实验指导书_实验一

管理信息系统上机实验指导书机电学院工业工程专业2013-2014(1)学期上机实验一:数据资源管理技术(数据库设计与Oracle软件操作练习)一、实验目的学习Oracle数据库的基本操作,应用数据库基本原理相关知识设计数据库逻辑模型,并编写系统数据库设计报告。
二、实验要求1、根据本指导书和案例一熟悉Oracle软件界面与建立表结构、插入、查询、修改和删除数据操作。
2、根据案例二自行完成各实验课题的E-R图设计,建立相关表结构,完成相关数据操作练习。
3、完成上机实验报告。
三、应用案例1、指导案例动态网页一般以数据库技术为基础,不仅可以大大降低网站维护的工作量,更重要的是采用动态网页技术的网站可以实现更多的功能,如用户管理、在线调查、订单管理等等。
用户管理是很多管理信息系统中首要的一个模块,其主要功能包括用户注册、用户基本信息维护、用户登录、用户权限设置等。
由于有了用户管理,动态网页技术可以实现向不同的用户呈现不同的个性化的网页内容。
2、实验课题(1)库存管理系统(2)生产计划(MRP)管理系统(3)产品销售管理系统(4)学生成绩管理系统四、实验内容与步骤本指导以案例系统为例,介绍实验的具体操作内容与步骤,请以选定实验课题为练习资料完成如下实验步骤:1、Oracle软件安装安装过程只需按照提示点击【下一步】一步步完成。
需要注意的是:软件所需空间较大,需要选择磁盘空间不低于2G的本地磁盘,且要求安装目标文件夹名称不含有空格。
图 1 选择目标位置安装过程需要设置一个数据库管理员的密码(必须记住),如gygc:图 2 设置系统用户密码最后点击【安装】按钮即可,还需要留意的是监听端口8080是否和其他软件有冲突。
图 3 安装信息概览2、Oracle服务启动与停止练习(1)启动服务图 4 启动数据库程序图标(2)停止服务图 6 停止数据库程序图标图 7 数据库已停止界面3、Oracle界面与基本操作练习(1)Oracle入门文档图 8 Oracle帮助文档图 9 帮助文档在浏览器内打开(2)登录Oracle数据库主页图 10 打开Oracle数据库主页网址是:http://127.0.0.1:8080/apex(3)Oracle软件主界面图 11 登录页面图 12 进入Oracle管理控制台(4)系统管理界面在系统管理页面中可以对存储文件、系统内存、程序内存、系统用户进行管理,并可以对数据库运行状态进行监控。
《管理信息系统》课程上机指导书
《管理信息系统》课程上机指导书一、实验目的管理信息系统是高校管理类和计算机应用专业开设的一门理论与实践结合较强的核心课程.因此除了在课堂上进行必要的理论学习外,还需要进行一定量的实际运用的训练。
本上机实验就是该课程的重要组成部分,是培养学生应用计算机系统管理信息的思想、意识和能力,熟悉、掌握信息系统开发过程的重要环节。
通过实际的管理信息系统案例或相应模型的模拟演示,以达到对本课程的进一步理解。
(安装后运行:D:\MIS4\GLXXXT\MISDEMO.EXE 即可)二、实验要求学生在上机前,必须认真阅读和理解“《管理信息系统》上机指导书”,根据上机演示程序的要求,提前做好相应的数据准备工作.上机结束,必须提交“《管理信息系统》课程上机实习报告”,上机报告的主要内容与格式包括:1 实习目的2 实习内容2.1 实习一一、数据准备二、过程与结果2.2 实习二一、数据准备二、过程与结果2。
3实习三一、数据准备二、过程与结果3 收获与建议三、上机内容【演示1。
1】利润计划编制本演示的目的是使学员了解运行利润计划模型的操作过程。
以此说明信息系统在支持计划工作中反复试算的作用。
本演示中编制利润计划需要确定下列各项计划指标:销售额、销售成本、边际收入、经营费用、税收前利润、税金和纯利润。
已知这些指标之间的关系如实例1。
1中所示.运行本软件时,屏幕上出现的按钮有:1.显示模型――显示利润计划模型。
2.输入变量――输入销售额和管理费用两个输入变量。
3.数据析取――指从财务会计子系统的数据库中析取出借款平均额等三项数据.4.计算经营费用。
5.利润计划――显示利润计划.6.退出。
计划人员可通过改变输入变量来获得各种利润计划方案,从中选择满意的方案。
【演示3。
1】帐务处理系统本演示的屏幕共有一下四个按钮:1。
录入凭证――按此按钮后允许你记账.例如购入材料6000元,货款尚未支付,则可在第一行中填好摘要为“购入材料”后,从科目名称中选择“材料”项,从借贷项中选择“借”项,填上金额。
沈阳工程学院C++课程第一次上机
C++程序设计上机指导书
(第一次)
专业计算机科学与技术
班级计B171
学号13
姓名王莹莹
沈阳工程学院信息学院
实践成绩评价说明
1)上机前充分准备实践材料,对上机内容有程序草稿。
(10分)
2)独立完成实践任务,对实践过程非常清晰。
(30分)
3)认真理解知识点,能够与理论知识相结合。
(10分)
4)在机房遵守上机守则,接受实践指导教师的监督与管理。
(20分)
5)认真填写实践指导书,写出实践小结。
(10分)
6)在实践中具备一定的创新思想,能够主动与指导教师探讨。
(5分)
7)加大实践工作量,主动完成实践指导书中的选做题目。
(5分)
8)掌握程序调试的方法,认真完成程序调试工作,使程序能够运行(10分)。
操作系统指导书
《计算机操作系统》 实 验 指 导 书
适用专业:计算机科学与技术 信息与计算机
江南大学物联网工程学院 2015年4月 1
前 言 计算机操作系统(Operating System简称OS)是计算机中最重要的系统软件,也是最活跃的学科之一,是计算机相关本科专业的核心课程。通过本课程的学习使学生掌握操作系统的基本概念、技术、原理,具备一定的从不同层次分析与使用操作系统功能的能力。了解计算机操作系统方面的新技术、新理论与新发展。
本实验指导书,是根据《操作系统》课程教学大纲的要求而编写的,目的是让学生能够进一步了解操作系统的基本概念、原理,通过综合性、验证性和设计性等实验,熟练掌握操作系统的运行机理和各种算法思想,尤其是操作系统的核心功能。同时还希望通过实验进一步提高学生的动手能力和综合运用先修课程的能力。
由于编写仓促,难免有错误和不足之处,恳请读者不吝赐教。 2
目 录 前 言 .................................................................................................................... 1 实验一 进程调度..................................................................................................... 3 实验二 作业调度实验 ............................................................................................. 6 实验三 银行家算法................................................................................................. 9 实验四 存储管理................................................................................................... 13 3 实验一 进程调度 实验学时:4学时 实验类型:设计 实验要求:必修
信息处理技术员上机实验指导书
实验指导书立业概况:立业计算机培训中心是宝鸡文理学院计算机科学系下的独立运营的培训机构,创建于2007年10月,原名计算机系软考辅导班,由计算机科学系青年在职教师组成,以全国计算机技术与软件专业技术资格(水平)考试培训为主。
2008年9月根据事业发展的需要改名为立业计算机培训中心,办公地点并从原来单一的文理老校区培训发展到涵盖文理学院新校区、老校区、宝鸡职业技术学院新校区三个教学点,以各校区所在学生生源为主,兼有社会在职人员,开设班级丰富(晚班、下午班、周末班),学习方式灵活(拥有补课机房),所有课程均在各校区内教室、机房完成,营造良好学习氛围,杜绝社会不良隐患。
雄厚的大学计算机专业师资、过硬实用的计算机技术、全心全意为学员服务的精神、从不降价只争质量的意识使得立业计算机培训中心经历了4年的发展,便跃居宝鸡同行业办公自动化类培训人数第一、通过学员人数第一、学员满意度第一的三个第一!就2011年上半年学员过关率为94.97%!同比增长2个百分点!!在推进素质教育的征途中,我们提炼出“宽严相济,和而不同”的培训理念,正如温家宝总理在哈佛大学演讲中所说,“… 和而不同‟是中国古代思想家提出的伟大思想,和谐而不千篇一律,不同又不彼此冲突;和谐以共生共长,不同以相辅相成”。
如今,立业培训上下一心,坚持“以人为本,以德办学”的思想,致力于推进教育教学改革。
按照“严谨、求实、团结、奋进”的校训,培养“证书+特长+创新”的更多社会应用性人才。
自立业开办以来,秉着对工作敬业、对学员负责的精神,多次荣获陕西省“最佳教学管理单位”、“先进单位”等荣誉称号。
每期赞助各系晚会,为大学生提供了展示自己才华的平台和机会,并多次帮助贫困学生,在各培训班中享有一定盛誉!立业培训特有的六大优势:☺信息处理技术员及办公自动化办学最久最大通过率最高的培训单位!◆————(一直被模仿、从未被超越!)☺宝鸡市唯一一家陕西省授权软考培训机构!☺不断创新的前沿教学技术、始终如一的学员为本理念!☺独家提供学员上机加密狗考试系统!(非截图版)☺谢绝非学员报名、非学员领证、非学员勤工俭学!☺学员成长等级越高,获得惊喜越大……证书简介:信息处理技术员是全国计算机技术与软件专业技术资格(水平)考试,它是原中国计算机软件专业技术资格和水平考试(简称软件考试)的完善与发展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机实验指导书 课程名称 操作系统 主撰人 刘天波 审核人 栾方军
沈阳建筑大学信息学院 2008 年3月 2
课程名称:操作系统 上机学时:16 适用专业:计算机科学与技术 先修课程:C语言
一、上机实验总体目标 操作系统是计算机教学中最重要的环节之一,也是计算机专业学生的一门重要的专业课程。操作系统质量的好坏,直接影响整个计算机系统的性能和用户对计算机的使用。一个精心设计的操作系统能极大地扩充计算机系统的功能,充分发挥系统中各种设备的使用效率,提高系统工作的可靠性。由于操作系统涉及计算机系统中各种软硬件资源的管理,内容比较繁琐,具有很强的实践性。要学好这门课程,必须把理论与实践紧密结合,才能取得较好的学习效果。 培养计算机专业的学生的系统程序设计能力,是操作系统课程的一个非常重要的环节。通过操作系统上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对操作系统课程的理解。使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,具有分析实际操作系统、设计、构造和开发现代操作系统的基本能力。 二、上机实验课时分配 序号 上机实验项目 实验类型 每组人数 上机学时 1 进程调度模拟实验 设计 4 2 银行家算法模拟实验 设计 4 3 存储器管理模拟实验 设计 4 4 文件操作的模拟实验 设计 4
三、上机实验环境 硬件:CPU P4 2.4Hz,内存512MB,硬盘40GB或以上 软件:Windows XP Professional简体中文版,Visual C++ 6.0或Turbo C 2.0 四、参考书 1、《计算机操作系统》,汤小丹、哲屏凤、汤子瀛编,西安电子科技大学出版社,2007年 2、《计算机操作系统教程》,张尧学、史美林编著,清华大学出版社,2000年 3、《操作系统原理》,庞丽萍著,华中理工大学出版社,1988年 3
实验1 进程调度模拟实验 【实验目的】 1.理解进程的概念,熟悉进程的组成; 2.用高级语言编写和调试一个进程调度程序,以加深对进程调度算法的理解。 【实验准备】 1.几种进程调度算法 短进程优先调度算法 高优先权优先调度算法 先来先服务调度算法 基于时间片的轮转调度算法 2.进程的组成 进程控制块(PCB) 程序段 数据段 3.进程的基本状态 就绪W(Wait) 执行R(Run) 阻塞B(Block) 【实验内容】 1.例题 设计一个有 N个进程共行的进程调度程序。 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。就绪进程获得 CPU后都只能运行 4
一个时间片。用已占用CPU时间加1来表示。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。
2.调度算法的流程图
3.部分源程序 5
jingchendiaodu.cpp #include "stdio.h" #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 struct pcb { /* 定义进程控制块PCB */ char name[10]; char state; int super; int ntime; int rtime; struct pcb* link; }*ready=NULL,*p; typedef struct pcb PCB; sort() /* 建立对进程进行优先级排列函数*/ { PCB *first, *second; int insert=0; if((ready==NULL)||((p->super)>(ready->super))) /*优先级最大者,插入队首*/ { p->link=ready; ready=p; } else /* 进程比较优先级,插入适当的位置中*/ { first=ready; second=first->link; while(second!=NULL) { if((p->super)>(second->super)) /*若插入进程比当前进程优先数大,*/ { /*插入到当前进程前面*/ p->link=second; first->link=p; second=NULL; insert=1; } 6
else /* 插入进程优先数最低,则插入到队尾*/ { first=first->link; second=second->link; } } if(insert==0) first->link=p; } } input() /* 建立进程控制块函数*/ { int i,num; clrscr(); /*清屏*/ printf("\n 请输入进程号?"); scanf("%d",&num); for(i=0;i{ printf("\n 进程号No.%d:\n",i); p=getpch(PCB); printf("\n 输入进程名:"); scanf("%s",p->name); printf("\n 输入进程优先数:"); scanf("%d",&p->super); printf("\n 输入进程运行时间:"); scanf("%d",&p->ntime); printf("\n"); p->rtime=0;p->state='w'; p->link=NULL; sort(); /* 调用sort函数*/ } } int space() { int l=0; PCB* pr=ready; while(pr!=NULL) { l++; pr=pr->link; } 7
return(l); } disp(PCB * pr) /*建立进程显示函数,用于显示当前进程*/ { printf("\n qname \t state \t super \t ndtime \t runtime \n"); printf("|%s\t",pr->name); printf("|%c\t",pr->state); printf("|%d\t",pr->super); printf("|%d\t",pr->ntime); printf("|%d\t",pr->rtime); printf("\n"); } check() /* 建立进程查看函数 */ { PCB* pr; printf("\n **** 当前正在运行的进程是:%s",p->name); /*显示当前运行进程*/ disp(p); pr=ready; printf("\n ****当前就绪队列状态为:\n"); /*显示就绪队列状态*/ while(pr!=NULL) { disp(pr); pr=pr->link; } } destroy() /*建立进程撤消函数(进程运行结束,撤消进程)*/ { printf("\n 进程 [%s] 已完成.\n",p->name); free(p); } running() /* 建立进程就绪函数(进程运行时间到,置就绪状态*/ { (p->rtime)++; if(p->rtime==p->ntime) destroy(); /* 调用destroy函数*/ else { 8
(p->super)--; p->state='w'; sort(); /*调用sort函数*/ } } main() /*主函数*/ { int len,h=0; char ch; input(); len=space(); while((len!=0)&&(ready!=NULL)) { ch=getchar(); h++; printf("\n The execute number:%d \n",h); p=ready; ready=p->link; p->link=NULL; p->state='R'; check(); running(); printf("\n 按任一键继续......"); ch=getchar(); } printf("\n\n 进程已经完成.\n"); ch=getchar(); } 4.实验题目 编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。“最高优先数优先”调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。静态优先数是在创建进程时确定的,并在整个进程运行期间不再改变。动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如在进程获得一次CPU后就将其优先数减少1。或者,进程等待的时间超过某一时限时增加其优先数的值,等等。