1.程序管理系统设计
《结晶岩热力学软件》一书及其配套的PetroPro1.0软件系统是为满足结晶岩岩石学专业的研究生学位课程教学及有关的科研工作需要,配合马鸿文(1993)编著的《结晶岩热力学概论》规划教材而编写的。为使PetroPro1.0软件系统大体上与《结晶岩热力学概论》一书的体系相对应,将本书中所介绍的24个实用程序分为以下八类:
(1)晶体化学主要收入有关矿物晶体化学计算的有关程序,包括矿物晶体化学式与端员组分计算、矿物理论化学组成计算、矿物辩毁袭晶胞参数计算等。
(2)混合计算主要收入了岩石学混合计算的线性规划法和最小二乘法两个程序。这些程序除可用于岩石学混合问题的计算外,还适合于复杂矿物端员组分计算、岩石学相平衡实验产物的物相计算,以及工业岩石制品或矿物材料原料配比的计算等。
(3)温压计算主要收入了适用于各种镁铁质岩体系、硅铝质岩体系的近30种矿物温度计和20余种矿物压力计,其中包括6种计算氧逸度的热力学方法。
(4)固液平衡主要收入了常见矿物-熔体平衡热力学计算的各种方法,适用于计算镁铁质岩浆的液相线温度、液相线矿物及其组成、以及矿物-熔体平衡温度。
(5)结晶模拟主要收入了低压下干的镁铁质岩浆结晶作用模拟、二长石结晶作用模拟、以及低压下Di-An-Ab三元系结晶作用模拟等计算方法。
(6)岩浆性质主要收入了计算多组分硅酸盐熔体的 、 、 、H2O的溶解度、摩尔质量、摩尔体积、密度、粘度等物理参数、花岗岩浆结晶的t- 途径、以及计算岩浆中携兄P2O5(磷灰石)、ZrO2(锆石)溶解度的各种计算方法。
(7)分溶模拟收入了计算硅酸盐熔体中CO2的溶解度、硅酸盐熔体中硫的溶解度及液态硫化物不混溶作用模拟、硅酸盐熔体不混溶作用模拟等热力学方法。后两种计算的热力学模型均为马鸿文等(1993,1998)的最新研究成果。
(8)岩石理化主要收入了计算结晶岩的岩石密度及地震波速、CIPW标准矿物及常用岩石化学参数、以及花岗岩成因类型判别分析等计算方法。
就其内容来说,以上分类不一定很恰当,这里主要考虑方便于实际应用,同时也便于程序管理系统的屏幕菜单设计。
2.实用程序系统结构
按照余尘对已有实用程序功能的分类和便于用户实际应用、便于组织原始数据的原则,PetroPro1.0软件系统的结构设计为树型结构,如下表所示:
结晶岩热力学软件
进程实体=PCB(process control block)+程序段+数据段
PCB,用于描述进程的基本情况和运行状态。创建进程=创建对应进程的PCB;撤销进程=撤销对应的PCB。
PCB是进程存在的唯一标志
1.创建态
2. 就绪态
3. 运行态
4. 阻塞态
5.运行态
除了五拆没状态还有七状态。
重点在于就绪态、运行态、阻塞态之间的转换
1.就绪态的进旅慎纳程被调度后,获得处理机资源,变为运行态。
2.运行态的进程在时间片用完后,让出处理机,转换为就绪态。
3.进程请求某一资源时,资源无法分配或等待某一事件发生,进程由运行态变为阻塞态
4.当阻塞态的进程等待的资源和事件得带满足,进程由阻塞态变为就绪态
1.共享存储:通信进程之间存在可直接访问的共享空间,通过对共享空间进行读写 *** 作实现通信
2.消息传递:以格式化的信息为单位,通过发送消息和接受消息两个原语实现
3.管道通信:共享存储的优化和发展,时一种半双工的通行方式。
1.进程时资源分配和拥有的基本单位;线程自己不拥有资源,但可以访问所属进程所拥有的资源。
2.在没有引入线程的 *** 作系统中进程是调度的基本单位;引入线程后,线程是调度的基本单位。
3.进程切换开销较大;线程切换开销很小。
4.进程的地址空间之间互相独立;同一进程的各线程间共享进程的地址空间。
用户级:线程的创建、撤销、同一进程的线程的切换都要在用户空间中实现。线程阻塞会导致整个进程阻塞。
内核级:线程的创建、撤销、切换都在内核空间实现。系统开销大
1.作业调度(高级调度):内存与辅存之间的调度,每个作业只调度一次,调出一次。
2.内存调度(中级调度):将暂时不能运行的进程调至外存等待。
3.进程调度(低级调度)
作业调度为进程活动做准备,进程调度使进程正常活动起来,中级调度将暂时不用的进程挂起。
1.先来先服务
2.短作业优先
3.优先级调度算法
4.高响应比优先
5. 时间片轮转调度算法
6. 多级反馈队列调度算法
1.空闲让进
2.忙则等待
3.有限等待
4.让权等待
1.单标志法
2.双标志法先检查:违背忙则等待
3.双标志法后检查:违背空闲让进,有限等待
4.皮特森算法:违背让权等待
1.中断屏蔽方法:简单、高效,但不适用于多处理机
2.硬件指令方法:TSL(TestAndSet)指令:原子 *** 作,读出指定标志后,把标志设为真 &&Swap指令:原子 *** 作,交换孝培两个字的内容。
P *** 作可以理解为资源减一,资源不够就加入等待队列
V *** 作可以理解为资源数加一,如果有队列,就将资源分给正在等待的队列
1. 同步问题 :a事件---V-------------------P--->b事件
2. 互斥问题 :P----->互斥事件----->V
为了解决大量分散的同步 *** 作给系统管理带来了麻烦,因此引入了管程的概念。
管程是一种代表共享资源的数据结构,包括对该共享数据结构进行 *** 作
1.生产者-消费者问题
2.读者-写者问题
3.哲学家进餐问题
4.吸烟者问题
定义:多个进程因竞争资源而造成的互相等待的僵局
产生条件:1.互斥 2.不剥夺 3.请求并保持 4.循环等待
死锁的处理:1.死锁预防 2.避免死锁 3.死锁的检测及解除
破坏产生死锁的四个条件任意一个。
银行家算法
通过资源分配图是否产生死锁,然后采取措施解除死锁,包括:1.资源剥夺法 2.撤销进程法 3.进程回退法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)