西电计算机操作系统课程设计pintos-pro2
- 格式:doc
- 大小:364.00 KB
- 文档页数:5
PROII基础培训教程引言流程模拟是化学工程与工艺领域中至关重要的工具,它允许工程师在设计、操作和优化化工过程时进行详细的预测分析。
ProcessIndustryPractices(PROII)是一种广泛使用的流程模拟软件,它为工程师提供了一个全面的平台,以模拟和分析各种化工过程。
本教程旨在为初学者提供PROII的基础知识,通过系统的学习和实践,使读者能够掌握该软件的基本操作,并能够进行简单的流程模拟。
第一部分:PROII软件概述1.1软件背景ProcessIndustryPractices(PROII)是由AspenTechnology公司开发的一款化工流程模拟软件。
它自1982年推出以来,已经在全球范围内的化工、炼油、石化等行业中得到了广泛的应用。
PROII以其强大的物性数据库、精确的单元操作模型和用户友好的界面而闻名,是化工工程师进行流程模拟和优化的首选工具。
1.2软件功能PROII软件提供了从物料平衡、能量平衡到设备尺寸计算等全方位的模拟功能。
其主要功能包括:物性计算:软件内置了广泛的物性数据,能够计算纯物质和混合物的热力学性质。
单元操作模拟:提供多种单元操作的模型,如反应器、塔器、换热器等,用于模拟实际工艺流程。
流程分析和优化:可以对整个工艺流程进行分析,进行灵敏度分析和优化操作。
数据集成:能够与其他软件如Excel、数据库等进行数据交换,方便数据管理。
1.3软件界面PROII的用户界面设计直观,主要分为菜单栏、工具栏、流程图绘制区、数据输入区和输出窗口。
用户可以通过拖拽方式在流程图绘制区添加单元操作,并通过数据输入区输入相应的参数。
第二部分:PROII基本操作2.1软件启动与新建项目启动PROII软件。
选择“新建项目”选项,输入项目名称和保存位置。
在弹出的对话框中设置单位系统和物性方法。
2.2流程图的绘制使用工具栏中的绘图工具绘制流程图。
添加单元操作:通过菜单或工具栏选择单元操作,拖拽到流程图中。
操作系统课程设计pintos一、教学目标本课程的目标是让学生了解和掌握操作系统的基本原理和概念,通过学习Pintos操作系统,使学生能够理解操作系统的核心机制,包括进程管理、内存管理、文件系统和输入/输出系统等。
在技能方面,学生应能够使用Pintos进行简单的操作系统设计和实现,提升编程能力和系统分析能力。
在情感态度价值观方面,学生应培养对计算机科学和操作系统的兴趣,增强解决实际问题的责任感和使命感。
二、教学内容教学内容将按照Pintos操作系统的结构和功能进行,包括:1. 操作系统的概述和基本概念;2. 进程管理,包括进程的创建、调度和同步;3. 内存管理,包括物理内存管理和虚拟内存管理;4. 文件系统,包括文件和目录的、文件系统的实现;5. 输入/输出系统,包括设备驱动程序和中断处理。
三、教学方法为了激发学生的学习兴趣和主动性,将采用多种教学方法,包括:1. 讲授法,用于讲解操作系统的原理和概念;2. 讨论法,用于讨论操作系统的实现和应用;3. 案例分析法,通过分析具体的操作系统案例,让学生理解操作系统的实际应用;4. 实验法,通过实验操作,让学生亲手实现操作系统的核心机制。
四、教学资源教学资源包括:1. Pintos操作系统的教材和相关参考书;2. 多媒体资料,包括操作系统的教学视频和PPT;3. 实验设备,包括计算机和相关的硬件设备。
这些教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估教学评估将采用多种方式进行,以全面、客观、公正地评价学生的学习成果。
评估方式包括:1. 平时表现,包括课堂参与、提问和讨论等,占总评的20%;2.作业,包括理论和实践作业,占总评的30%;3. 考试,包括期中考试和期末考试,占总评的50%。
考试内容将涵盖操作系统的原理、概念和实验操作。
六、教学安排教学安排将根据课程内容和学生的实际情况进行设计。
本课程计划在一个学期内完成,每周安排2次课时,每次课时1小时。
西电操作系统课程设计《西电操作系统课程设计》——学习与实践的完美结合在西安电子科技大学的操作系统课程设计中,学生们能够通过一系列的学习和实践活动,全面了解和掌握操作系统的基本原理、设计方法和实际应用。
这个课程设计旨在培养学生的实践能力,提高他们对操作系统的理解和应用能力。
学生们在课程设计中将分为几个阶段进行学习和实践。
首先,他们将通过理论课程学习操作系统的基本概念、组成结构和工作原理。
在此基础上,他们还将学习操作系统的设计和实现方法,了解各种算法和数据结构在操作系统中的应用。
这些理论知识将为后面的实践活动打下基础。
其次,学生们将参与到项目实践中,通过团队合作完成一个实际的操作系统项目。
这个项目将要求学生们设计和实现一个简化版的操作系统,并加入一些基本的功能和特性。
在这个过程中,学生们将运用他们所学的理论知识,使用编程语言和工具进行系统开发和调试。
通过这种实践活动,学生们将锻炼他们的编码能力、问题解决能力和团队合作精神。
最后,学生们还将进行操作系统实验,通过模拟实际的操作系统场景,了解和掌握操作系统的功能和性能。
他们将在实验中使用各种工具和技术,观察和分析操作系统的行为和性能,并提出改进措施。
通过这些实验,学生们将深入了解操作系统的各个方面,并培养他们的实际操作和问题解决能力。
在《西电操作系统课程设计》中,学生们通过学习和实践,全面掌握操作系统的理论知识,提高他们的实际应用能力。
这种学习方式结合了理论与实践,使学生们能够真正地理解和应用操作系统的概念和方法。
同时,通过参与项目实践和操作系统实验,学生们还能够提高他们的编码能力、问题解决能力和团队合作精神。
这样的课程设计不仅扩展了学生们的知识面,还培养了他们的实践能力和创新能力,使他们能够更好地应对未来的挑战。
西电软院操作系统课程设计报告姓名:教师:褚华目录实验说明重要提示实验1 系统调用实验2 内核模块实验3 文件系统实验4 设备管理实验说明1、实验做为学习的重要促进手段,是为了深化对理论的理解,锻炼实践动手能力。
2、实验同时也作为考核的手段。
3、实验内容会在课程进行中下达,并且会分次地、部分地被抽查。
4、课程结束时,要求把所有的实验整理成一个完整的电子文档并上交,做为最后成绩的评定依据。
5、如果有兴趣的合适的题目,也可自己选题目。
格式说明1、本文档文件名命名为“学号-姓名”,如“13071000_小王”。
2、留白部分不足的自己调整长度,也可加页(增加内容应在表格内)。
3、每次的实验报告都要在这个文件中(按照实验次序依次)增加,而不是每次一个新的word文件。
4、本文档保存为doc格式(请勿用Wordxx的docx格式)。
重要提示:1、实验正文建议使用小四号或五号宋体。
2、若附加图形,则请直接嵌入到实验手册相应位置。
3、各实验的源程序,请按实验分目录存放,如第一个实验的源程序存放在目录lab1下,第二个实验的源程序存放在目录lab2下等等,依次类推。
可互相讨论,但严禁抄袭网络或同学的实验结果。
实验编号1题目系统调用实验目的为Linux内核增加一个系统调用,并编写用户进程的程序来测试要求该系统调用能够完成以下功能:1、该系统调用有1个int型参数,返回值为int。
2、若参数为偶数,则输出自己学号后四位3、若参数为奇数,则输出自己学号的后五位实验内容1、系统调用的实现2、增加系统调用3、Linux内核的构建报告内容要求(1)实现方法和思路(2)测试及结果报告正文要给linux增加系统调用,可以用修改内核源码并重新编译的方法实现一:基本过程是1、在系统调用表文件中给要增加的一个系统调用的名字2、在系统调用号文件中给要新增的系统调用分配一个系统调用号3、增加系统调用声明4、添加系统调用的实现5、重新编译内核6、编写测试驱动函数,测试系统调用是否添加成功一:在系统调用表文件中增加系统调用的名字二:在系统调用号文件中给要新增的系统调用分配一个系统调用号三:增加系统调用声明四:添加系统调用的实现要为linux内核增加系统调用,首先必须要实现系统的内核调用也就是提供功能的一个函数根据题目要求,当给改系统调用传递int参数为奇数时输出自己学号的后五位,当系统调用接受的参数为偶数时,输出自己学号的后四位所以,系统调用的实现如下可以看到系统调用的实现同基本的C语言没多大差别,只是能使用的库不一样在linux内核中的代码不能使用标准C库,只能使用内核提供的库所以能调用的函数会有不同最后实现代码如下当参数num为偶数时输出2257也就是学号的后四位当参数为奇数时输出12257也就是学号的后四位可以看到输出函数式printk而不是printf,因为在内核中不能使用标准C函数五:编译内核六:测试系统调用测试驱动函数如下测试输出如下由于在系统调用实现时忘记在末尾加换行符了。
PRO/II培训材料之一PRO/II入门编写人Polyup北京2002年10月目录PRO/II简介 (3)PRO/II使用初步 (11)化工流程模拟的步骤 (11)Example1: Cumene Production Flowsheet (11)Example 2: Benzene Flowsheet Simulation (28)精馏塔的初步设计和详细设计 (30)初步设计 (30)详细设计 (39)物性及热力学模型简介 (44)PRO/II简介PRO/II流程模拟软件是美国科学模拟公司在结合了其前身PROCESS和Aspen软件技术的基础上开发出的当今最完善的化工流程模拟系统它已经成为自90年代以来模拟软件的世界标准PRO/II流程模拟系统广泛地应用各种化学化工过程的严格的质量和能量平衡从基本的闪蒸到复杂的反应精馏从石油炼制中的原有的初始预热到后续的乙烯工业聚合物的生产PRO/II都提供了有效的模拟工具使用它可以在计算机上建立与现场装置吻合的数据模型并通过运算模拟装置的稳态运行为工艺开发工程设计以及优化操作提供理论指导PRO/II拥有应用范围很宽的单元操作模块完善的物性数据库强大的热力学物性计算系统友好的图形用户界面它可以用于流程的稳态模拟物性计算设备设计费用估算/经济评价环保评测以及其他工程计算现已广泛用于油/气加工炼油化学化工聚合物精细化工/制药环保等行业使用PRO/II软件可以降低成本和操作费用提高工厂设计质量增加工厂效益和提高产品质量据国外的统计一个炼油厂采用PRO/II软件模拟优化后每桶可额外增加5到50美分的收益PRO/II能做什么PRO/II是一个化工流程的计算机模拟软件它能容易和有效的完成简单或复杂过程的设计因而在工艺开发工程设计优化操作技术改造以及员工培训中能发挥极大的作用工程设计在工程设计中无论是建立一个新厂或是对老厂进行改造PRO/II都可以用来选择方案研究非设计工况的操作及工厂处理原料范围的灵活性工艺设计模拟研究不仅可以避免工厂设备交付前的费用估算错误还可用模拟模型来优化工艺设计同时通过进行一系列的工况研究来确保工厂能在较大范围的操作条件内良好运行即使是在工程设计的最初阶段也可用这个模型来估计工艺条件变化对整个装置性能的影响优化操作对于老厂由PRO/II建立的模型可作为工程技术人员用来改进工厂操作提高产量的产率以及减少能量消耗的有力工具可用模拟的方法来确定操作条件的变化以适应原料产品要求和环境条件的变化该模型可指导工厂的操作以降低费用提高产率这样的例子在一些流程模拟软件应用较好的化工装置可以举出很多技术改造PRO/II也可用模拟研究工厂合理化方案以消除瓶颈问题或采用先进技术改善工厂状况的可行性如采用改进的催化剂新溶剂或新的工艺过程操作单元员工培训通过PRO/II的模拟计算可以增加员工对过程的理解理解设备是在一个什么状况下工作为什么要如此设置工艺条件如何能工作的更好什么时候应该停车等等从而有效地对员工进行培训提高员工技术素质PRO/II 拥有应用范围很宽的单元操作模块常规单元闪蒸 阀压缩机/膨胀机 泵 管线混合器/分流精馏模型简捷模型 严格模型 液液抽提间歇精馏 反应精馏严格计算采用四种算法Inside/out, Enhanced I/O, SURE, CHEMDIST 算法和四种初值估算器可以进行两相/三相精馏计算可处理电解质蒸馏可进行填料塔/板式塔的尺寸计算与标定 可处理热虹吸换热器换热器模型管壳式换热器简单换热器LNG 换热器 可进行区域分析绘制加热/冷却曲线反应器模型转化率反应器 平衡反应器 平推流反应器 连续搅拌反应釜CSTR Gibbs 自由能反应器 间歇反应器反应动力学方程可用FORTRAN 语句直接书写后直接嵌入 内置有转移和甲烷化反应器具有与KBC Profimatics REFSIM, HTRSIM 和FCCSIM 模型的接口聚合物模型可模拟连续搅拌反应釜和平推流反应器聚合物反应器模型是基于动力学反应机理的模型可模拟链式聚合反应自由基阴离子阳离子等缩聚反应Ziegle-Natta 聚合反应 可模拟脱挥器固体模型结晶器/溶解器 逆流倾析器 离心干燥机 旋转过滤机 干燥机 固体分离器 旋风分离器PRO/II拥有完善的物性数据库组分数据库1750多种纯组分电解质数据库原油评价数据计算生成虚拟组分包含有固体组分性质可从分子结构来计算物性可进行多种原油的混合计算基于Van Krevelen方法的聚合物物性数据可以自定义新组分支持用户数据库混合物数据3000多组VLE二元参数300多组LLE二元参数2200多种二元共沸物数据多个专用的物性数据包酒精脱水天然气的三乙二醇脱水来自GPA的酸水包氨处理硫醇二元交互参数数据库Soave-Redlich-Kwong (SRK)Peng-Robinson (PR)Huron-Vidal mixing rule (for SRK & PR)Panagiotopoulos and Reid mixing rule (for SRK and PR)SIMSCI mixing rule (for SRK) BWRSUNIQUACNRTL-8 coefficient formHenry's Law for non-condensibles 混合热Hayden-O'ConnellHexamerPRO/II拥有强大的热力学物性计算系统包括40多种相平衡K 值计算方法20多种焓计算方法可以处理含有固体电解质聚合物体系炼油/油气/石化模型可采用如下热力学计算方法Soave-Redlich-Kwong (SRK)Peng-RobinsonHuron-Vidal mixing rule for (SRK and PR)Kadabi-Danner mixing rule (for SRK)Temperature-dependent Kij'sLee-KeslerLee-Kelser-PloeckerGrayson-Streed Braun K10Ideal library methodsBWRSChao-SeaderCostaldAPI density methodSingle and multifluid Racket densitiesSteam tablesFree-water decant石化/化学模型可采用如下热力学计算方法UNIFAC (VLE,LLE, and VLLE)UNIFAC-FV (free volume)UNIWAALSUNIQUACNRTL-8 coefficient formWilsonVan LaarMargulesRegular solution modelAcid dimerizationHenry's Law for non-condensibles Henry's Law for dilute aqueoussystemsThree-phase equilibrium (VLLE)Heat of mixingHayden-O'ConnellElectrolyte models (OLI and Chen)Advanced Lattice Model (ALM) for polymersFlory-Huggins with Chi for polymersSAFT EOS for polymersPHSC EOS for polymersPRO/II拥有友好的图形用户界面PRO/II中的PROVISION系统更是为用户提供了一个完全交互的基于Windows的图形用户界面用户可以很方便地建立某个单元操作乃至整个工厂的模拟在图形界面下可以很方便地以多种形式浏览数据和生成报表PROVISION集成了许多Microsoft Windows的数据交换标准如OLE使得用户可以快速地将图表和工艺数据传递给其他的Windows应用程序PROVISION具有强有力的可视程序导航易学易用绘制流程图和输入数据灵活报告功能强大在线帮助丰富用不同颜色指导输入能按HTML格式输出报告能查找单元和流股完善的画图功能对物流上标注的温度压力和流速等标志能动态自动更新PRO/II在石油炼制中的主要功能与应用PRO/II模拟石油炼制过程的强大功能是众所周知的它已是国外炼油厂流程模拟的标准软件十多年来国内的工程公司设计院例如BPEC炼油设计院都是在利用PRO/II 来进行炼油厂的流程模拟与设计PRO/II在石油炼制方面的主要功能各种原油评价数据的表征计算各种中间馏分油和最终产品的API ASTM TBP RVP闪点等物性数据根据RON/MON预测油品的调和性质用Inside/Out和SURE算法对精馏塔进行严格的计算可以模拟原油预热常减压蒸馏FCC重整加氢气体装置等多套装置及全厂工艺流程KBC Profimatics重整反应器和加氢反应器模型已经加入到PRO/II单元操作中此外PRO/II还提供与KBC公司的炼油厂反应器模型Profimatics REFSIM HTRSIM FCCSIM 的接口PRO/II在石油炼制方面的应用PRO/II现已可以模拟整个炼厂从原油评价预热到复杂的反应与分离的所有装置和流程典型的工艺流程包括原油预热常减压蒸馏FCC装置重整加氢烷基化异构化装置酸水的汽提分离结焦气体装置润滑油系统Lubes工艺PRO/II在炼油厂可广泛应用于工厂设计工艺方案比较老装置改造开车指导可行性研究脱瓶颈职工培训等领域PRO/II的推广使用可以达到优化生产装置降低生产成本和操作费用节能降耗等目的PRO/II使用初步化工流程模拟的步骤准备画工艺流程定义组分选择合适的热力学计算方法定义进料物流参数定义工艺条件模拟运行分析与报表Example1: Cumene Production FlowsheetObjects:1 熟悉PRO/II软件的数据输入2 熟悉报表的生成3 熟悉敏感性分析Use the Soave-Redlich-Kwong Property Method$ Generated by PRO/II Keyword Generation System <version 5.6>$ Generated on: Wed Jul 17 17:08:35 2002TITLESEQUENCE SIMSCICOMPONENT DATALIBID 1,BENZENE/2,PROPENE/3,CUMENETHERMODYNAMIC DATAMETHOD SYSTEM=SRK, SET=SRK01, DEFAULTSTREAM DATAPROPERTY STREAM=FEED, TEMPERATURE=220, PRESSURE=36, PHASE=M, & COMPOSITION(M,LBM/H)=1,40/2,40RXDATARXSET ID=CUMENE_REAC, NAME=BENZENE TO CUMENEREACTION ID=REACTION1STOICHIOMETRY 1,-1/2,-1/3,1UNIT OPERATIONSCONREACTOR UID=REACTORFEED FEED,RECYCLEPRODUCT M=REAC-OUTOPERATION ADIABATICRXCALCULATION MODEL=STOICRXSTOIC RXSET=CUMENE_REACREACTION REACTION1BASE COMPONENT=2CONVERSION 0.9HX UID=COOLHOT FEED=REAC-OUT, M=COOL-OUT, DP=0.1OPER HTEMP=130FLASH UID=FLASHFEED COOL-OUTPRODUCT W=PRODUCT, V=RECYCLEADIABATIC PRESSURE=14.696ENDCONVERSION C UMENE1 0.90000 0.905712 0.91000 0.905713 0.92000 0.905714 0.93000 0.905715 0.94000 0.905726 0.95000 0.905717 0.96000 0.923088 0.97000 0.941759 0.98000 0.9607810 0.99000 0.9802011 1.0000 1.0000Example 2: Benzene Flowsheet Simulation精馏塔的初步设计和详细设计初步设计$ Generated by PRO/II Keyword Generation System <version 5.6> $ Generated on: Wed Jul 17 21:08:52 2002 TITLESEQUENCE SIMSCI COMPONENT DATA LIBID 1,PROPANE,,C3/2,IBUTANE,,IC4/3,BUTANE,,NC4/4,IPENTANE,,IC5/ & 5,PENTANE,,NC5/6,HEXANE,,NC6 THERMODYNAMIC DATAMETHOD SYSTEM=PR, SET=PR01, DEFAULT STREAM DATAPROPERTY STREAM=FEED, PRESSURE=64.662, PHASE=L, & COMPOSITION(M,LBM/H)=1,5/2,10/3,30/4,20/5,15/6,20 UNIT OPERATIONS SHORTCUT UID=T1 FEED FEEDPRODUCT STREAM=S2, PRESSURE(ATM)=4.4, &PERCENT =45 PRODUCT STREAM=S3, PRESSURE(ATM)=4.4 SPEC STREAM=S2, COMP=3, FRACTION, V ALUE=0.6613 SPEC STREAM=S2, COMP=4, FRACTION, V ALUE=0.005 CONDENSER TYPE=BUBBLE EV ALUATE MODEL=CONVENTIONAL,& TRIAL=40, KEYL=3, KEYH=4, RRMIN=1.8 END详细设计物性及热力学模型简介Correct choice of physical property models and accurate physical propertydata are essential for obtaining accurate simulation resultsProblem: Acetone RecoveryFeed : 5000 lbmol/hr, 65 C, 1 atm 10 mol% acetone, 90 mol% water Design specifications: 99.5% acetone recovered. ? the stages of the column$ ACETONE.INP$ Generated by PRO/II Keyword Generation System <version 5.6> $ Generated on: Thu Jul 18 00:43:36 2002 TITLEDIMENSION METRIC, PRES=ATM, STDTEMP=0, STDPRES=1 SEQUENCE SIMSCI CALCULATION RVPBASIS=APIN, TVP=37.778 COMPONENT DATA LIBID 1,ACETONE/2,H2O THERMODYNAMIC DATA METHOD SYSTEM=IDEAL, SET=IDEA01 METHOD SYSTEM(VLLE)=NRTL, SET=NRTL01 METHOD SYSTEM(VLLE)=UNIF, SET=UNIF01METHOD SYSTEM(VLLE)=PR, SET=PR01, DEFAULT STREAM DATAPROPERTY STREAM=S1, TEMPERATURE=65, PRESSURE=1, PHASE=M, & RATE(M)=5000, COMPOSITION(M)=1,10/2,90 UNIT OPERATIONS SHORTCUT UID=T1 FEED S1 PRODUCT STREAM=S2, & PERCENT =45 PRODUCT STREAM=S3 SPEC STREAM=S2, COMP=1, RATE, V ALUE=497.5 SPEC STREAM=S2, COMP=2, RATE, V ALUE=22.5 CONDENSER TYPE=BUBBLE EV ALUATE MODEL=CONVENTIONAL,& TRIAL=40, KEYL=1, KEYH=2, RRMIN=1.2 METHOD SET=IDEA01 END。
西安电子科技大学
操作系统课程设计
(2016年度)
实
验
报
告
实验名称:Priority Scheduling 班级:
姓名:
学号:
一、实验内容
为Pintos建立优先级调度机制,并确保任何时刻CPU上运行的都是最高优先级线程。
二、分析及设计
原始Pintos系统中对于线程的调度,没有考虑优先级问题,采用的是最为简单的FCFS策略。
而默认的优先级顺序为31,那么就可以在起始时得到一个优先级,并在执行过程中通过thread_set_priority( )函数修改优先级。
在新的线程创建后,可以加入一个比较函数,如果新的线程优先级高,则让出CPU,利用插入排序list_insert_ordered()函数将当前线程按优先级顺序插入到等待的队列中,如果当前优先级被降低,则让出CPU;如果优先级提高,则继续运行。
如果遇到因为信号量进程被阻塞时,则吧最高优先级的线程放入到队列中。
如果拥有线程的锁不满足当前的条件,则要释放掉锁,当满足了条件后,优先级最高的线程应该优先获得锁。
调用关系:
三、详细实现
1.在thread_create( )函数中添加比较函数
2.修改init_thread()函数,将ready-list采用插入排序的方式处理。
3.修改thread_yield ()函数,加入对ready队列的排序功能,实现插入排序。
4.修改thread_unblock()函数,如果唤醒的线程优先级顺序高,则当前程序放弃CPU。
5.修改thread_set_priority( )函数,如果锁的占用为空闲,或者新的线程的优先级要大于原来的优先级,则新的优先级赋给当前的进程,正在运行的让出CPU。
6.如果涉及多个线程等待信号量的问题,则当满足条件时,拥有最高优先级的线程应被优先唤醒进入ready-list。
修改sema_down()函数,加入插入排序的功能。
7.同6一样修改sema_up()函数,对等待队列进行排序。
8.在cond_signal()函数中修改,改为优先级队列
9.添加比较函数cond_sema_cmp_priority()
四、实验结果
通过实验,基本完成实验内容,结果如图:
五、心得体会
在实验中,能够通过亲自设计修改,让系统对线程进行不同的修改和占用CPU,通过设定优先级,使系统的处理效率更高,对pintos修改实现优先级调度机制,让系统总是让最高优先
级的线程进行。