SIMMON
SIMMON(Simulation Monitor)은 1960년대 후반 당시 포킵시에 위치했던 IBM 제품 테스트 연구소에서 개발한 사유 소프트웨어 테스트…
SIMMON(Simulation Monitor)은 1960년대 후반 당시 포킵시에 위치했던 IBM 제품 테스트 연구소에서 개발한 사유 소프트웨어 테스트 시스템이다. 이는 당시 새롭게 출시된 IBM 시스템/360 컴퓨터 제품군을 위해 설계되었으며, IBM이 해당 시스템 아키텍처를 위해 개발 중이던 소프트웨어를 테스트하기 위한 도구로 사용되었다. SIMMON은 뉴욕 라이에서 개최된 1968년 IBM SimSymp 심포지엄에서 처음 소개되었다.[1]
SIMMON은 거의 같은 시기에 케임브리지 과학 센터에서 독립적으로 개발되고 있던 IBM CP-40 시스템과 유사한 하이퍼바이저였다. CP-40과의 주요 차이점은 SIMMON이 그 위에서 실행되는 단일 게스트 프로그램을 테스트하기 위해 단일 가상 머신을 지원했다는 점이다. CP-40은 시분할 시스템 작업용으로 다수의 가상 머신을 지원했다. CP-40은 여러 단계를 거쳐 현재의 VM/CMS 운영체제로 발전했다. SIMMON은 수년간 유용한 테스트 도구로 사용되었다.
SIMMON은 대상 게스트 프로그램을 테스트하기 위해 독립적으로 개발된 프로그램(테스트 도구)을 동적으로 포함하도록 설계되었다. SIMMON 커널은 하드웨어(및 게스트)에 대한 제어권을 유지하고 테스트 도구의 호출을 조정했다.
처리 모드
다음 두 가지 작동 모드가 제공되었다:
- 전체 시뮬레이션
- 인터럽트
전체 시뮬레이션 모드
이 모드에서는 게스트 프로그램 내의 각 명령어가 게스트에게 직접 제어권을 넘기지 않고 시뮬레이션되었다. 명령어 집합 시뮬레이터로서, SIMMON은 자신이 실행 중인 아키텍처와 동일한 아키텍처(즉, IBM 시스템/360/370)를 시뮬레이션한다는 점에서 독특했다. 인터럽트 모드(아래 참조)보다 10배 정도 느렸지만, 게스트의 작동을 면밀히 관찰할 수 있게 해주었다. 이는 다양한 분기 추적 테스트 도구에서 사용되는 모드였다.
인터럽트 모드
인터럽트 모드(일명 범프(Bump) 모드)는 게스트 프로그램이 사용자 프로그램 상태에서 실행되도록 제한하고, SIMMON 커널이 모든 하드웨어 인터럽트를 처리하며 게스트가 실행하려고 시도하는 모든 특권 명령어를 시뮬레이션하도록 했다. 이 모드는 예를 들어 테스트 도구가 하드웨어 장치를 시뮬레이션하는 데 사용될 수 있었다.
일부 SIMMON 테스트 도구
다음은 SIMMON과 함께 사용하기 위해 개발된 몇 가지 테스트 도구이다.
ERGENT
(ERror GENeration and Test): 이 테스트 도구는 당시 개발 중이던 IBM의 PCP (Primary Control Program) 운영체제에서 장치 지원 오류 복구를 테스트하기 위해 개발되었다. 이 도구는 새롭고 매우 효율적인 테이블 기반 유한 상태 기계(FSM)를 사용하여 시뮬레이션된 오류를 주입하고, 운영체제가 복구를 시도하기 위해 취해야 할 세부 사양을 따르는지 확인했다.
테이블 기반 FSM 기술은 1972년 10월 미국 특허 [1] 를 획득했다.
MAPPER
MAPPER(동명의 유니시스 제품과 혼동하지 말 것)는 통계적 성능 분석 도구였다. 이 도구는 테스트 중인 프로그램이 인터럽트 모드에서 실행되도록 하면서도, 시스템 타이머를 사용하여 주기적으로 인터럽트를 발생시키는 방식으로 작동했다. 테스트된 프로그램이 인터럽트된 주소들은 기록되었고, 나중에 메모리 주소 전체에 걸친 인터럽트 밀도를 보여주는 맵 형태로 요약 및 도표화되었다. 그 결과물은 테스트 조건에서 가장 빈번하게 사용된 프로그램 부분을 보여주는 핵 신틸레이션 이미지와 유사했다.
HOTSPOTS
HOTSPOTS는 IBM의 MFT 운영체제의 성능 문제 영역을 식별하기 위해 작성된 분기 추적 도구였다. 분기 추적 데이터는 테이프에 기록된 후 요약되었다. 보고서는 각 명령어 시퀀스의 사용 빈도를 포함하여 프로그램 진입점과 종료점이 식별된, 스토리지 덤프와 유사한 목록 형태를 띠었다.
이 데이터들은 메모리 관리 구성 요소가 CPU 자원의 약 20%를 소비하고 있음을 확인해주었으며, 성능 개선을 위한 태스크 포스를 구성하는 근거로 사용되었다.
Stress
특정 테스트 도구는 아니었지만, SIMMON 하에서 실행될 때의 왜곡된 타이밍 관계는 특히 입출력 섹션에서 여러 문제를 발견하게 해주었다. I/O 이벤트를 정규화하고 지연시키는 SIMMON 도구가 배치되지 않으면, 게스트 프로그램은 이러한 이벤트가 비정상적으로 빠르게 발생하는 것처럼 인식했다.
테스트된 프로그램
테스트 대상 프로그램, 즉 이른바 게스트 프로그램은 하드웨어 자체에서 독립적으로 작동할 수 있어야 했다. SIMMON은 테스트 도구를 위한 서비스는 제공했지만, 게스트를 위한 서비스는 제공하지 않았다.
다음은 SIMMON을 사용하여 테스트된 프로그램들이다:
같이 보기
각주
- ↑ Lehman MM (ed) Proc. SimSymp 1968, IBM Res. Div., Yorktown Heights, NY; Nov. 1968, 3 vols.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.