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. Subsequence

    Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...

  2. Android进阶笔记11:ListView篇之ListView显示多种类型的条目(item)

    ListView可以显示多种类型的条目布局,这里写显示两种布局的情况,其他类似. 1. 这是MainActivity,MainActivity的布局就是一个ListView,太简单了这里就不写了,直接 ...

  3. CF Pangram

    Pangram time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  4. GDB基本调试

    调试时gcc -g -Wall -o Hello Hello.c gdb Hello -tui -g: 生成调试信息 -Wall: 编译器警告信息 -W: 警告信息 在调用GDB时,命令行指定-tui ...

  5. 解决MS Office下载网站数据失败的问题

    最近遇到在MS Excel中建立的Web Query在创建完成后过了一段时间(或关闭文件后再次打开文件并刷新数据)出现无法刷新的问题,点击刷新时报错如下: 无法下载您要求的信息. 这是一个很不友好的报 ...

  6. get方法与post方法的使用

    使用get方法获取页面的form内容 新建一个getform.html <html> <head> <title>Using Http Get Method< ...

  7. VS2012生成不依赖运行时不依赖MFC的MFC程序

    转载请注明来源:http://www.cnblogs.com/xuesongshu/ 1.新建MFC或者Win32工程,全部使用默认设置 2.设置工程属性,展开配置属性,转到:常规~MFC的使用,修改 ...

  8. oracle安装分析

    oracle的安装 1.下载Oracle 11g 2.解压两个压缩包到同一目录(内容合并),即"database",然后单击解压目录下的"setup.exe"文 ...

  9. Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器

    最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...

  10. C# 线程--第二线程方法

    概述 上一章节中和大家分享了线程的基础使用方法.在这一章中来和大家分享线程的一些常用方法. 主要包括:线程阻塞,线程终止,线程锁三方面. Thread 的 Sleep 和 Join 方法 Thread ...