맨위로가기

IBM i

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IBM i는 IBM에서 개발한 미드레인지 컴퓨터 시스템용 운영 체제이다. 1988년 OS/400으로 처음 출시되었으며, 이후 i5/OS, IBM i로 이름이 변경되었다. IBM i는 기술 독립 머신 인터페이스(TIMI)를 통해 하드웨어 추상화를 제공하며, 객체 지향 스토리지 모델, 통합 관계형 데이터베이스(Db2 for i), 다양한 프로그래밍 언어 및 네트워킹 기능을 지원한다. 또한, AIX 애플리케이션을 실행할 수 있는 PASE(Portable Applications Solutions Environment)를 제공하며, 보안 기능과 스토리지 관리를 위한 기능을 갖추고 있다.

더 읽어볼만한 페이지

  • 파워 ISA 운영 체제 - IBM AIX
    IBM의 AIX는 UNIX System V를 기반으로 저널링 파일 시스템을 구현한 최초의 운영 체제로서, 안정성과 확장성을 바탕으로 엔터프라이즈 환경에서 널리 사용되며 가상화, 논리 볼륨 관리 등의 특징을 가진다.
  • AS/400 - IBM 파워 시스템
    IBM 파워 시스템은 IBM의 POWER 마이크로프로세서를 기반으로 하는 서버 및 워크스테이션 제품군이며, AIX, IBM i, Linux 등 다양한 운영 체제를 지원하고 고성능 컴퓨팅 및 엔터프라이즈 환경에 사용된다.
  • AS/400 - IBM 시스템 i
    IBM 시스템 i는 AS/400에서 시작하여 iSeries, System i를 거쳐 Power Systems 플랫폼에서 운영되는 IBM i로 발전해 온 중형 서버 시스템으로, 단일 레벨 스토리지, 오브젝트 기반 아키텍처, 관계형 데이터베이스 통합 설계를 특징으로 한다.
  • IBM의 운영 체제 - IBM AIX
    IBM의 AIX는 UNIX System V를 기반으로 저널링 파일 시스템을 구현한 최초의 운영 체제로서, 안정성과 확장성을 바탕으로 엔터프라이즈 환경에서 널리 사용되며 가상화, 논리 볼륨 관리 등의 특징을 가진다.
  • IBM의 운영 체제 - OS/2
    OS/2는 IBM과 마이크로소프트가 공동 개발한 DOS의 후속 운영 체제로, 초기에는 80286 컴퓨터용으로 설계되었으나 IBM 단독 개발 체제로 전환 후 OS/2 Warp로 성능을 개선했으나 Microsoft Windows에 비해 인기가 낮았고, IBM의 지원 종료 후 제3자 개발을 통해 파생 운영 체제가 출시되기도 했다.
IBM i - [IT 관련 정보]에 관한 문서
기본 정보
IBM i 로고 (2021)
IBM i 로고 (2021)
개발사IBM
출시일1988년 8월 26일
최신 버전7.5
최신 버전 출시일2022년 5월 10일
마케팅 대상미니컴퓨터, 미드레인지 컴퓨터, 엔터프라이즈 서버
소스 모델클로즈드 소스
커널 종류마이크로커널 (SLIC) 및 가상 머신 (TIMI) 설계 철학 공유
지원 플랫폼IBM AS/400, IBM Power Systems
사용자 인터페이스텍스트 기반 사용자 인터페이스
제품군IBM CPF
업데이트 모델PTF (Program Temporary Fixes)
패키지 관리자RPM 및 YUM (오픈 소스 패키지용)
프로그래밍 언어C++
C
PL/MI
Java
어셈블리어
Modula-2
PL/MP
언어영어
라이선스Proprietary (IPLA)
이전 운영체제System Support Program, Control Program Facility
웹사이트IBM i 공식 웹사이트
스크린샷
IBM i 7.1 메인 메뉴 (TN5250 클라이언트 내부에 표시됨)

2. 역사

AS/400의 운영체제였던 OS/400은 1988년에 처음 출시되었다.[14] 2004년에는 i5/OS로,[20] 2008년에는 IBM i로 이름이 변경되었다.[24]

2008년 IBM i 6.1부터는 버전 번호 표기 방식이 AIX 등과 통일되었다.[1] 이전까지는 OS/400, i5/OS와 같이 운영체제 이름과 버전을 함께 표기했다.[1]

버전출시일
OS/400 5.12001년 3월
OS/400 5.22002년 8월
i5/OS 5.32004년 6월
i5/OS 5.42006년 2월
IBM i 6.12008년 3월
IBM i 7.12010년 4월
IBM i 7.22014년 5월
IBM i 7.32016년 4월
IBM i 7.42019년 4월
IBM i 7.52022년 5월


2. 1. 기원 (AS/400과 OS/400)

OS/400은 1985년 12월부터 AS/400 하드웨어 플랫폼과 함께 개발되었다.[9] IBM이 경쟁력 있는 미드레인지 시스템을 갖추지 못한 Fort Knox 프로젝트 실패 이후, 개발이 시작되었다.[10][11] Fort Knox 프로젝트 동안, 로체스터에서 엔지니어들에 의해 스컹크웍스 프로젝트가 시작되었고, System/36 애플리케이션이 System/38 위에서 실행되도록 하는 코드를 개발하는 데 성공했다.[14] Fort Knox가 취소되면서, 이 프로젝트는 System/36과 System/38을 단일 하드웨어 및 소프트웨어 플랫폼으로 대체하는 공식 프로젝트로 발전했다.[9] 이 프로젝트는 ''실버레이크''(미네소타주 로체스터의 실버호수에서 이름을 따옴)로 알려지게 되었다.[12][14][13]

실버레이크용 운영 체제는 코드명 ''XPF''(확장된 CPF)였으며, 원래 CPF를 Fort Knox 하드웨어로 포팅하는 것으로 시작되었다.[9] System/36 애플리케이션 지원 외에도, System/36의 사용자 인터페이스 및 사용 편의성 기능 중 일부가 새로운 운영 체제로 이전되었다.[2]

실버레이크는 1988년 6월에 현장 테스트용으로 제공되었으며, 그해 8월에 공식 발표되었다. 이때 이름은 ''Application System/400''으로 변경되었고, 운영 체제는 ''Operating System/400''으로 명명되었다.[14]

2. 2. PowerPC로의 전환

PowerPC로의 전환도 참조

PowerPC로 이식하면서 TIMI 아래 대부분의 코드를 다시 작성해야 했다. OS/400의 초기 버전은 수평 및 수직 마이크로코드 계층을 System/38에서 상속받았으며, 각각 "수평 라이선스 내부 코드"(HLIC)와 "수직 라이선스 내부 코드"(VLIC)로 이름이 변경되었다.[15] 새로운 하드웨어로 이식하면서 IMPI 명령어 집합과 이를 구현하는 수평 마이크로코드가 PowerPC AS 명령어 집합과 PowerAS 프로세서에서의 구현으로 대체되었다. 이로 인해 VLIC는 IMPI 대신 PowerPC를 대상으로 다시 작성해야 했으며, HLIC에서 이전에 구현된 운영 체제 기능을 다른 곳에서 다시 구현해야 했다.[2] 결과적으로 HLIC와 VLIC는 "시스템 라이선스 내부 코드"(SLIC)라는 단일 계층으로 대체되었다. SLIC는 2백만 줄 이상의 C++(C++) 코드로 객체 지향 스타일로 구현되어 HLIC 코드의 일부와 VLIC 코드의 대부분을 대체했다.[16][17] SLIC를 구현하는 데 필요한 작업량 때문에 IBM 로체스터는 이 프로젝트를 위해 수백 명의 C++ 프로그래머를 고용했으며, 이들은 CISC AS/400 시스템용 VLIC의 새로운 개정판과 병행하여 SLIC 작업을 했다.[2] PowerPC 기반 하드웨어를 지원하는 OS/400의 첫 번째 릴리스는 V3R6이었다.[18][19]

2. 3. 브랜드 변경 (i5/OS, IBM i)

AS/400 제품군은 1990년대와 2000년대에 걸쳐 여러 차례 브랜드가 변경되었다.[15] 2004년 ''eServer i5''로 브랜드를 변경하면서 OS/400은 ''i5/OS''로 이름이 바뀌었는데, 여기서 ''5''는 POWER5 프로세서가 사용됨을 의미한다.[20] i5/OS의 첫 번째 릴리스인 V5R3은 IBM에서 "동일한 운영 체제에 대한 다른 이름"이라고 설명했다.[21]

2006년에 IBM은 AS/400 라인을 ''System i''로 다시 브랜드를 변경했다.[22] 2008년 4월, IBM은 System p 플랫폼과 System i를 통합하여 IBM Power Systems를 만들었다.[23] 이와 함께 i5/OS는 POWER5 프로세서와의 연관성을 없애기 위해 ''IBM i''로 이름이 변경되었다.[24] 당시 운영 체제의 최신 버전 두 가지, 즉 i5/OS V5R4와 V6R1은[25][26] 각각 IBM i 5.4와 6.1로 이름이 변경되었다.[27][28][31][29]

IBM i로 브랜드를 변경하면서 IBM은 운영 체제의 버전 관리 명칭도 변경했다. 이전 릴리스는 V2R1M1과 같은 ''버전, 릴리스, 수정'' 방식을 사용했으나, 6.1부터는 ''버전.릴리스'' 방식으로 바뀌었다.[30] IBM i 7.1부터 IBM은 수정 릴리스 대신 ''기술 업데이트''를 도입했다.[31] 기술 업데이트는 운영 체제의 특정 릴리스에 대한 선택적 PTF 형태로 제공되며, 운영 체제에 새로운 기능이나 하드웨어 지원을 추가한다.[32]

2. 4. 버전 관리 방식 변경

2008년 3월, IBM i 6.1이 출시되면서 버전 번호가 AIX 등과 통일되었다.[1] 이전까지는 OS/400, i5/OS와 같이 운영체제 이름과 버전을 함께 표기하는 방식이었다.[1]

버전출시일
IBM i 6.12008년 3월
IBM i 7.12010년 4월
IBM i 7.22014년 5월
IBM i 7.32016년 4월
IBM i 7.42019년 4월
IBM i 7.52022년 5월


3. 아키텍처

IBM i 운영 체제의 아키텍처 계층과 하드웨어 및 사용자 애플리케이션과의 관계를 보여주는 다이어그램


IBM i는 OS/400으로 처음 출시되었을 때, 하드웨어 종속적인 ''시스템 라이선스 내부 코드''(SLIC)[15][2]와 하드웨어 독립적인 ''확장 제어 프로그램 기능''(XPF)[16][7][33][34]으로 나뉘었다. 이들은 ''기술 독립 머신 인터페이스''(TIMI)라는 하드웨어 추상화 계층에 의해 구분된다. 이후 운영 체제 버전에는 AIX 호환성 계층[9][35]인 ''이식 가능한 애플리케이션 솔루션 환경''(PASE)과 에뮬레이션으로 System/36 SSP 애플리케이션을 실행하는 ''Advanced 36 Machine'' 환경을 포함한 추가 계층이 추가되었다.[2]

IBM은 문서 및 마케팅 자료에서 TIMI, SLIC 및 XPF에 대해 종종 다른 이름을 사용하는데,[36] 예를 들어 IBM i 7.4 설명서는 이를 각각 ''IBM i 머신 인터페이스'', ''IBM i 라이선스 내부 코드'' 및 ''IBM i 운영 체제''라고 언급한다.[37] IBM i는 System/36이나 System/38과 같은 IBM의 과거 범용 비즈니스 시스템(미드레인지 컴퓨터)과의 호환성을 제공하는 서브 시스템을 통합하고 있다.

IBM은 이전의 OS/400을 "턴키" 운영 체제로 설계했는데, 이는 통상적인 동작 중에 거의 오퍼레이터를 필요로 하지 않는 시스템을 의미한다. 예를 들어, IBM i는 DB2 데이터베이스를 내장하고 있어 별도로 설치하거나 유지보수할 필요가 없다. 시스템 관리는 용어가 생기기 전부터 위자드 방식을 채택하고 있다. IBM i는 또한 최적화된 Java를 구현하고 있으며, 하드웨어도 Java에 맞춰 최적화되어 있다.

IBM i 자체는 그래픽 운영 체제가 아니지만, 클라이언트로 접근할 수 있는 제품으로 [http://www-1.ibm.com/servers/eserver/iseries/navigator/ ''iSeries Navigator'']가 있으며, 웹 기반의 그래픽 관리 시스템이다. IBM i는 Power Systems에서 AIX 및 Linux와 공존할 수 있다.

IBM i 프로그램 개발 환경은 본래 라이브러리에 링크한다는 개념 없이 컴파일 시에 링크되지 않았다. 1995년에 IBM은 "ILE"(Integrated Language Environment)라는 패러다임을 도입하여 모듈 개념을 도입했다. 이로 인해 다양한 프로그래밍 언어로 작성된 모듈을 링크하는 것이 가능해졌다.

최근 기능 강화에서는 RESTful API에 대한 지원과 정보 유출을 억제하기 위한 보안 강화 외에도 Node.js, Python, R 언어, Mono (소프트웨어), Git 등의 각종 오픈 소스 소프트웨어를 쉽게 설치하기 위한 기능 강화 등이 이루어지고 있다. 또한, 다른 OS 및 애플리케이션 개발 기반과의 조작성을 공통화하기 위해, 데이터는 EBCDIC뿐만 아니라 UTF-8, 데이터베이스 생성 및 접근은 업계 표준의 SQL, 화면은 5250 에뮬레이터 외에 웹 브라우저에도 대응하며, 개발 환경에는 Eclipse (통합 개발 환경) 및 Visual Studio도 사용할 수 있는 친화성을 가지고 있다.

3. 1. 기술 독립 머신 인터페이스 (TIMI)

IBM i의 기술 독립 머신 인터페이스(TIMI)는 사용자 및 애플리케이션을 기반 하드웨어로부터 격리시킨다. 이러한 격리는 다른 운영 체제의 하드웨어 추상화보다 더 철저하며, 프로세서의 명령어 집합 아키텍처, 주소 공간의 크기, I/O 및 지속성의 세부 사항을 추상화한다.[15] 이는 다음 두 가지 상호 관련된 메커니즘을 통해 수행된다:[2]

  • IBM i용 컴파일러는 직접 네이티브 머신 코드를 생성하지 않고, 대신 TIMI에 의해 정의된 고수준의 중간 표현을 생성한다. 프로그램이 실행될 때, 운영 체제는 TIMI 명령어를 프로세서용 네이티브 머신 코드로 사전 컴파일하여 변환하고, 프로그램의 향후 실행을 위해 생성된 머신 코드를 저장한다. 변환 프로세스가 변경되거나 다른 CPU 명령어 집합이 채택되면, 운영 체제는 소스 코드에서 다시 컴파일할 필요 없이 TIMI 명령어로부터 머신 코드를 투명하게 재생성할 수 있다.
  • TIMI 명령어는 메모리 주소 대신 ''객체''를 대상으로 작동한다. 데이터 파일, 소스 코드, 프로그램 및 할당된 메모리 영역과 같은 IBM i의 모든 데이터는 운영 체제에서 관리하는 객체 내에 캡슐화된다 (Unix의 "모든 것은 파일이다" 모델 참조). IBM i 객체는 고정된 유형을 가지며, 이는 해당 객체에 대해 수행할 수 있는 적용 가능한 연산 집합을 정의한다 (예: ''프로그램'' 객체는 실행할 수 있지만 편집할 수는 없다). 객체 모델은 데이터가 주 기억 장치 또는 보조 기억 장치에 저장되는지 여부를 숨긴다. 대신 운영 체제는 영구 저장소에 대한 변경 사항을 검색한 다음 저장하는 프로세스를 자동으로 처리한다.


TIMI가 제공하는 하드웨어 격리는 IBM이 1995년에 AS/400의 48비트 IMPI 아키텍처를 64비트 RS64 아키텍처로 대체할 수 있게 했다. IMPI 명령어 집합을 사용하는 시스템에서 컴파일된 애플리케이션은 코드 변경, 재컴파일 또는 에뮬레이션 없이 최신 RS64 시스템에서 실행될 수 있었으며, 동시에 해당 애플리케이션이 64비트 주소 지정을 활용할 수 있게 했다.[7]

''Original Machine Interface'' (OMI) 및 ''New Machine Interface'' (NMI) 형식으로 알려진 두 가지 다른 형식의 TIMI 명령어가 있다.[38] OMI 명령어는 본질적으로 System/38 머신 인터페이스 명령어와 동일하며, NMI 명령어는 IBM 컴파일러에서 사용되는 ''W-code'' 중간 표현 형식과 유사한 하위 수준 명령어이다.[2] IBM은 OMI 명령어를 부분적으로 문서화했지만,[39] NMI 명령어는 공식적으로 문서화되지 않았다. OMI 명령어는 원래 AS/400 컴파일러에서 사용되었고, NMI 명령어는 통합 언어 환경 컴파일러에서 사용되었다.[2] PowerPC 포트 과정에서 OMI 형식에 대한 네이티브 지원이 제거되고 OMI 명령어를 NMI 명령어로 변환하는 번역기로 대체되었다.

TIMI 명령어와 네이티브 머신 코드 명령어를 함께 저장하는 것을 ''관찰 가능성''이라고 한다. 2008년, i5/OS V6R1 (이후 IBM i 6.1로 알려짐)의 출시로 TIMI 계층에 여러 변경 사항이 도입되었으며, 이로 인해 고객에게 제공되는 애플리케이션 객체에서 관찰 가능성을 제거한 타사 소프트웨어에 문제가 발생했다.[40]

3. 2. 시스템 라이선스 내부 코드 (SLIC)

SLIC의 초기 프로그램 로드(initial program load) 중인 IBM i


SLIC는 IBM 파워 아키텍처(Power architecture) 상에서 TIMI를 구현하는 코드로 구성된다. 운영 체제 커널과 일반적으로 관련된 대부분의 기능을 포함하는 것 외에도, TIMI 명령어를 기계어로 변환하는 역할을 하며, IBM i의 통합 관계형 데이터베이스와 같이 TIMI를 통해 노출되는 일부 고수준 기능을 구현한다.[2] SLIC는 단일 레벨 스토어(single-level store) 주소 지정 방식을 기반으로 IBM i의 객체 기반 스토리지 모델을 구현하며, 이는 기본 및 보조 스토리지를 구분하지 않고 모든 유형의 스토리지를 단일 가상 주소 공간에서 관리한다.[41] SLIC는 주로 C++로 구현되었으며, OS/400 V3R6 이전 버전에서 사용된 HLIC 및 VLIC 계층을 대체했다.[16]

3. 3. 확장 제어 프로그램 기능 (XPF)

XPF는 운영 체제의 하드웨어 독립적인 구성 요소를 구현하는 코드로 구성되며, TIMI 명령어로 컴파일된다.[16] XPF의 구성 요소에는 사용자 인터페이스, 제어 언어, 데이터 관리 및 쿼리 유틸리티, 개발 도구, 시스템 관리 유틸리티가 포함된다. XPF는 SSP 및 CPF 시스템에서 마이그레이션된 애플리케이션 및 데이터에 대한 하위 호환성 API 및 유틸리티를 제공하는 ''System/36 환경'' 및 ''System/38 환경''도 포함한다.[42] XPF는 IBM 내부에서 사용하는 이름이며, 이름에서 알 수 있듯이 System/38 제어 프로그램 기능이 발전된 것이다.[2] XPF는 주로 PL/MI로 구현되지만, 다른 언어도 사용된다.[43]

3. 4. 이식 가능한 애플리케이션 솔루션 환경 (PASE)

PASE(Portable Applications Solutions Environment)는 AIX 실행 파일이 AIX 커널과 직접 상호 작용하지 않는 사용자 모드에 대한 이진 호환성을 제공하며, 32비트 및 64비트 AIX 응용 프로그램 바이너리 인터페이스를 지원한다.[44] PASE는 스몰토크 포트를 지원하기 위해 OS/400 V4R3 릴리스에 제한적이고 문서화되지 않은 형태로 처음 포함되었으며,[9] V4R5 릴리스 당시 고객에게 처음 발표되었고, 이 시점까지 상당한 추가 기능을 갖추게 되었다.

PASE는 SLIC에 의해 구현된 시스템 호출 인터페이스 상에서 실행되는 AIX 사용자 공간으로 구성된다.[45] 시스템 호출 인터페이스는 PASE와 네이티브 IBM i 애플리케이션 간의 상호 운용성을 허용한다. 예를 들어 PASE 애플리케이션은 통합 데이터베이스에 접근하거나, 네이티브 IBM i 애플리케이션을 호출할 수 있으며, 그 반대의 경우도 가능하다.[46] PASE 생성 중에, ''테라스페이스''라는 새로운 유형의 단일 레벨 스토리지 객체가 운영 체제에 추가되었으며, 이를 통해 각 PASE 프로세스는 64비트 포인터로 주소 지정되는 개인 1TiB 공간을 가질 수 있다.[47] 이는 모든 IBM i 작업(즉, 프로세스)이 일반적으로 동일한 주소 공간을 공유하기 때문에 필요했다.[9] PASE 애플리케이션은 하드웨어 독립적인 TIMI 명령어를 사용하지 않고, 대신 Power 머신 코드로 직접 컴파일된다.

오픈 소스 소프트웨어를 IBM i로 포팅하는 경우, 포팅을 단순화하기 위해 네이티브 IBM i API 대신 일반적으로 PASE를 대상으로 한다.[48] IBM i용 오픈 소스 소프트웨어는 일반적으로 RPM 패키지 관리자 패키지 형식을 사용하여 패키징되고, Yum (소프트웨어) 패키지 관리자로 설치된다.[49][50]

PASE는 IBM i의 네이티브 POSIX 호환 API를 기반으로 구축된 유닉스 쉘 및 관련 유틸리티 구현인 Qshell 환경과는 다르다.[51]

3. 5. Advanced 36 Machine

Advanced 36 머신 환경에서 실행되는 SSP 7.5의 메인 메뉴


1994년에 도입된 Advanced/36 플랫폼은 최신 AS/400 시스템과 거의 동일한 하드웨어를 사용하여 OS/400 SLIC 상에서 에뮬레이션을 통해 수정되지 않은 System/36 애플리케이션과 SSP 운영 체제를 실행했다.[2] 이 기능은 V3R6부터 V4R4까지 OS/400 자체에 통합되어, 운영 체제의 'Advanced 36 머신' 기능을 사용하여 최대 4개의 System/36 "가상 머신" (IBM의 용어 사용)을 실행할 수 있게 했다.[52] V4R5 릴리스에서 지원이 중단되었으며, 이는 IBM이 Advanced/36 제품 라인을 전체적으로 단종한 시기와 일치한다.[53] Advanced 36 머신 기능은 초기 OS/400 릴리스에서 도입되어 현재 IBM i 버전에서도 여전히 지원되는 System/36 환경과는 다르다.

Advanced/36 이전의 System/36 라인은 각 시스템에서 두 개의 서로 다른 프로세서를 사용했다. 즉, 대부분의 SSP 운영 체제와 사용자 코드를 실행하는 MSP(Main Storage Processor)와 핵심 운영 체제 기능과 I/O를 구현하는 "마이크로코드"를 실행하는 CSP(Control Storage Processor)였다. CSP 마이크로코드는 SVC(Supervisor Call) 명령어를 사용하여 MSP에서 호출되었다. Advanced/36에서는 CSP 마이크로코드가 SLIC 내부에 재구현되었다. MSP 에뮬레이터도 SLIC에 내장되었으며, 이는 때때로 ''기술 독립 에뮬레이션 인터페이스''라고 불렸다. 에뮬레이션의 오버헤드에도 불구하고, Advanced/36 시스템은 PowerPC AS 프로세서의 성능 덕분에 대체한 기존 System/36 시스템보다 훨씬 빨랐다.[2]

4. 주요 특징

IBM i는 System/36이나 System/38과 같은 IBM의 과거 범용 비즈니스 시스템(미드레인지 컴퓨터)과의 호환성을 제공하는 서브 시스템을 통합하고 있다.

IBM은 이전의 OS/400을 "턴키" 운영 체제로 설계했다. 즉, 통상적인 동작 중에는 거의 오퍼레이터를 필요로 하지 않는 시스템이다. 예를 들어, IBM i는 DB2 데이터베이스를 내장하고 있는데, 이는 별도로 설치할 필요도 없고 유지보수도 필요하지 않다.

시스템 관리는 용어가 생기기 전부터 위자드 방식을 채택하고 있다. IBM i는 또한 최적화된 Java를 구현하고 있으며, 하드웨어도 Java에 맞춰 최적화되어 있다.

그래픽 운영 체제는 아니지만, 클라이언트로 접근할 수 있는 제품으로 [http://www-1.ibm.com/servers/eserver/iseries/navigator/ ''iSeries Navigator'']가 있으며, 웹 기반의 그래픽 관리 시스템이다.

IBM i는 Power Systems에서 AIX 및 Linux와 공존할 수 있다.

4. 1. 데이터베이스 (Db2 for i)

IBM i는 IBM Db2 for IBM i로 알려진 통합 관계형 데이터베이스를 특징으로 한다.[37] 이 데이터베이스는 비관계형 System/38 데이터베이스에서 진화하여 관계형 모델 및 SQL을 지원하게 되었다.[2] 원래 이름이 없었으며, 단순히 "데이터베이스 지원"으로 설명되었다.[54] 1994년 IBM의 다른 상업용 데이터베이스와 유사한 기능을 나타내기 위해 ''DB2/400''이라는 이름이 붙여졌다.[2] Db2 브랜딩에도 불구하고, Db2 for IBM i는 다른 플랫폼의 Db2와는 완전히 별개의 코드베이스이며, 선택적 제품이 아닌 IBM i의 SLIC 레이어에 긴밀하게 통합되어 있다.[55][56]

IBM i는 통합 데이터베이스에 접근하기 위한 두 가지 메커니즘, 즉 System/38의 데이터베이스 접근 모델을 기반으로 하는 ''네이티브 인터페이스''와 SQL을 제공한다.[2] 네이티브 인터페이스는 스키마 정의에 사용되는 ''데이터 설명 사양''(DDS) 언어와 `OPNQRYF` 명령 또는 `QQQQRY` 쿼리 API로 구성된다.[57] 객체 관계형 데이터베이스와 같은 특정 Db2 for i 기능은 SQL을 필요로 하며 네이티브 인터페이스를 통해 접근할 수 없다.[58] IBM i에는 ''클래식 쿼리 엔진''(CQE) 및 ''SQL 쿼리 엔진''(SQE)으로 알려진 두 개의 별도 쿼리 최적화 도구가 있다.[59] 이들은 쿼리 유형에 따라 적절한 최적화 도구를 선택하는 ''쿼리 디스패처''와 함께 SLIC 내부에 구현된다. 네이티브 인터페이스 및 SQL을 통한 원격 접근은 각각 분산 데이터 관리 아키텍처(DDM) 및 분산 관계형 데이터베이스 아키텍처를 통해 제공된다.[60]

`IBMDB2I`라는 MySQLMariaDB용 스토리지 엔진을 사용하면 해당 데이터베이스용으로 설계된 애플리케이션이 Db2 for i를 백킹 스토어로 사용할 수 있다.[61][62] PostgreSQL, MongoDB 및 Redis를 포함한 다른 오픈 소스 데이터베이스가 IBM i로 이식되었다.[63] 이러한 데이터베이스는 PASE 환경에서 실행되며, 운영 체제의 통합 데이터베이스 기능과는 독립적이다.[64]

4. 2. 네트워킹

IBM i는 독점적인 IBM 시스템 네트워크 아키텍처 외에도 TCP/IP 네트워킹을 지원한다.[65]

IBM i 시스템은 역사적으로 IBM 5250 터미널을 트윈액스 케이블을 사용하여 시스템에 연결하여 접근하고 관리했다. 전용 터미널 하드웨어의 감소로 인해 현대 IBM i 시스템은 일반적으로 5250 터미널 에뮬레이터를 통해 접근한다. IBM은 IBM i용으로 두 가지 터미널 에뮬레이터 제품을 제공한다.[66]

  • IBM i Access Client Solutions는 리눅스, macOS, 윈도우에서 실행되어 5250 에뮬레이션을 제공하는 자바 기반 클라이언트이다.
  • IBM i Access for Web/Mobile은 웹 기반 5250 에뮬레이션을 제공한다.


또한 IBM은 IBM Navigator for i라는 웹 기반 관리 콘솔 및 성능 분석 제품을 제공한다.[67]

4. 3. 프로그래밍 환경

IBM은 IBM i용으로 RPG, 제어 언어, C, C++, Java, EGL, COBOL, 및 REXX를 포함한 다양한 프로그래밍 언어를 제공한다. 이전에는 파스칼, BASIC, PL/I 및 Smalltalk에 대한 컴파일러도 제공되었지만 이후 단종되었다.[68] 통합 언어 환경(ILE)을 통해 ILE 호환 언어(C, C++, COBOL, RPG 및 CL)의 프로그램을 동일한 실행 파일로 바인딩하고 다른 ILE 언어로 작성된 프로시저를 호출할 수 있다.

OS/400 V5R2부터 PASE 내에서 IBM XL 컴파일러 제품군을 사용하여 코드를 컴파일할 수 있게 되면서, AIX 시스템에서 PASE용 코드를 컴파일해야 했던 요구 사항은 제거되었다.[69] 이후, gcc를 포함한 다른 컴파일러들이 PASE로 이식되었다.[70]

IBM i용 특정 개발 도구는 운영 체제 자체에서 실행되며, 소스 편집 유틸리티(SEU) 텍스트 편집기 및 프로그래밍 개발 관리자가 그 예이다. IBM은 또한 개발자 워크스테이션에서 실행되는 이클립스 기반 통합 개발 환경 (IDE)인 IBM Rational Developer for i를 제공한다.[71] 이클립스 기반 IDE 이전에는 IBM은 OS/2에서 실행되는 WorkFrame/2 기반 IDE인 ''CODE/400''과 Microsoft Windows 시스템에서 실행되는 VisualAge 기반 IDE를 제공했다.[72][73]

IBM i는 기본 문자 인코딩으로 EBCDIC을 사용하지만 ASCII, UCS-2 및 UTF-16도 지원한다.

1995년, IBM은 "ILE"(Integrated Language Environment)라는 패러다임을 도입하여 모듈 개념을 도입했다. 이를 통해 다양한 프로그래밍 언어로 작성된 모듈을 링크하는 것이 가능해졌다.

최근에는 RESTful API 지원, 정보 유출 방지를 위한 보안 강화, Node.js, Python, R 언어, Mono (소프트웨어), Git 등 각종 오픈 소스 소프트웨어 설치 기능 강화 등이 이루어지고 있다. 또한, 다른 OS 및 애플리케이션 개발 기반과의 조작성 공통화를 위해 EBCDIC뿐만 아니라 UTF-8, 데이터베이스 생성 및 접근에는 업계 표준 SQL, 화면은 5250 에뮬레이터 외에 웹 브라우저에도 대응하며, 개발 환경에는 Eclipse (통합 개발 환경) 및 Visual Studio도 사용할 수 있는 친화성을 가지고 있다.

4. 4. 스토리지 관리

IBM i에서 디스크 드라이브는 보조 스토리지 풀(ASP)로 그룹화될 수 있다. 이는 스토리지 장치 오류의 영향을 제한하고 복구 시간을 줄이기 위해 데이터를 구성하기 위함이다.[74] 디스크 오류가 발생하면, 실패한 장치를 포함하는 풀의 데이터만 복구하면 된다. ASP는 또한 저널 수신자와 같이 유사한 성능 특성을 가진 객체를 자체 풀에 격리하여 성능을 향상시키는 데 사용될 수 있다.

기본적으로 모든 디스크 드라이브는 풀 1에 할당된다. IBM i 풀의 개념은 유닉스/리눅스의 볼륨 그룹 개념과 유사하다. 그러나 IBM i에서는 모든 디스크 드라이브가 단일 ASP에 할당되는 것이 일반적이다.

4. 5. 보안

IBM i의 보안은 특정 객체에 대해 특정 작업을 수행할 수 있는 권한의 관점에서 정의된다.[75] 권한은 사용자 프로파일, 그룹 프로파일, 또는 모든 사용자(공개 권한)에게 부여될 수 있다. 관련 객체는 권한 목록으로 함께 그룹화될 수 있으며, 권한 목록에 권한을 부여하여 목록의 모든 객체에 대한 권한을 부여할 수 있다.[76]

사용자 프로파일에는 해당 사용자 프로파일에 사용할 수 있는 기본 권한 집합을 결정하는 관련 사용자 클래스가 있다. 권한이 증가하는 순서대로 워크스테이션 사용자, 시스템 운영자, 시스템 프로그래머, 보안 관리자, 보안 책임자의 5가지 표준 사용자 클래스가 있다.[9] IBM i는 각 사용자 클래스에 대한 기본 사용자 프로파일을 제공하며, `QSECOFR`이라는 기본 보안 책임자 사용자 프로파일은 유닉스 계열 운영 체제의 루트 사용자와 가장 유사하다.[77]

IBM i는 운영 체제의 보안 기능이 적용되는 정도를 제어하는 5가지 보안 레벨 중 하나를 사용하도록 설정할 수 있다.[78]

  • 레벨 10: 사용자는 암호 없이 로그인할 수 있으며 시스템에 대한 전체 액세스 권한을 갖는다. 알 수 없는 사용자 이름으로 로그인하면 새 사용자 프로파일이 자동으로 생성된다.
  • 레벨 20: 사용자는 알려진 사용자 프로파일의 사용자 이름과 암호로 로그인해야 하지만, 로그인하면 거의 전체 시스템에 액세스할 수 있다. 사용자 프로파일의 생성 또는 수정은 프로파일 관리에 대한 권한이 부여된 사용자 프로파일로 제한된다. 특정 객체에 액세스하거나 특정 명령을 실행하도록 제한할 수 있는 제한된 액세스 계정을 생성할 수 있다.
  • 레벨 30: 권한이 적용된다. 즉, 사용자는 객체에 대한 권한이 없는 한 객체에 액세스할 수 없다.
  • 레벨 40: 특정 시스템 프로그램 및 MI 명령에 대한 액세스가 제한되어 운영 체제 코드에서만 사용할 수 있다.
  • 레벨 50: 시스템이 TCSEC C2 규정을 준수하는 데 필요한 변경 사항이 포함되어 있으며 보안 감사 저널이 추가된다.


처음 3개의 레벨은 CPF 및 OS/400의 초기 릴리스에서 사용할 수 있는 보안 레벨에 해당한다. 보안 레벨 40은 OS/400 V1R3에 추가되었으며 운영 체제의 기본 보안 레벨이 되었다. 레벨 40을 추가하려면 OS/400의 이전 릴리스에도 있던 기능 주소 지정 모델인 System/38을 제거해야 했다.[9] 보안 레벨 50은 OS/400이 TCSEC C2 보안 인증을 받은 V2R3에 추가되었다.

5. 버전

버전[89]출시일[90]프로그램 지원 종료[91]
V11988-08-261993-05-31
V2R11991-05-241994-06-30
V2R1M11992-03-061994-06-30
V2R21992-12-181995-06-30
V2R31993-12-171996-05-31
V3R11995-06-211998-10-31
V3R21996-06-042000-05-31
V3R61995-12-221998-10-31
V3R71996-11-081999-06-30
V4R11997-08-292000-05-31
V4R21998-02-272000-05-31
V4R31998-09-112001-01-31
V4R41999-05-212001-05-31
V4R52000-07-282002-12-31
V5R12001-05-252005-09-30
V5R22002-08-302007-04-30
V5R32004-06-032009-04-30
V5R42007-04-202013-09-30
6.12008-03-212015-09-30
7.12010-04-232018-04-30
7.22014-11-112021-04-30
7.32016-04-152023-09-30
7.42019-06-21발표 예정
7.52022-05-10발표 예정



브랜드버전출시일프로그램 지원 종료
OS/400V1R1출시 당시 V1 릴리스는 릴리스 1, 2, 3으로 명명되었습니다.[81][82][84] V2R1이 출시되면서 V1R1, V1R2, V1R3으로 소급하여 이름이 변경되었습니다.[83]n1988-08-261993-05-31
V1R1M2수정 레벨 1은 없었습니다.[84]n1988-11-25
V1R21989-10-27
V1R31990-09-28
V2R11991-05-241994-06-30
V2R1M11992-03-06
V2R21992-09-181995-03-31
V2R31993-12-171996-05-31
V3R0M51994-05-041997-05-31
V3R11994-11-251998-10-31
V3R21996-06-212000-05-31
V3R61995-12-221998-10-31
V3R71996-11-081999-06-30
V4R11997-08-292000-05-31
V4R21998-02-272000-05-31
V4R31998-09-112001-01-31
V4R41999-05-212001-05-31
V4R52000-07-282002-07-31
V5R12001-05-252005-09-30
V5R22002-08-302007-04-30
i5/OSV5R32004-06-112009-04-30
i5/OS,
이후 IBM i
V5R4 / 5.42006-02-142013-09-30
V6R1 / 6.12008-03-212015-09-30
IBM i6.1.12009-10-23
7.12010-04-232018-04-30
7.22014-05-022021-04-30
7.32016-04-152023-09-30
7.42019-06-21예정
7.52022-05-10예정


6. 사용자 그룹

IBM i의 발전에 주된 역할을 담당해온 사용자 그룹 중 최대 그룹은 COMMON이다.[92] 주요 기업들이 회원으로 소속된 LUG(The Large User Group)는[93] IBM i의 현재 및 미래 개발에 상당한 영향을 미치고 있다. YIPS(Young i Professionals)는[94] IBM i의 방향에 상당한 영향을 주는 또 다른 그룹의 하나이다.

참조

[1] 웹사이트 IBM i 7.5 and IBM i Portfolio give strong foundation for continuing innovation https://www.ibm.com/[...] IBM 2022-05-03
[2] 서적 Inside the AS/400, Second Edition https://books.google[...] Duke Press
[3] 간행물 Re: Re: MI emulator https://archive.midr[...] 2003-10-08
[4] 웹사이트 Reader Feedback on AS/400 to i Mystery Solved https://www.itjungle[...] 2011-02-21
[5] 웹사이트 Where is IBM i? https://www.itjungle[...] 2020-05-13
[6] 웹사이트 IBM i: A platform for innovators, by innovators https://www.ibm.com/[...] International Business Machines 2020-09-22
[7] 웹사이트 IBM i in 2020: It's Not Just AS/400 https://www.youtube.[...] Fortra 2020-07-16
[8] 웹사이트 IBM i5/OS V5R3 — the next generation of OS/400 https://www-01.ibm.c[...] IBM 2004-05-04
[9] 서적 Fortress Rochester: the Inside Story of the IBM iSeries https://books.google[...] System iNetwork
[10] 서적 The Silverlake Project: Transformation at IBM Oxford University Press
[11] 웹사이트 The brave new world of IBM Rochester https://www.postbull[...] 1992-05-23
[12] 웹사이트 Happy 30th Anniversary, IBM i! https://www.fortra.c[...] 2018-06-21
[13] 웹사이트 Silverlake https://wiki.midrang[...] 2006-08-21
[14] 인터뷰 An Interview with DAVID L. SCHLEICHER https://conservancy.[...] Charles Babbage Institute 2006-01-24
[15] 웹사이트 The IBM AS/400: A technical introduction https://www.scss.tcd[...] 2009-01
[16] 학술지 Lessons learned from the OS/400 OO project https://www.research[...] Association for Computing Machinery (ACM)
[17] 뉴스그룹 RE: Dave McKenzie's UNDELete utility - a LifeSaver! https://archive.midr[...] 2004-09-01
[18] 웹사이트 TFH Flashback: The Joy of V3R6 https://www.itjungle[...] 2007-08-20
[19] 웹사이트 5763-SS1 IBM Operating System/400 (OS/400) Version 3 http://4props.ddns.n[...] IBM
[20] 웹사이트 Introducing IBM eServer i5 & i5/OS https://www.gateway4[...] IBM 2004
[21] 웹사이트 IBM i5/OS V5R3 — the next generation of OS/400 https://www-01.ibm.c[...] ibm.com 2004-05-04
[22] 웹사이트 IBM i Slow to Catch On, But What Does It Mean? https://www.itjungle[...] 2017-10-11
[23] 웹사이트 IBM merges System i and System p server lines https://www.infoworl[...] 2008-04-02
[24] 웹사이트 IBM Introduces the First in a New Generation of Power Systems https://www-03.ibm.c[...] IBM 2008-04-02
[25] 웹사이트 IBM i5/OS V5R4 improves system availability and price performance https://www-01.ibm.c[...] IBM 2006-01-31
[26] 웹사이트 IBM i5/OS V6R1 delivers the next step for efficient, resilient business processing https://www-01.ibm.c[...] IBM 2008-01-29
[27] 웹사이트 IBM Gives i5/OS V5R4 a New Name–i 5.4 https://www.itjungle[...] 2008-09-23
[28] 웹사이트 It's Official: Now We're Power Systems and i for Business https://www.itjungle[...] 2008-04-07
[29] 서적 IBM i 6.1 Technical Overview https://www.redbooks[...] IBM 2009-12
[30] 웹사이트 IBM i: A history in numbers https://seasoft.com/[...] 2019-05-21
[31] 웹사이트 IBM i 7.1 Technical Overview with Technology Refresh Updates https://www.redbooks[...] IBM 2014-12
[32] 웹사이트 IBM i Technology Refresh https://www.ibm.com/[...] 2021-03-05
[33] 웹사이트 DSPHMCINF/DSPSMDTA: Querying the Current Status of Every HMC or SM Straight from the Command Line https://www.ibm.com/[...] IBM 2019-12-18
[34] 웹사이트 Future of Power: IBM Power https://www.slidesha[...] IBM 2013-09-04
[35] 웹사이트 IBM PASE for i https://www.ibm.com/[...] 2020-05-13
[36] 웹사이트 What Is an iSeries? http://www.systemine[...] 2003-09-01
[37] 웹사이트 IBM i 7.4 Documentation https://www.ibm.com/[...] IBM 2019
[38] 웹사이트 A More Complete View of the Machine Interface of IBM i https://www.mcpresso[...] 2013-10-02
[39] 웹사이트 IBM i Machine Interface https://www.ibm.com/[...] IBM 2019
[40] 웹사이트 i5/OS V6R1 Compatibility an Issue for Software Vendors https://www.itjungle[...] 2008-02-26
[41] 웹사이트 Frank Soltis Discusses A Possible Future for Single-Level Storage https://www.itjungle[...] IT Jungle 2020-12-04
[42] 서적 Exploring IBM AS/400 Computers https://books.google[...] Maximum Press
[43] 간행물 UNIX vs AS/400? https://groups.googl[...] 1998-08-21
[44] 웹사이트 Planning for IBM PASE for i https://www.ibm.com/[...] IBM 2019
[45] 웹사이트 What Is IBM i Architecture? Plus an Overview of IBM PASE https://www.zend.com[...] 2019-01-16
[46] 웹사이트 Exploring Open Source on IBM i: The PASE Environment https://www.mcpresso[...] 2018-10-11
[47] 웹사이트 IBM i and Capability Addressing http://mrfunk.info/?[...] 2014-08-04
[48] 웹사이트 PASE Versus ILE: Which Is Best For Open Source? https://www.itjungle[...] 2018-10-22
[49] 웹사이트 Open Source Has Never Tasted So Good! http://ibmsystemsmag[...]
[50] 웹사이트 IBM i Open Source using yum http://ibm.biz/ibmi-[...]
[51] 서적 Qshell for iSeries MC Press 2004-02-01
[52] 서적 AS/400 Advanced 36 General Information for SSP Operating System IBM 1997-11
[53] 웹사이트 Withdrawal of Advanced 36 SSP from AS/400 and Application Program Options http://www.as400.ibm[...] 1999-08-03
[54] 웹사이트 IBM OPERATING SYSTEM/400(TM) LICENSED PROGRAM https://www-01.ibm.c[...] IBM 1988-07-05
[55] 웹사이트 Four DB2 Code Bases? https://perspectives[...] 2017-12
[56] 웹사이트 DB2 database -> does it continue to be platform-specific? (iSeries, LUW, z/OS) https://dba.stackexc[...]
[57] 웹사이트 Moving from OPNQRYF to SQL https://www.ibm.com/[...] IBM 2008-03
[58] 웹사이트 DB2 UDB for AS/400 Object Relational Support https://www.redbooks[...] IBM 2000-02
[59] 웹사이트 SQE and CQE engines https://www.ibm.com/[...]
[60] 논문 Relational database integration in the IBM AS/400
[61] 웹사이트 Using IBM DB2 for i as a Storage Engine of MySQL https://www.redbooks[...] IBM 2009-03
[62] 웹사이트 ibmdb2i https://github.com/z[...] Zend Technologies 2020-10-13
[63] 웹사이트 More Open Source Databases Coming To IBM i https://www.itjungle[...] 2020-06-15
[64] 웹사이트 Man-DB Brings Documentation to IBM i https://www.itjungle[...] 2020-08-12
[65] 웹사이트 TCP/IP https://www.ibm.com/[...] 2020-05-13
[66] 웹사이트 IBM I Access Client Solutions https://www.ibm.com/[...] 2020-05-13
[67] 웹사이트 IBM Navigator for i https://www.ibm.com/[...] 2020-05-13
[68] 웹사이트 eServer iSeries OS/400 PASE https://public.dhe.i[...] IBM 2003
[69] 웹사이트 GCC: Bringing More Open Source Software to IBM i https://www.itjungle[...] 2015-10-14
[70] 웹사이트 IBM Rational Developer for i https://www.ibm.com/[...]
[71] 웹사이트 CODE/400 for OS/2 http://www.software.[...] 2022-03-20
[72] 웹사이트 IBM AS/400 Programming Languages and Application Development Tools Version 3 Release 7 - Enhancements Provide Windows Support, Improved Integration and Additional Capabilities https://www.ibm.com/[...] 1996-10-03
[73] 웹사이트 UCS-2 and its relationship to Unicode (UTF-16) https://www.ibm.com/[...] 2021-03-06
[74] 웹사이트 IBM i ASP https://www.ibm.com/[...] IBM 2018-03-06
[75] 웹사이트 IBM i 7.4 Types of Authority https://www.ibm.com/[...] 2021-07-23
[76] 웹사이트 IBM i 7.4 Authorization lists https://www.ibm.com/[...] 2021-04-14
[77] 웹사이트 IBM i 7.4 PASE Security https://www.ibm.com/[...] 2021-09-08
[78] 웹사이트 IBM i 7.4 Security Levels https://www.ibm.com/[...] 2021-07-23
[79] 웹사이트 OS 400 - Complete History of the IBM OS/400 https://history-comp[...] 2020-05-04
[80] 웹사이트 Release life cycle https://www.ibm.com/[...] 2021-02-25
[81] 웹사이트 IBM AS/400 OPERATING SYSTEM/400 AND RELATED LICENSED PROGRAMS RELEASE 3 https://www-01.ibm.c[...] IBM 1990-08-21
[82] 웹사이트 APPLICATION SYSTEM/400 LICENSED PROGRAMS RELEASE 2 AVAILABILITY https://www-01.ibm.c[...] IBM 1989-09-05
[83] 웹사이트 IBM OPERATING SYSTEM/400 VERSION 2 https://www-01.ibm.c[...] IBM 1991-04-22
[84] 웹사이트 IBM OPERATING SYSTEM/400 (TM) AVAILABILITY https://www-01.ibm.c[...] IBM 1988-11-01
[85] 뉴스 IBM i 7.4およびDb2 Mirror for iを発表 https://www.ibm.com/[...] IBM null
[86] 문서 IBM i Technology Updates https://www.ibm.com/[...]
[87] 문서 IBM i Software lifecycle https://www-01.ibm.c[...]
[88] 문서 IBM i Upgrade planning:Releases https://www-01.ibm.c[...]
[89] 문서 IBM i Technology Updates https://www.ibm.com/[...]
[90] 문서 IBM i Software lifecycle https://www-01.ibm.c[...]
[91] 문서 IBM i Upgrade planning:Releases https://www-01.ibm.c[...]
[92] 웹인용 COMMON http://common.org/ COMMON 2013-11-13
[93] 웹인용 LUG http://www.the-lug.c[...] LUG 2017-02-09
[94] 웹인용 Young i Professionals (YIPS) http://www.youngipro[...] YIPS 2013-11-13



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com