SMP/E
시스템 수정 프로그램/확장(System Modification Program/Extended, SMP/E)는 시스템 수정 프로그램(System Modification Program, SMP)의 독점 버전으로, z/OS 시스템에 소프트웨어 제품 설치를 관리하고 해당 제품의 수정을 추적하도록 설계된 도구이다.[1]:1[2][3][4][5]
SMP/E는 여러 소프트웨어 버전을 관리하고, 패치 및 업데이트(PTF)를 적용하는 데 도움을 주며, 체계적인 테스트와 필요한 경우 이전 상태로의 복구를 용이하게 한다. 또한 실제 설치가 제대로 작동하는지 확인하기 위한 "시험 실행" 유사 설치를 허용하고, 승인된 소프트웨어 업데이트만 이루어지도록 감사 및 보안 기록을 유지하며, z/OS의 모든 소프트웨어 설치에 대한 고도로 발전된 중앙 집중식 제어를 제공한다.
SMP/E 없이 z/OS에 설치되는 소프트웨어 제품을 설계하고 출시할 수는 있지만, 대부분의 메인프레임 관리자는 적어도 중요하지 않은 패키지의 경우 SMP/E 지원 제품을 선호한다. SMP/E를 사용하려면 일반적으로 작업 제어 언어(JCL)에 대한 기본적인 지식이 필요하지만, 대부분의 제품은 샘플 JCL을 제공한다. SMP/E와 관련된 엄격한 소프트웨어 관리 규율은 제품 문서에도 적용되며, IBM 및 기타 공급업체는 SMP/E 작업 프로세스와 정확히 일치하는 표준화된 "프로그램 디렉토리" 설명서를 각 소프트웨어 제품에 대해 제공한다. 예를 들어, 프로그램 디렉토리는 사전 요구사항 및 동시 요구사항에 대한 자세한 정보를 제공한다.
SMP/E를 사용하여 시스템 업데이트를 관리하면 시스템이 일관된 상태를 유지하고 해당 상태에 대한 변경 사항이 제대로 감사되도록 함으로써 시스템 무결성을 보장하는 데 도움이 된다.[6]
역사
IBM은 OS/360 및 OS/VS[7]에 SMP를 도입하여 IEBEDIT[8] 및 IMAPTFLE[9]와 같은 도구를 포함하는 반자동 프로세스를 대체했다. IBM은 이후 3개의 SMP 무료 릴리스를 도입했으며, 특히 SMP3에서 SMP4로의 릴리스 간에 상당한 변경이 있었다.[10] 네 가지 릴리스 모두 분할 데이터 세트(PDS)에 추적 데이터를 저장한다.
IBM은 OS/VS용 SMP/E[11]를 도입했지만, SMP/E 릴리스 2는 OS/VS1을 지원하는 마지막 릴리스이다. SMP/E는 SMP 릴리스 1부터 4까지 사용했던 PDS 대신 VSAM 데이터 세트에 추적 데이터를 저장한다. 원래는 별도의 제품이었지만, SMP/E는 z/OS와 함께 번들로 제공된다.
IBM은 궁극적으로 다른 운영체제에도 유사한 도구를 도입했다. 예를 들어, DOS/360용 Maintain System History Program (MSHP), VM/SP부터 z/VM까지의 가상 머신 서비스 가능성 향상 단계 (VM/SP SES) (현재 VMSES/E) 등이 있다.[12]
개념
모든 IBM 소프트웨어와 대부분의 비IBM 소프트웨어에는 해당 소프트웨어 조각과 릴리스 번호를 식별하는 최소 7자리 FMID(Function Modification ID)가 할당된다. 이 첫 번째 FMID를 기본 FMID라고 한다. 예를 들어, DB2 버전 9의 기본 FMID는 HDB9910이다. 별도로 설치 가능한 기능들도 기본 제품과 어떤 식으로든 관련되는 FMID(종속 FMID라고 함)를 갖는다. – DB2 버전 9의 영어 언어 패널의 종속 FMID는 JDB9910이다.
소프트웨어 패키지는 오브젝트 파일(MOD), 매크로(MAC), 샘플 프로그램(SAMP) 등과 같은 개별 구성 요소인 요소로 구성된다.[1]:p.37
CSI(Consolidated Software Inventory)는 SMP/E가 배포 및 대상 라이브러리의 내용을 추적하는 데 필요한 정보를 포함하는 데이터 세트이다. CSI는 설치된 FMID 및 요소, 최신 업데이트 ID, 관련 라이브러리에 대한 포인터를 식별하는 "메타데이터"를 포함한다.
SYSMOD(System Modification)는 시스템에 대한 모든 수정 사항을 의미한다. 여기에는 다음이 포함된다.[1]:p.38
- 기능 SYSMOD는 새 제품, 버전 또는 릴리스를 설치한다.
- PTF SYSMOD는 보고된 문제에 대한 공식 IBM 수정 사항이다.
- APAR FIXES는 IBM의 덜 공식적인 수정 사항이다.
- USERMOD는 설치별 "종료"와 같은 제품에 대한 사용자 수정 사항이다.
각 SYSMOD에는 고유하게 식별하기 위해 7자리 SYSMOD ID가 할당된다. SYSMOD가 설치될 때 이 ID는 추가되거나 교체되는 요소의 CSI 항목에 기록되며 RMID(replacement module id)라고 불린다.
MCS(Modification Control Statements)라고 불리는 간단한 선언적 언어는 SYSMOD를 식별하고 설치 방법에 대한 정보를 SMP/E에 제공한다. 각 SYSMOD는 APAR 수정 또는 PTF로 식별하고 SYSMOD ID를 제공하며 해당 FMID를 식별하는 등 여러 MCS 문으로 시작된다.[13] :pp.5ff
선행 조건(prereqs)은 두 번째 SYSMOD가 설치되기 전에 설치해야 하는 SYSMOD이다. 공동 조건(coreqs)은 함께 설치되어야 하는 두 개 이상의 SYSMOD로, 다른 SYSMOD 없이는 어떤 SYSMOD도 설치할 수 없다. SYSMOD가 첫 번째 SYSMOD의 기능을 대체하는 경우 해당 SYSMOD를 대체(supersedes 또는 sups)한다. 이 prereq, coreq, sup 정보는 MCS에 제공된다. 필수 체인은 "주어진 SYSMOD의 필수 조건으로 직간접적으로 식별되는 SYSMOD의 시퀀스"이다. 예를 들어, A가 B의 prereq이고 B가 C의 prereq이면, A와 B는 C의 필수 체인이며 C가 설치되기 전에 둘 다 설치되어야 하지만, 반드시 별도의 SMP/E 실행에서 설치될 필요는 없다.[1]:pp.231,226,236,232 필수 체인은 종종 매우 복잡해지며 수백 개의 SYSMOD를 포함할 수 있다.
HOLDDATA는 특정 SYSMOD에 오류가 포함되어 있거나 설치하기 전에 SMP/E 범위 밖에서 수동 처리가 필요함을 나타내는 MCS 문 세트이다.[1]:p.229 사용자는 보류된 SYSMOD를 설치하기 전에 가능하면 문제를 해결하기 위한 조치를 취해야 한다.
SMP/E는 두 가지 유형의 라이브러리를 관리한다. 대상 라이브러리(TLIBS)는 시스템을 실행하는 데 사용되는 실행 코드 및 기타 정보를 포함한다. 원래는 실행 프로그램용 SYS1.LINKLIB, 표준 매크로용 SYS1.MACLIB 등 제한된 수의 대상 라이브러리가 있었지만, 2012년 현재 각 소프트웨어 제품은 일반적으로 자체 대상 라이브러리 세트를 가지고 있다. 배포 라이브러리(DLIBS)는 시스템의 각 요소에 대한 마스터 복사본을 포함한다. 각 제품(FMID)은 일반적으로 SMP/E에 의해서만 사용되는 자체 배포 라이브러리 세트를 가지고 있다. OS/360의 라이브러리는 유닉스의 디렉토리와 달리 일반적으로 한 가지 유형 및 형식의 데이터만 포함한다. 소프트웨어 패키지에는 오브젝트 라이브러리(MOD), ISPF 패널(PNL), 매크로 라이브러리(MAC) 등이 있을 수 있다.
사용
SMP/E는 배치 작업으로 실행되는 단일의 큰 프로그램이다. 일련의 ISPF 패널을 사용하여 사용자 입력을 기반으로 SMP/E 작업 스트림을 대화식으로 구축할 수 있다.[11][14]
일반적인 단계 순서는 각 단계에 사용되는 명령에서 따온 RECEIVE-APPLY-ACCEPT이다.
SMP/E RECEIVE 명령은 SMP 외부 소스의 SYSMOD를 처리한다. 이전에는 IBM에서 대략 매월 배포하는 PUT 테이프였을 수도 있다. 최근에는 인터넷을 통해 다운로드된 SYSMOD 컬렉션일 수도 있다. RECEIVE 프로세스는 MCS를 사용하여 각 SYSMOD에 대한 CSI 항목을 생성하고, 해당 상태를 "RECEIVED"로 표시하며, MCS 정보와 실제 SYSMOD 데이터를 저장한다.
REJECT 명령은 "RECEIVED" 상태의 SYSMOD를 삭제하는 데 사용될 수 있다.
APPLY 명령은 하나 이상의 수신된 SYSMOD를 해당 대상 라이브러리에 설치한다. 적용할 SYSMOD는 다양한 기준에 따라 선택할 수 있다. 예를 들어, 단일 SYSMOD는 SYSMOD ID로 선택할 수 있고, 그룹으로 수신된 모든 SYSMOD는 SOURCEID로 선택할 수 있으며, 수신되었지만 아직 적용되지 않은 모든 SYSMOD를 적용할 수 있다. 지정된 SYSMOD에 대한 필수 체인이 확인되고, 적절한 필수 조건이 없거나, 보류 상태이거나, 대체된 SYSMOD는 오류로 표시되어 설치되지 않는다. 일반적으로 SMP/E는 이러한 오류를 최소화하기 위해 "RECEIVE" 상태의 필수 조건도 자동으로 적용하도록 지시된다. 설치된 SYSMOD는 CSI에서 상태가 "APPLIED"로 변경된다. APPLY CHECK는 실제 설치를 수행하지 않고도 설치할 SYSMOD를 확인하는 데 사용할 수 있다.
RESTORE 명령은 승인되지 않은 적용된 SYSMOD를 제거하는 데 사용될 수 있다.
ACCEPT 명령은 SYSMOD를 배포 라이브러리에 영구적으로 설치하고 CSI에서 상태를 "ACCEPTED"로 표시한다. 일반적으로 ACCEPT는 다음 서비스 APPLY 전에 SYSMOD가 올바르게 작동하는 것으로 확인되면 수행된다. SMP/E에는 CSI를 포함한 모든 설치 라이브러리를 삭제(그리고 설치를 다시 시작)하는 것 외에는 ACCEPT 작업을 취소하는 방법이 없다.
SMP/E 데이터 세트
SMP/E는 크고 복잡한 프로그램이며, 각 릴리스마다 기능과 데이터 세트가 추가된다. 주요 SMP/E 데이터 세트는 다음과 같다.[1][13]
- CSI – 통합 소프트웨어 인벤토리
- CSI에는 SMP/E가 배포 및 대상 라이브러리를 추적하는 데 필요한 모든 정보가 포함되어 있다.
- PTS – PTF 임시 저장소
- PTS 데이터 세트는 수신된 PTF를 보관하는 데 사용된다.
- MTS – 매크로 임시 저장소
- MTS 데이터 세트는 배포 라이브러리에만 존재하는 매크로를 위한 대상 라이브러리로, APPLY 처리 중에 이러한 매크로의 현재 버전을 어셈블리에 사용할 수 있도록 한다.
- STS – 소스 임시 저장소
- STS 데이터 세트는 배포 라이브러리에만 존재하는 소스를 위한 대상 라이브러리로, APPLY 처리 중에 이러한 모듈의 현재 버전을 어셈블리에 사용할 수 있도록 한다.
같이 보기
각주
- ↑ 가 나 다 라 마 바 IBM Corporation (2010). 《SMP/E for z/OS User's Guide》 (PDF).
- ↑ Barbara Klein; Rick Long; Kenneth Ray Blackman; Diane Lynne Goff; Stephen P. Nathan; Moira McFadden Lanyi; Margaret M. Wilson; John Butterweck; Sandra L. Sherrill (2011년 11월 29일). 《An Introduction to IMS: Your Complete Guide to IBM Information Management System》. Pearson Education. 71쪽. ISBN 978-0-13-288700-7.
System Modification Program Extended (SMP/E) is a z/OS tool for managing the installation of software products on a z/OS system and for tracking modifications to those products.
- ↑ Robert R. Moeller (2005년 1월 21일). 《Brink's Modern Internal Auditing》. John Wiley & Sons. 471쪽. ISBN 978-0-471-70926-8.
Utility programs allow systems programmers to make operating system program adjustments easily. IBM's SMP/E (System Modification Program Extended), for example, is used to apply corrections to the MVS operating system.
- ↑ Sam Golub (December 1988). “SMP De-mystified (Part 1)”. 《Technical Support》 (Network and Systems Professionals Association). 2023년 2월 22일에 확인함.
- ↑ Sam Golub (January 1989). “SMP De-mystified (Part 2)”. 《Technical Support》 (Network and Systems Professionals Association). 2023년 2월 22일에 확인함.
- ↑ Sharp, Susan; Mosby, Teresa (1992). 《The Scrubber System》. 《EDPACS》 20. 8–14쪽. doi:10.1080/07366989209451601. ISSN 0736-6981.
- ↑ SMP.
- ↑ 〈The IEBEDIT Program〉 (PDF) Twelf판. 《IBM System/360 Operating System - Utilities》 (PDF). Systems Reference Library. June 1970. 392–402쪽. GC28-6586-11.
- ↑ 〈Chapter 9: IMAPTFLE〉 (PDF) Thi판. 《IBM System/360 Operating System: Service Aids - OS Release 21》 (PDF). Systems Reference Library. March 1972. 219–239쪽. GC28-6719-2.
- ↑ SMP4.
- ↑ 가 나 SMPE.
- ↑ Morton, Dave. “IBM Mainframe Operating Systems: Timeline and Brief Explanation for the IBM System/360 and Beyond” (PDF). 2018년 1월 7일에 원본 문서 (PDF)에서 보존된 문서. 2012년 10월 23일에 확인함.
- ↑ 가 나 IBM Corporation (2010). 《SMP/E for z/OS Reference》 (PDF). 2019년 5월 2일에 원본 문서 (PDF)에서 보존된 문서. 2012년 10월 23일에 확인함.
- ↑ SMPEREF.
출처
SMP
- 《OS/VS System Modification Program (SMP)》 (PDF) Seco판. Systems. September 1974. GC28-0673-1.
SMP4
- 《OS/VS System ModificationProgram (SMP) System Programmer's Guide》 (PDF) Seven판. Systems. September 1980. GC28-0673-6.
SMPE
- 《System Modification Program Extended - User's Guide - Release 6》 (PDF) Twelf판. Systems. April 1992. SC28-1302-11.
SMPEREF
- 《System Modification Program Extended - Reference - Release 8.1》 (PDF) Fourteen판. September 1994. SC28-1107-13.
외부 링크
- 잘못된 파일 링크가 포함된 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- IBM 소프트웨어
- 패키지 관리 시스템
- 소프트웨어 유지 보수
- IBM 메인프레임 운영체제