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编程模式的区别的更多相关文章

  1. Java虚拟机6:内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别

    前言 之前的文章尤其是讲解GC的时候提到了很多的概念,比如内存溢出和内存泄露.并行与并发.Client模式和Server模式.Minor GC和Full GC,本文详细讲解下这些概念的区别. 内存溢出 ...

  2. TCP与UDP在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  3. MXNet设计笔记之:深度学习的编程模式比较

    市面上流行着各式各样的深度学习库,它们风格各异.那么这些函数库的风格在系统优化和用户体验方面又有哪些优势和缺陷呢?本文旨在于比较它们在编程模式方面的差异,讨论这些模式的基本优劣势,以及我们从中可以学到 ...

  4. 【socket】TCP 和 UDP 在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  5. Socket编程模式

    Socket编程模式 本文主要分析了几种Socket编程的模式.主要包括基本的阻塞Socket.非阻塞Socket.I/O多路复用.其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于 ...

  6. Socket编程模式理解与对比

    本文主要分析了几种Socket编程的模式.主要包括基本的阻塞Socket.非阻塞Socket.I/O多路复用.其中,阻塞和非阻塞是相对于套接字来说的,而其他的模式本质上来说是基于Socket的并发模式 ...

  7. TCP与UDP在socket编程中的区别 (网络收集转载)

    http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  ...

  8. TCP 和 UDP 在socket编程中的区别(转)

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  9. java多线程编程模式

    前言 区别于java设计模式,下面介绍的是在多线程场景下,如何设计出合理的思路. 不可变对象模式 场景 1. 对象的变化频率不高 每一次变化就是一次深拷贝,会影响cpu以及gc,如果频繁操作会影响性能 ...

随机推荐

  1. Football

    Football Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2882   Accepted: 1466 Descript ...

  2. Java设计模式11:常用设计模式之代理模式(结构型模式)

    1. Java之代理模式(Proxy Pattern) (1)概述: 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问. 在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象 ...

  3. 接收POst数据流数据

    var data = "";                using (StreamReader readStream = new StreamReader(context.Re ...

  4. linux-cat/less/more/tail

    都可以查看文件 不同点 cat:全部查看不分屏显示 定位到ccc结尾的那行 [root@besttest tmp]# cat yumyum.log|grep ccc$ aaaaaaaaaaaaaaaa ...

  5. CF Anya and Ghosts (贪心)

    Anya and Ghosts time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  6. 在 CentOS 里安装 BIND-UTILS 以使用 DIG、HOST 和 NSLOOKUP

    想用一下 dig 指令来进行域名设置的查询,结果 CentOS 提示没有此指令,然后想当然的以为就需要安装 DIG 软件包,可是查了查才知道实际上 dig.host.nslookup 这几个指令都在 ...

  7. 【转】web常见安全问题以及测试方法

    web安全是我们测试组一直以来作为和性能测试并驾齐驱的两个重点.开发的过程中还需要着重注意,该转义的地方转义:该屏蔽的地方屏蔽,该过滤的地方过滤等等.年底又到了,势必又有大批的发号抽奖之类的活动开发. ...

  8. Servlet & JSP - 转发与重定向的区别

    本文转载自:http://blog.csdn.net/kobejayandy/article/details/13762043 转发 转发的原理,可以通过下图展示: 浏览器的请求发送给组件 1,组件 ...

  9. Quartz Scheduler(2.2.1) - Integration with Spring

    1. maven 依赖: <properties> <spring.version>3.2.3.RELEASE</spring.version> <quart ...

  10. Linux 命令 - sort: 行排序文本文件

    命令格式 sort [OPTION]... [FILE]... 命令参数 -b, --ignore-leading-blanks 忽略开头的空白字符. -d, --dictionary-order 只 ...