GEM (소프트웨어)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GEM은 GSX(Graphics System Extension)를 기반으로 개발된 GUI(Graphical User Interface)로, CP/M, DR DOS, MS-DOS 등 다양한 운영체제에서 실행되었다. GEM은 1980년대 중반에 처음 소개되었으며, 초기에는 매킨토시와 유사한 인터페이스를 제공하며 VDI, AES, 데스크톱 세 가지 주요 구성 요소로 이루어져 있다. 이후 아타리 ST 컴퓨터에서 널리 사용되었으며, OpenGEM, FreeGEM과 같은 오픈 소스 형태로 현재까지 개발이 이어지고 있다.
더 읽어볼만한 페이지
- 윈도 시스템 - 파일 탐색기
파일 탐색기는 윈도우 운영체제에서 파일, 폴더 등을 관리하는 시스템 유틸리티로, 윈도우 95부터 시작하여 리본 인터페이스, 다크 모드, 탭 기능 추가 등 지속적인 개선을 거쳐 사용자 편의성을 높여왔다. - 디지털 리서치 소프트웨어 - CP/M
CP/M은 게리 킬달이 개발한 8비트 마이크로컴퓨터용 운영체제로, 플로피 디스크 기반의 다양한 하드웨어 플랫폼에서 작동하며, 뛰어난 이식성과 방대한 소프트웨어 라이브러리를 바탕으로 1980년대 초반 널리 사용되었으나, MS-DOS의 부상으로 시장 점유율을 잃었지만 MS-DOS와 초기 윈도우 운영체제에 영향을 미쳤다. - 디지털 리서치 소프트웨어 - DR-DOS
DR-DOS는 디지털 리서치가 1988년 5월에 처음 발표한 디스크 운영 체제로, MS-DOS와 경쟁하며 다양한 기능과 개선된 메모리 관리 기능을 제공했고 여러 차례 소유권 이전과 버전 업데이트를 거쳐 현재는 DRDOS, Inc.에서 임베디드 시스템용으로 판매되고 있다. - 자유 윈도 시스템 - X 윈도 시스템
X 윈도 시스템은 네트워크 기반 분산형 윈도 시스템으로, 다양한 운영체제에서 GUI 환경을 제공하며 클라이언트-서버 모델 기반의 네트워크 투명성을 특징으로 한다. - 자유 윈도 시스템 - XFree86
XFree86은 유닉스 계열 운영 체제에서 PC 호환 그래픽 하드웨어를 지원하는 X 윈도 시스템의 자유 소프트웨어 구현체였으나, 개발 방식 및 라이선스 문제로 X.Org 서버로 대체되었고 2011년에 프로젝트가 중단되었다.
GEM (소프트웨어) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
개발자 | 디지털 리서치 리 제이 로렌젠 (Lee Jay Lorenzen) |
출시일 | 1985년 2월 28일 |
최신 버전 | GEM/3 3.11 |
최신 버전 출시일 | 1988년 11월 3일 |
운영 체제 | MS-DOS Concurrent DOS FlexOS CP/M-68K GEMDOS TOS |
플랫폼 | Intel 8088 Motorola 68000 |
장르 | 윈도우 시스템 |
라이선스 | GPL-2.0-only |
웹사이트 | www.deltasoft.com |
2. 역사
GEM은 1984년 말에 등장한 GSX(Graphics System Extension)를 전신으로 한다. GSX는 돈 하이켈(Don Heikkila)이 이끄는 팀이 개발했으며, 제록스 PARC 출신의 리 제이 로렌젠(Lee Jay Lorenzen)이 코드 상당 부분을 작성했다. GSX는 1970년대 후반 제안된 GKS 그래픽 표준의 DRI 구현이었다. GSX의 목적은 DRI가 CP/M-80, Concurrent CP/M, CP/M-86, MS-DOS (NEC APC-III) 등 다양한 8비트 및 16비트 플랫폼에서 그래픽 프로그램을 작성할 수 있도록 하는 것이었다.
GSX는 GDOS(Graphics Device Operating System)와 GIOS(Graphics Input/Output System) 두 부분으로 구성되었다. GDOS는 GKS 드로잉을 처리하는 루틴 모음이었고, GIOS는 기본 하드웨어를 사용하여 출력을 생성했다.
이후 GSX는 GEM으로 발전하였다. GEM은 CP/M 및 DR DOS에서 실행되는 GUI로, MS-DOS와 초기 Windows의 관계와 유사하다. 겉모습은 Mac OS를 의식하여 제작되어 유사하다고 한다.
GEM에서 GSX는 기본 그래픽과 그리기를 담당하는 '''GEM VDI''' (가상 장치 인터페이스)가 되었다. VDI는 여러 개의 서체를 사용할 수 있는 기능을 추가했으며, 이전의 벡터 그래픽만 지원하던 GKS 기반 그리기 명령에 래스터 그래픽 그리기 명령을 추가했다. 또한 VDI는 윈도우 사용에 중요한 추가 기능인 여러 개의 뷰포트를 추가했다.
'''GEM AES''' (응용 프로그램 환경 서비스)는 창 관리 및 UI 요소를 제공했으며, '''GEM 데스크톱'''은 두 라이브러리를 결합하여 GUI를 제공했다.
GEM의 68000 버전 개발은 1984년 9월, 아타리가 "몬터레이 그룹"이라는 팀을 디지털 리서치에 보내 GEM을 이식하는 작업을 시작하면서 시작되었다. 원래는 CP/M-68K위에서 작동을 할 예정이였으나, GEM을 다른 하드웨어 플랫폼으로 이식하기 위한 DOS와 유사한 운영체제인 GEMDOS(원래 GEM DOS로 작성되었으며 "프로젝트 제이슨"이라고도 불렸다)도 제공했다. GEMDOS는 8086 및 68000 프로세서에서 사용할 수 있었으며, 애플 리사 2/5와 모토로라 VME/10 개발 시스템에 적용되었다. 아타리는 1985년 1월 기존 CP/M-68K 코드를 포기하고 대신 DRI GEMDOS를 아타리 ST 플랫폼으로 이식하여 TOS라고 부르기로 결정했다.
아타리가 68000 버전 개발의 대부분을 제공했기 때문에, 애플-DRI 소송은 아타리 버전의 GEM에는 적용되지 않았고, 맥(Mac)과 유사한 UI를 유지할 수 있었다.
1985년부터 1992년까지 새로운 ST 라인이 출시될 때마다 새로운 버전의 TOS가 출시되었다. 1992년 아타리는 마지막 컴퓨터 시스템인 팔콘030과 함께 TOS 4, 즉 MultiTOS를 출시했다. MiNT와 결합된 TOS 4는 GEM에서 완전한 멀티태스킹 지원을 가능하게 했다.
칼데라는 1996년 7월 23일 노벨로부터 남은 디지털 리서치 자산을 인수하면서, 초기에는 모바일 애플리케이션에서 OpenDOS의 작은 사용자 인터페이스를 위해 GEM과 ViewMAX 기술을 활용할 계획이었다. 이는 ''Caldera View''로 알려졌지만, 칼데라 영국이 DR-WebSpyder와 GROW를 선호하여 이 계획은 포기되었다. 칼데라 씬 클라이언트(이후 리네오로 변경)는 1999년 4월 GNU GPL-2.0-only 조건으로 GEM 및 GEM XM의 소스 코드를 공개했다. PC용 GEM 개발은 FreeGEM 및 OpenGEM으로 이어졌다.
이후 GEM의 무료 버전인 '''FreeGEM'''과 '''OpenGEM''' 등이 등장하여 현재도 입수할 수 있다.
'''OpenGEM'''은 DOS용 비 멀티태스킹 16비트 GUI이다. FreeGEM 배포판을 확장한 것으로, 오리지널 GEM의 기능을 포함하고 있다.
GEM의 소스 코드를 소유하고 있던 칼데라 씬 클라이언트는 1999년 4월에 GEM의 소스 코드를 GNU GPL 하에 릴리스했다.[2] OpenGEM은 FreeGEM 개발자 팀과 협력하여 Shane Martin Coughlan에 의해 GPL을 따르는 자유 소프트웨어로 개발되었다.
OpenGEM은 2008년부터 활발한 개발이 이루어지지 않고 있지만, 기능을 완비하고 향후 서드파티 개발과 확장을 위한 SDK를 포함하는 기본적인 GUI를 갖추고 있다.
2. 1. GSX (Graphics System Extension)
GEM의 전신은 1984년 말에 등장한 GSX(Graphics System Extension)였다. GSX는 돈 하이켈이 이끄는 팀이 개발했으며, 제록스 PARC 출신의 리 제이 로렌젠이 코드 상당 부분을 작성했다. GSX는 1970년대 후반 제안된 GKS 그래픽 표준의 DRI 구현이었다. GSX의 목적은 DRI가 CP/M-80, Concurrent CP/M, CP/M-86, MS-DOS (NEC APC-III) 등 다양한 8비트 및 16비트 플랫폼에서 그래픽 프로그램을 작성할 수 있도록 하는 것이었다. 당시 시스템 간 그래픽 하드웨어 및 개념 차이가 컸기 때문에 이는 상당한 포팅 노력이 필요했다.GSX는 GDOS(Graphics Device Operating System)와 GIOS(Graphics Input/Output System) 두 부분으로 구성되었다. GDOS는 GKS 드로잉을 처리하는 루틴 모음이었고, GIOS는 기본 하드웨어를 사용하여 출력을 생성했다. 이는 CP/M이 머신 독립적인 BDOS(Basic Disk Operating System)와 머신 특정 BIOS(Basic Input/Output System)로 나뉜 것을 본뜬 것이다.
2. 1. 1. 8비트 장치 드라이버
GSX는 일반적인 드로잉 작업을 위한 루틴 모음(GDOS)과 실제 출력을 처리하는 장치 드라이버(GIOS)로 구성되었다. GDOS는 GKS 드로잉을 처리하고, GIOS는 기본 하드웨어를 사용하여 출력을 생성했다. 다음은 GSX를 지원하는 8비트 장치 드라이버 목록이다.드라이버 이름 | 장치 설명 |
---|---|
DDMODE0 | 암스트래드 CPC 화면 (모드 0) |
DDMODE1 | 암스트래드 CPC 화면 (모드 1) |
DDMODE2 | 암스트래드 CPC 화면 (모드 2) |
DDSCREEN | 암스트래드 PCW 화면 |
DDBBC0 | BBC 마이크로 화면 (모드 0) |
DDBBC1 | BBC 마이크로 화면 (모드 1) |
DDGDC, DDNCRDMV | NEC μPD7220 |
DDVRET | VT100 + 레트로 그래픽스 GEN.II (일명 4027/Tektronix 4010) |
DDTS803 | 텔레비디오 화면 |
DDHP26XX | HP 2648 및 2627 터미널 |
DDQX10 | QX-10 화면 |
DDFXLR8 | 엡손 저해상도, 8비트 |
DDFXHR8 | 엡손 고해상도, 8비트 |
DDFXLR7 | 엡손 및 엡손 호환 프린터 |
DDCITOLR | C. 이토 8510A 저해상도 |
DDCITOH | C. 이토 8510A |
DD-DMP1 | 암스트래드 DMP1 프린터 (일명 세이코샤 GP500M-2) |
DDSHINWA | 신와 공업 메커니즘을 사용하는 프린터 |
DDHP7470, DD7470 | 휴렛 팩커드 HP 7470 및 호환 펜 플로터, HP-GL/2 |
DD7220 | 휴렛 팩커드 HP 7220, HP-GL |
DDGEN2 | 레트로 그래픽스 GEN.II (Ratfor 소스 코드 in 프로그래머 가이드) |
DDHI3M | 휴스턴 인스트루먼트 HiPlot DMP |
DDHI7M | 휴스턴 인스트루먼트 HiPlot DMP |
DDMX80 | 엡손 MX-80 + Graftrax Plus |
DDESP | 일렉트릭 스튜디오 라이트 펜 (암스트래드 PCW) |
DDOKI84 | 오키 데이터 마이크로라인 |
DDMF | GEM 메타파일 |
DDPS | 포스트스크립트 메타파일 |
2. 1. 2. 16비트 장치 드라이버
다음은 16비트 시스템용 GSX(Graphics System Extension) 드라이버 목록과 그 특징이다.장치 | 드라이버 이름 | 설명 |
---|---|---|
DEC | DDLA100 | |
DEC | DDLA50 | |
NEC APC | DDNECAPC | |
NCR DecisionMate V | NCRPC4 | |
IBM CGA 흑백 모드 | IBMBLMP2, IBMBLMP3 | |
IBM CGA 컬러 모드 | IBMBLCP2, IBMBLCP3 | |
IBMCHMP6 | ||
IBM EGA | IBMEHFP6, IBMEHMP6, IBMELFP6 | |
허큘리스 그래픽 카드 (720×348) | HERMONP2, IBMHERP3, HERMONP6 | |
UMC VGA 그래픽 | UM85C408AF | |
IDS 흑백 | DDIDSM | |
Anadex DP-9501 및 DP-9001A | DDANADXM | |
C. 이토 8510A 저해상도 | DDCITOLR | |
센트로닉스 351, 352 및 353 | DDCNTXM | |
Datasouth | DDDS180 | |
오키 데이터 마이크로라인 | DDOKI84 | |
프린트로닉스 MVP | DDPMVP | |
IBM/엡손 FX-80 저해상도 프린터 (DDFXLR7 및 DDFXLR8 참조) | DD3EPSNL | |
IBM/엡손 FX-80 고해상도 프린터 (DDFXHR8 참조) | DD3EPSNH | |
레그네센트랄렌 RC759 피콜린 | DD75XHM1 | |
메타파일 | DDGSXM | |
EPSMONH6 | ||
휴렛 팩커드 7470A/7475A 플로터 (DDHP7470 및 DD7470 참조) | IBMHP743 | |
메타파일 | METAFIL6 | |
폴라로이드 카메라 | PALETTE |
GSX의 도스 버전은 CP/M-86 CMD 형식으로 드라이버 로딩을 지원하여, 동일한 드라이버 바이너리가 CP/M-86과 DOS 모두에서 작동할 수 있었다.
2. 2. GEM
GEM은 CP/M 및 DR DOS에서 실행되는 GUI로, MS-DOS와 초기 Windows의 관계와 유사하다. 겉모습은 Mac OS를 의식하여 제작되어 유사하다고 한다.2. 2. 1. 인텔 버전 (VDI, AES)
GEM에서 GSX는 기본 그래픽과 그리기를 담당하는 '''GEM VDI''' (가상 장치 인터페이스)가 되었다. VDI는 여러 개의 서체를 사용할 수 있는 기능을 추가했으며, 이전의 벡터 그래픽만 지원하던 GKS 기반 그리기 명령에 래스터 그래픽 그리기 명령을 추가했다. 또한 VDI는 윈도우 사용에 중요한 추가 기능인 여러 개의 뷰포트를 추가했다.'''GEM AES''' (응용 프로그램 환경 서비스)는 창 관리 및 UI 요소를 제공했으며, '''GEM 데스크톱'''은 두 라이브러리를 결합하여 GUI를 제공했다.
2. 2. 2. 아타리 버전 (ST GEM, GEMDOS)
GEM의 68000 버전 개발은 1984년 9월, 아타리가 "몬터레이 그룹"이라는 팀을 디지털 리서치에 보내 GEM을 이식하는 작업을 시작하면서 시작되었다. 원래 계획은 CP/M-68K 위에서 GEM을 실행하는 것이었는데, 이는 ST 설계를 만들기 전에 DRI에 의해 모토로라 68000으로 이식된 것이었다. 그러나 이 이식은 바로 사용할 수 없었고 상당한 개발이 필요했다. 디지털 리서치는 GEM을 다른 하드웨어 플랫폼으로 이식하기 위한 DOS와 유사한 운영체제인 GEMDOS(원래 GEM DOS로 작성되었으며 "프로젝트 제이슨"이라고도 불렸다)도 제공했다. GEMDOS는 8086 및 68000 프로세서에서 사용할 수 있었으며, 애플 리사 2/5와 모토로라 VME/10 개발 시스템에 적용되었다. 아타리는 1985년 1월 기존 CP/M-68K 코드를 포기하고 대신 DRI GEMDOS를 아타리 ST 플랫폼으로 이식하여 TOS라고 부르기로 결정했다.
아타리가 68000 버전 개발의 대부분을 제공했기 때문에 DRI로 다시 라이선스할 필요 없이 지속적인 개발에 대한 완전한 권한을 받았다. 결과적으로 애플-DRI 소송은 아타리 버전의 GEM에는 적용되지 않았고, 맥(Mac)과 유사한 UI를 유지할 수 있었다.
1985년부터 1992년까지 새로운 ST 라인이 출시될 때마다 새로운 버전의 TOS가 출시되었다. 업데이트에는 시스템의 래스터 측면에서 더 많은 색상과 더 높은 해상도에 대한 지원이 포함되었지만, GKS 지원 측면에서는 일반적으로 원래 버전과 유사했다. 1992년 아타리는 마지막 컴퓨터 시스템인 팔콘030과 함께 TOS 4, 즉 MultiTOS를 출시했다. MiNT와 결합된 TOS 4는 GEM에서 완전한 멀티태스킹 지원을 가능하게 했다.
2. 3. 후속 개발 (칼데라, FreeGEM, OpenGEM)
칼데라는 1996년 7월 23일 노벨로부터 남은 디지털 리서치 자산을 인수하면서, 초기에는 모바일 애플리케이션에서 OpenDOS의 작은 사용자 인터페이스를 위해 GEM과 ViewMAX 기술을 활용할 계획이었다. 이는 ''Caldera View''로 알려졌지만, 칼데라 영국이 DR-WebSpyder와 GROW를 선호하여 이 계획은 포기되었다. 칼데라 씬 클라이언트(이후 리네오로 변경)는 1999년 4월 GNU GPL-2.0-only 조건으로 GEM 및 GEM XM의 소스 코드를 공개했다. PC용 GEM 개발은 FreeGEM 및 OpenGEM으로 이어졌다.
아타리 ST 플랫폼에서 원래 DRI 소스는 자유 오픈 소스 TOS 복제본 EmuTOS에서 사용하기 위해 다시 이식되었다. GEM의 AES 부분의 새로운 구현은 XaAES와 MyAES 형태로 처음부터 구현되었으며, 둘 다 완전히 재진입 가능하며 TOS의 FreeMiNT 멀티태스킹 확장을 통해 멀티태스킹을 지원한다.
이후 GEM의 무료 버전인 '''FreeGEM'''과 '''OpenGEM''' 등이 등장하여 현재도 입수할 수 있다.
'''OpenGEM'''은 DOS용 비 멀티태스킹 16비트 GUI이다. FreeGEM 배포판을 확장한 것으로, 오리지널 GEM의 기능을 포함하고 있다. OpenGEM은 FreeDOS에 쉽게 설치하고 사용할 수 있는 GUI 시스템과 윈도우 프레임워크를 제공하는 것을 목표로 한다.
GEM의 소스 코드를 소유하고 있던 칼데라 씬 클라이언트는 1999년 4월에 GEM의 소스 코드를 GNU GPL 하에 릴리스했다.[2] OpenGEM은 FreeGEM 개발자 팀과 협력하여 Shane Martin Coughlan에 의해 GPL을 따르는 자유 소프트웨어로 개발되었다. OpenGEM 버전 3부터 6까지는 SourceForge와 FreeDOS 웹사이트에서 호스팅되고 있다.
OpenGEM은 2008년부터 활발한 개발이 이루어지지 않고 있지만, 기능을 완비하고 향후 서드파티 개발과 확장을 위한 SDK를 포함하는 기본적인 GUI를 갖추고 있다.
3. 특징
GEM은 사용자에게 친숙한 그래픽 사용자 인터페이스(GUI)를 제공하기 위해 여러 기술적 특징들을 가지고 있었다.
GEM 시스템은 크게 VDI, AES, 데스크톱의 세 부분으로 구성되어 있으며, 각 구성 요소는 특정 기능을 담당했다. VDI는 "여기에서 여기까지 선을 그린다"와 같은 낮은 수준의 그래픽 처리를 담당했고, AES는 윈도우 시스템, 윈도우 관리자, UI 스타일 등 사용자 인터페이스 요소를 제공했다. GEM 데스크톱은 이러한 요소들을 활용하여 파일 관리자와 런처를 제공하는 응용 프로그램이었다.
성능상의 이유로, 많은 GUI 위젯들이 문자 그래픽을 사용하여 그려졌다. 이 때문에 Macintosh에 비해 다소 단순한 모습을 보였으며, 시스템은 단일 고정폭 글꼴과 함께 제공되었다.
응용 프로그램은 일반적으로 AES 명령을 호출하여 새 창을 설정하고, VDI 호출을 사용하여 창에 내용을 그리는 방식으로 작동했다.
GEM 데스크톱은 MS-DOS, DOS Plus 또는 DR DOS와 같은 DOS 환경에서 실행되었기 때문에, 경로 이름이나 와일드카드와 같은 요소들이 표시되어 Macintosh보다 복잡해 보였다. 그러나 DOS에서 GUI 환경을 사용할 수 있다는 점은 큰 발전이었다.
네이티브 PC GEM 애플리케이션은 .APP 확장자를, GEM 데스크톱 액세서리는 .ACC 확장자를 사용했다.
3. 1. 구성 요소
GEM은 GSX(Graphics System Extension)라는 그래픽 라이브러리에서 발전했다. GSX는 GEM의 핵심 그래픽 구성 요소인 '''GEM VDI'''(가상 장치 인터페이스)가 되었다. VDI는 선 그리기와 같은 기본적인 그래픽 작업을 처리했다.'''GEM AES'''(응용 프로그램 환경 서비스)는 창 관리 및 사용자 인터페이스(UI) 요소를 제공했다. GEM 데스크톱은 GEM VDI와 GEM AES를 결합하여 그래픽 사용자 인터페이스(GUI)를 제공하는 응용 프로그램이었다.
GEM 시스템은 다음과 같이 세 가지 주요 구성 요소로 구성되었다.
- GEM VDI (가상 장치 인터페이스)
- GEM AES (애플리케이션 환경 서비스)
- GEM 데스크톱
GEM '''VDI'''는 "여기에서 여기까지 선을 그린다"와 같은 "낮은 수준"의 그리기를 담당하는 핵심 그래픽 시스템이었다. VDI는 응용 프로그램에서 간단한 인터페이스를 통해 호출되는, 해상도와 좌표에 독립적인 벡터 그리기 명령 집합을 포함했다. 또한 VDI는 환경 정보(상태 또는 컨텍스트), 현재 색상, 선 두께, 출력 장치 등을 포함했다. 이러한 명령은 GDOS에 의해 검토되었고, GDOS는 명령을 실제 렌더링을 위한 적절한 드라이버로 보냈다. 예를 들어 GEM VDI 환경이 화면에 연결된 경우, VDI 명령은 그리기를 위해 화면 드라이버로 라우팅되었다.
GEM VDI는 여러 장치와 컨텍스트를 처리하는 방식에서 Macintosh보다 뛰어난 장점을 제공했다. GEM VDI에서는 정보가 장치 자체에 저장되었으며, GDOS는 각 창에 대해 "가상 장치"와 같은 모든 컨텍스트를 생성했다.
GEM '''AES'''는 윈도우 시스템, 윈도우 관리자, UI 스타일 및 기타 GUI 요소(위젯)를 제공했다. 많은 GUI 위젯은 성능상의 이유로 문자 그래픽을 사용하여 그려졌다.
GEM '''데스크톱'''은 AES를 사용하여 파일 관리자 및 런처를 제공하는 응용 프로그램이었다. MS-DOS, DOS Plus 또는 DR DOS와 같은 DOS 위에서 실행되었기 때문에, GEM은 Macintosh보다 더 "geeky"한 면모를 보였지만 DOS에서 사용할 수 있는 셸을 실행하는 것 자체가 큰 성과였다.
3. 2. VDI (Virtual Device Interface)
GEM VDI(가상 장치 인터페이스)는 GEM 시스템의 핵심 그래픽 엔진으로, "여기에서 여기까지 선을 그린다"와 같은 낮은 수준의 그리기를 담당했다. VDI는 응용 프로그램에서 비교적 간단한 인터페이스를 통해 호출되는 해상도 및 좌표 독립적인 벡터 그리기 명령 집합을 포함했다.VDI는 여러 개의 서체를 사용할 수 있는 기능을 추가했으며, 이전의 벡터 그래픽만 지원하던 GKS 기반 그리기 명령에 래스터 그래픽 그리기 명령을 추가했다. 또한 윈도우 사용에 중요한 기능인 여러 개의 뷰포트를 지원했다.
VDI는 환경 정보(상태 또는 컨텍스트), 현재 색상, 선 두께, 출력 장치 등도 포함했다. 이러한 명령은 GDOS에 의해 검토되었는데, GDOS는 명령을 실제 렌더링을 위한 적절한 드라이버로 보내는 역할을 했다. 예를 들어, 특정 GEM VDI 환경이 화면에 연결된 경우 VDI 명령은 그리기를 위해 화면 드라이버로 라우팅되었다. 이론상으로는 환경을 프린터를 가리키도록 변경하는 것만으로 인쇄가 가능했다. 이는 개발자의 작업량을 크게 줄여주었다. GDOS는 또한 GEM이 처음 로드될 때 드라이버와 요청된 모든 글꼴을 로드하는 역할을 했다.
VDI가 Macintosh보다 제공하는 주요 장점 중 하나는 여러 장치와 컨텍스트를 처리하는 방식이었다. Mac에서는 이러한 정보가 애플리케이션 내부의 메모리에 저장되었다. 이 때문에 선점형 멀티태스킹을 Mac에서 처리하려고 할 때 심각한 문제가 발생했는데, 드로잉 레이어(QuickDraw)가 모든 프로그램에 직접 메모리 액세스를 해야 했기 때문이다. 그러나 GEM VDI에서는 이러한 정보가 장치 자체에 저장되었으며, GDOS는 모든 컨텍스트, 예를 들어 각 창에 대해 "가상 장치"를 생성했다.
3. 3. AES (Application Environment Service)
GEM에서 '''GEM AES''' (애플리케이션 환경 서비스)는 창 관리 및 UI 요소를 제공했으며, GEM 데스크톱은 VDI와 AES, 이 두 라이브러리를 결합하여 GUI를 제공했다.'''GEM AES'''는 윈도우 시스템, 윈도우 관리자, UI 스타일 및 기타 GUI 요소(위젯)를 제공했다. 성능상의 이유로 많은 GUI 위젯이 실제로 문자 그래픽을 사용하여 그려졌다. Macintosh에 비해 AES는 다소 간소한 모습을 제공했으며 시스템은 단일 고정폭 글꼴과 함께 제공되었다.
AES는 VDI를 호출하여 작업을 수행했지만, 더 일반적으로 GEM의 두 부분은 애플리케이션에서 완전히 분리되는 경우가 많았다. 애플리케이션은 일반적으로 AES 명령을 호출하여 새 창을 설정하고, 나머지 애플리케이션은 VDI 호출을 사용하여 해당 창에 실제로 그렸다.
GEM '''데스크톱'''은 AES를 사용하여 파일 관리자 및 런처를 제공하는 애플리케이션 프로그램으로, 사용자가 Macintosh에서 기대하는 전통적인 "데스크톱" 환경이었다. Macintosh와 달리 GEM 데스크톱은 DOS(MS-DOS, DOS Plus 또는 PC의 DR DOS, Atari의 GEMDOS) 위에서 실행되었으며, 그 결과 실제 디스플레이는 경로 이름 및 와일드카드와 같은 컴퓨터와 같은 항목으로 복잡해졌다. 일반적으로 GEM은 Mac보다 훨씬 더 "geeky"했지만, DOS에서 사용할 수 있는 셸을 실행하는 것 자체가 큰 성과였다. 그렇지 않으면 GEM은 비례 슬라이더와 같은 Mac OS에 비해 자체적인 장점이 있었다.
네이티브 PC GEM 애플리케이션은 실행 파일에 .APP 파일 확장자를 사용하고, GEM 데스크톱 액세서리는 .ACC 파일 확장자를 사용한다. 모든 데스크톱 액세서리(및 몇 가지 간단한 애플리케이션)는 수정 없이 ViewMAX에서 실행할 수 있다.
3. 4. 데스크톱 (Desktop)
GEM '''데스크톱'''은 MS-DOS, DOS Plus 또는 PC의 DR DOS, Atari의 GEMDOS와 같은 DOS 위에서 실행되는 파일 관리자 및 런처 역할을 하는 응용 프로그램이다. Macintosh와 달리 경로 이름 및 와일드카드와 같은 컴퓨터 관련 항목들이 표시되어 사용자 인터페이스가 다소 복잡해 보였다. 그러나 DOS 환경에서 사용할 수 있는 셸을 실행하는 것 자체로도 큰 발전이었으며, 비례 슬라이더와 같은 Mac OS에 비해 자체적인 장점도 있었다.네이티브 PC GEM 응용 프로그램은 실행 파일에 .APP 파일 확장자를 사용하고, GEM 데스크톱 액세서리는 .ACC 파일 확장자를 사용한다. 모든 데스크톱 액세서리(및 몇 가지 간단한 애플리케이션)는 수정 없이 ViewMAX에서 실행할 수 있다.
4. 현재 상황
FreeGEM과 OpenGEM은 현재도 구할 수 있는 GEM의 무상 버전이다. 1999년 4월, 칼데라 씬 클라이언트(Caldera Thin Clients)는 GEM의 소스 코드를 GNU GPL 하에 릴리스했다.[2]
4. 1. OpenGEM
OpenGEM은 DOS용 비 멀티태스킹 16비트 GUI이다. FreeGEM 배포판을 확장한 것이며, 오리지널 GEM의 기능을 포함하고 있다. OpenGEM은 FreeDOS에 쉽게 설치하고 사용할 수 있는 GUI 시스템과 윈도우 프레임워크를 제공하는 것을 목표로 한다.1999년 4월, GEM의 소스 코드를 소유하고 있던 칼데라 씬 클라이언트(Caldera Thin Clients)는 GEM의 소스 코드를 GNU GPL 하에 릴리스했다[2]. OpenGEM은 FreeGEM 개발자 팀과 협력하여 Shane Martin Coughlan에 의해 GPL을 따르는 자유 소프트웨어로 개발되었다. OpenGEM 버전 3부터 6까지는 SourceForge와 FreeDOS 웹사이트에서 호스팅되고 있다.
OpenGEM은 2008년부터 활발한 개발이 이루어지지 않고 있지만, 기능을 완비하고 향후 서드파티 개발과 확장을 위한 SDK를 포함하는 기본적인 GUI를 가지고 있다.
4. 2. FreeGEM/XM
FreeGEM은 일반적으로 싱글 태스킹이지만, 유사 멀티태스킹을 사용할 수 있다. GEM용 애플리케이션과 DOS 애플리케이션을 여러 개 실행해 놓고 핫키를 통해 애플리케이션을 전환할 수 있다.참조
[1]
뉴스
Newsprint
https://archive.org/[...]
Personal Computer World
1985-01
[2]
웹사이트
Caldera releases GEM under the GPL
http://www.deltasoft[...]
1999-04
[3]
웹인용
Concurrent DOS - Powerful Multiuser Multitasking Operating Systems
http://bitsavers.org[...]
Digital Research
1988
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com