OPM与ILE编程模式的区别
OPM与ILE编程模式的区别
OPM是传统编程模式,即一个可执行的程序只用一种语言编程;一个可执行程序只有一段程序代码组成;程序之间的调用关系是动态的调用关系。
ILE是多语言开发集成编程模式,即一个可执行程序是用多种语言集成编程,如RPG、CL、COBOL、C、C++等,程序的组成部分是module,module间的调用和连接关系是静态连接。比如,一个可执行rpg程序,可以根据功能划分为多个procedures,又可以根据处理调用关系,把这些procedures组成若干个modules,然后再用crtbndrpg生成一个可执行的程序。
在维护程序代码方面,OPM与ILE模式编程差别就更明显了。以上面说明为例。ILE模式,因为一可执行程序是由多个module组成,如果程序的某个module进行了修改,只用重新编译这个module,然后用updpgm把这个module从新更新到这个程序就可以了。如果用OPM就得把整个程序重新编译。仅仅从这点出发,不能体现ile的优势。因为module是可以让多个也执行程序组合调用的,程序员只要对所关心的程序代码段进行修改和更新就行了。就体现ILE的优势了。另外400的多线程处理只有在module层次才能实现,opm模式不能实现。
问题1):
还是不明白OPM模式!!我平时用编译rpgle时用crtbndrpg,编译cl时用crtbndcl,这是ile的东西吧
答:
我想,你可能只是用ILE的方式生成OPM的程序。比如,一个可执行rpg程序,可以根据功能划分为多个procedures,又可以根据处理调用关系,把这些procedures组成若干个modules,然后再用crtbndrpg生成一个可执行的程序。而不像OPM,一个可执行程序是从头到尾,只写成一个处理串代码。
问题2):
active group是什么啊?
答:
active group是提高程序运行效率的一种手段。比如,为了是某个module长期驻留在物理内存,可以定义active group的运行参数,让其长期驻留在内存,以减少程序块的页进页出,从而提高系统运行效率。
os/400采用统一地址寻址,即物理内存和硬盘地址统一寻址,程序和数据都被系统分为某个尺寸的“页,page”,程序有效运行时,从硬盘调入物理内存,为页进,page in。程序或数据块在物理内存中不再使用,或超出ideal时间,就会从物理内存调入到硬盘,这就是页出,page out。
问题3):
平时我写程序后,可以用编译成模块,然后再将模块编译成PGM,我用的就是ILE?还有服务程序(service moduel)。我应该是在ILE环境中编程的 ,那么OPM是怎么的一个过程?怎样的情况下才用到它?
答:
目前网上,我还没有看到一本创建服务程序的比较好的书或资料。
服务程序可以看我的blog的《创建服务程序三步曲》,passthru.cublog.cn
(参见答1)
原文链接:http://blog.chinaunix.net/uid-20328593-id-1965854.html
OPM与ILE编程模式的区别的更多相关文章
- Java虚拟机6:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别
前言 之前的文章尤其是讲解GC的时候提到了很多的概念,比如内存溢出和内存泄露.并行与并发.Client模式和Server模式.Minor GC和Full GC,本文详细讲解下这些概念的区别. 内存溢出 ...
- TCP与UDP在socket编程中的区别
一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UD ...
- MXNet设计笔记之:深度学习的编程模式比较
市面上流行着各式各样的深度学习库,它们风格各异.那么这些函数库的风格在系统优化和用户体验方面又有哪些优势和缺陷呢?本文旨在于比较它们在编程模式方面的差异,讨论这些模式的基本优劣势,以及我们从中可以学到 ...
- 【socket】TCP 和 UDP 在socket编程中的区别
一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UD ...
- Socket编程模式
Socket编程模式 本文主要分析了几种Socket编程的模式.主要包括基本的阻塞Socket.非阻塞Socket.I/O多路复用.其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于 ...
- Socket编程模式理解与对比
本文主要分析了几种Socket编程的模式.主要包括基本的阻塞Socket.非阻塞Socket.I/O多路复用.其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于Socket的并发模式 ...
- TCP与UDP在socket编程中的区别 (网络收集转载)
http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) ...
- TCP 和 UDP 在socket编程中的区别(转)
一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UD ...
- java多线程编程模式
前言 区别于java设计模式,下面介绍的是在多线程场景下,如何设计出合理的思路. 不可变对象模式 场景 1. 对象的变化频率不高 每一次变化就是一次深拷贝,会影响cpu以及gc,如果频繁操作会影响性能 ...
随机推荐
- oracle存储过程分页
1.首先在oracle中建包体,用于游标返回当前数据记录集 CREATE OR REPLACE PACKAGE pkg_query AS TYPE cur_query IS REF CURSOR; E ...
- XML XmlDocument
1.SelectSingleNode(xPath) xPxth:xml/cam/type 一层一层递进
- Hibernate常见面试题
1.什么是Hibernate的并发机制?怎么去处理并发问题? Hibernate并发机制: a.Hibernate的Session对象是非线程安全的,对于单个请求,单个会话,单个的工作单元(即单个事务 ...
- asp.net微信支付打通发货通知代码
上次遇到微信支付,发货接口的时候,官方的demo也没有提供相应的代码 ,因本人技术有限,百度 google 很久都没有asp.net 版本的,最后只好硬着头皮自己搞,没想到官方文档也是错的. 我这一步 ...
- Spring(3.2.3) - Beans(3): Bean 实例的创建方式
创建一个 Bean 实例对象的方法通常有如下方式: 调用构造器创建 Bean 实例 调用静态工厂方法创建 Bean 实例 调用实例工厂方法创建 Bean 实例 使用构造器创建 Bean 实例 XML ...
- 第一次知道Winform的窗体之间传值怎么写,分享给小白~
之前为了这事,百度了一天也没找到,最终使用了静态变量了. 窗体Form1: private void button1_Click(object sender, EventArgs e) { var f ...
- Java之日期和时间的计算
学习是一个循序渐进的过程,不知道你们有没有这样的感受:有很多学习过的知识在很久没有温习之后就不知不觉地还给老师了.所以最近总结,把那些还给老师的再找回来. 运行图: 时间戳: 运行效果图: 时间日期的 ...
- MYSQL 排行类的相关SQL写法,仅供参考
SELECT * FROM () )) b
- Cocos2d-x优化中多线程并发访问
多线程并发访问在Cocos2d-x引擎中用的不是很多,这主要是因为中整个结构设计没有采用多线程.源自于Objective-C的Ref对象,需要使用AutoreleasePool进行内存管理,Autor ...
- 利用js来实现一些常用的算法
示例代码中的arr指的是给出的数组,s指的是数组的起始坐标0,end指的是数组的最后一个坐标arr.length-1,n指的是要查找的数字 查找某个值: 1.线性法 function findInAr ...