시스템 이미지

System image

컴퓨팅에서 시스템 이미지는 파일 비휘발성 형식으로 저장된 컴퓨터 시스템의 전체 상태직렬로 복사한 것입니다.시스템을 셧다운하고 나중에 완전히 동일한 상태로 복원할 수 있는 경우 시스템 이미지를 사용할 수 있다고 합니다.이 경우 시스템 이미지를 백업에 사용할 수 있습니다.

최대 절전 모드는 전체 시스템의 RAM 이미지를 사용하는 예입니다.

디스크 이미지

시스템의 모든 상태가 디스크에 쓰여져 있는 경우는, 그 디스크를 다른 파일(대부분의 디스크 클로닝 애플리케이션)에 카피하는 것만으로 시스템이미지를 생성할 수 있습니다.많은 시스템에서는 부트 ROM 등의 비휘발성 메모리 등 디스크나 휘발성 메모리 외부에 정보를 보관할 수 있기 때문에 해당 시스템 내에서 실행되는 디스크 복제 프로그램으로 완전한 시스템 이미지를 생성할 수 없습니다.

이미지 처리

프로세스 이미지는 특정 시점에서의 특정 프로세스 상태의 복사본입니다.휘발성이 없는 시스템 내에서 영속성을 확립하기 위해 자주 사용됩니다.일반적인 예로는 Database Management System(DBMS; 데이터베이스 관리 시스템)이 있습니다.대부분의 DBMS는 데이터베이스 상태를 종료하기 전에 파일에 저장할 수 있습니다(데이터베이스 덤프 참조).데이터베이스 내의 정보를 그대로 유지한 채 나중에 DBMS를 재시작하여 소프트웨어가 정지하지 않은 것처럼 진행할 수 있습니다.다른 예로는 많은 운영 체제의 휴지 상태 기능을 들 수 있습니다.여기서, 모든 RAM 메모리의 상태를 디스크에 격납해, 컴퓨터를 에너지 절약 모드로 한 후, 통상의 동작으로 되돌린다.

일부 에뮬레이터는 에뮬레이트되는 시스템의 이미지를 저장하는 기능을 제공합니다.비디오 게임에서는 이것을 흔히 savestate라고 부릅니다.

하나의 용도는 코드 모빌리티입니다.모바일 에이전트는 상태를 저장한 후 데이터를 다른 머신에 복사하고 거기에서 재시작함으로써 머신 간에 이행할 수 있습니다.

프로그래밍 언어 지원

일부 프로그래밍 언어는 프로그램의 시스템 이미지를 촬영하는 명령을 제공합니다.이것은 보통 Smalltalk(FLEX에서 영감을 받은) 및 Lisp(다른 언어)에서 표준 기능입니다.이러한 언어의 발달은 많은 다른 프로그래밍 언어들과 상당히 다릅니다.예를 들어, Lisp에서 프로그래머는 보통 프로그램을 컴파일하는 read-eval-print 루프를 사용하여 실행 중인 Lisp 구현에 패키지 또는 다른 코드를 로드할 수 있습니다.데이터는 실행 중인 리스프 시스템에 로드됩니다.그런 다음 프로그래머는 미리 컴파일된 맞춤형 코드를 포함한 시스템 이미지를 덤프할 수 있으며 모든 애플리케이션 데이터를 로드할 수도 있습니다.대부분의 경우 이 이미지는 실행 파일이며 다른 기계에서 실행할 수 있습니다.이 시스템 이미지는 실행 가능한 프로그램을 배포하는 형식일 수 있습니다.이 방법은 시작할 때마다 같은 초기화 작업을 반복하는 것을 피하기 위해 리스프, Smalltalk 또는 고유 언어로 주로 구현된 프로그램(TeXEmacs 등)에서 자주 사용됩니다.

마찬가지로 Lisp Machines도 Worlds라고 불리는 Lisp 이미지에서 부팅되었습니다.월드에는 완전한 운영 체제, 애플리케이션 및 데이터가 하나의 파일에 포함되어 있습니다.또한 일부 기본 월드의 변경 사항만 포함하는 증분 월드를 저장할 수도 있습니다.Lisp Machine 운영체제는 세상을 구하기 전에 메모리의 내용을 최적화할 수 있었습니다(더 나은 메모리 레이아웃, 데이터 구조 압축, 데이터 정렬 등).

목적은 다르지만 "시스템 이미지"는 코어 덤프와 구조가 비슷한 경우가 많습니다.

「 」를 참조해 주세요.

외부 링크