오픈스텝
OpenStep개발자 | NeXT, Sun Micro시스템s |
---|---|
초기 릴리즈 | 1994년 10월 19일; | 전
기록 위치 | 목표-C |
운영 체제 | Solaris; Windows NT; 마하 커널이 있는 Unix 유사 운영 체제 |
플랫폼 | IA-32, PA-RISC, SPARC |
다음에서 사용 가능 | 영어 |
타이프하다. | 응용 프로그램 프로그래밍 인터페이스 |
웹사이트 | www |
OpenStep은 기존 객체 지향 운영 체제를 위한 폐기된 객체 지향 API(Abject-Oriented Application Programming Interface) 규격으로, NeXTSTEP이 아닌 운영 체제에서 NeXTSTEP과 유사한 환경을 제공한다는 기본 목표를 가지고 있다.OpenStep은 주로 NeXT가 Sun Microsystems와 함께 Sun의 운영 체제, 특히 Solaris에서 고급 애플리케이션 개발을 허용하기 위해 개발했다.NeXT는 자체 마하 기반 유닉스용 OpenStep 버전과 윈도 NT용 버전을 제작했다.[1]OpenSTEP과 함께 제공된 소프트웨어 라이브러리는 원래 NeXTTEP의 많은 기능을 포함하여 원래 OpenStep 사양의 상위 집합이다.
역사
Sun Microsystems 역사의 초기에는, Sun 기계들이 기반 Unix 운영체제로 직접 전화를 걸고 X11 시스템을 이용한 그래픽 사용자 인터페이스(GUI)를 생산하는 비교적 낮은 레벨에서 프로그램되어 있었다.이는 단순한 프로젝트에서도 복잡한 프로그래밍으로 이어졌다.이를 객체 지향 프로그래밍 모델로 해결하려는 시도는 1980년대 중반 쑨양의 NeWS 윈도잉 시스템으로 이루어졌으나 복잡한 응용프로그래밍 인터페이스(API)와 전반적으로 저조한 성능의 결합으로 인해 실제 사용이 거의 이루어지지 않았고 결국 시스템은 포기되었다.
그리고 선은 다른 선택지를 찾기 시작했다.탤리젠트는 운영체제 및 오브젝트 시장에서 경쟁자로 간주되었고, 마이크로소프트의 카이로 역시 어느 것 하나 제품 출시가 되지 않았더라도 최소한 배려가 있었다.Taligent의 이론적 새로운 점은 NeXT의 오래되었지만 성숙하고 상업적으로 확립된 플랫폼과 종종 비교되었다.Sun은 "Taligent와 카이로에 대한 선제적 조치"로서 NeXT와 제휴하여 객체 애플리케이션 프레임워크 OpenStep을 구축하기로 결정하기 전에 Taligent와 탐색적 미팅을 가졌다.매킨토시 및 NeXTStep의 창립 디자이너인 버드 트리블은 이제 SunSoft의 객체 제품 부사장으로 이 결정을 주도했다.1993년 파트너십에는 Sun이 NeXT에 1,000만 달러를 투자한 것이 포함되어 있었다.이 거래는 "지난 4년 동안 NeXT 커뮤니티에서 최초로 채택되지 않은 좋은 소식"으로 묘사되었다.[2]
기본 개념은 NeXTSTEP 운영 체제의 객체 계층을 축소하여 Sun의 Solaris 운영 체제, 더 구체적으로는 SPARC 기반 하드웨어의 Solaris 운영 체제에서 실행되도록 수정하는 것이었다.OpenStep의 노력의 대부분은 존재하는 마하 또는 NeXT 고유의 하드웨어에 의존하는 NeXTSTEP의 일부를 제거하는 것이었습니다.이로 인해 주로 Display PostScript, Objective-C 런타임 및 컴파일러, 그리고 대다수의 NeXTSTEP Object-C 라이브러리로 구성된 소규모 시스템이 구축되었다.기본 운영체제, 즉 하위급 디스플레이 시스템은 포함되지 않았다.
스티브 잡스는 "오늘은 우리가 앞서고 있지만 경선은 끝나지 않았다"고 말했다.[1996년,] 카이로가 매우 뒤쳐질 것이고, 탈리겐트는 매우 뒤쳐질 것이다."쑨원의 스콧 맥닐리 최고경영자(CEO)는 보험 가입이 없다.탈리젠트가 HP에 가입해 트로피 배우자를 얻는 것이 아니라, 1사 1건축에 대한 단호한 결정을 내렸다"[2]: 13 고 말했다.
API의 초안은 1994년 중반 NeXT에 의해 발표되었다.그 해 말에 그들은 Sun SPARC 시스템뿐만 아니라 몇몇 플랫폼에서 지원되는 OpenStep 호환 버전의 NeXTSTEP을 OpenSTEP으로 출시했다.NeXT는 OpenStep 규격을 업계의 객체 표준 기구에 제출하였다.[2]1994년 9월에 발간된 공식 오픈스텝 API는 Foundation과 Application Kit로 API를 분할한 것이 최초였고, "NS" 접두사를 사용한 것이 최초였다.[3]NeXTSTEP의 초기 버전은 "NX" 접두사를 사용하고 애플리케이션 키트만 포함하며, 낮은 수준의 데이터 구조를 위한 표준 Unix libc 유형에 의존한다.오픈스텝은 1997년 애플컴퓨터에 인수되기 전까지 NeXT의 1차 운영체제 제품이었다.이어 오픈스텝은 기존 클래식 맥 OS의 기술과 결합해 맥 OS X를 생산했다.아이폰과 아이패드의 iOS도 오픈스텝의 후예지만 터치 장치를 타깃으로 한다.
Sun은 원래 객체 지향 CORBA 배관을 보완하기 위한 객체 지향 사용자 인터페이스 툴킷을 제공하여 Sun의 CORBA 호환 객체 시스템 Solaris NEO(이전의 Project DOE)를 보완할 목적으로 OpenStep 환경을 채택했다.[2]이 포트는 OpenStep AppKit를 Sun X11 서버의 Display PostScript 계층과 통합하여 다중 스레드 코드에 AppKit를 내성하게 하고(Project DOE는 본래 다중 스레드였기 때문에), 마하 포트의 동작을 시뮬레이션하기 위해 Solaris 데몬을 구현하며 NEX를 사용하여 Object-C를 지원하도록 SunPro C++ 컴파일러를 확장했다.T의 ObjC 런타임, NeXTSTEP 룩과 느낌을 최대한 구현하기 위한 X11 창 매니저 작성, 프로젝트 빌더 및 인터페이스 빌더와 같은 NeXT 개발 도구들을 SunPro 컴파일러와 통합.완전한 최종 사용자 환경을 제공하기 위해 Sun은 또한 Mail.app, Preview.app, Edit.app, Workspace Manager, Dock을 포함한 여러 최종 사용자 애플리케이션의 NeXTSTEP-3.3 버전을 포팅했다.
제품의 OpenStep과 CORBA 부품은 이후 분할되었으며, NEO는 1995년 말 OpenStep 환경 없이 출시되었다.1996년 3월, 선은 NEO와 자바를 통합하는 제품인 조를 발표했다.Sun은 1996년 7월 22일 Solaris용 OpenStep 환경의 베타 릴리즈를 출하했으며,[4] 1996년 8월에는 비상업적 사용을 위해, 1996년 9월에는 자유롭게 다운로드 받을 수 있도록 하였다.SPARC 아키텍처용으로만 OpenStep/Solaris가 출하되었다.
설명
OpenStep은 NeXTSTEP과 다양한 면에서 다르다.
- NeXTSTEP은 운영 체제인 반면 OpenStep은 API이다.
- NeXTSTEP과 달리 OpenStep은 마하 커널이 필요하지 않다.
- NeXTSTEP의 각 버전은 특정한 엔디안을 가지고 있다: 예를 들어, Motorola 68K 프로세서의 경우 빅 엔디안을, x86 프로세서의 경우 리틀 엔디안을 가지고 있다.OpenStep은 "엔디안 프리" 입니다.
- OpenStep은 새로운 클래스 및 메모리 관리 기능을 도입한다.
OpenStep API 규격은 다음과 같은 세 가지 주요 구성요소를 정의한다.소프트웨어 프레임워크인 Foundation Kit, Application Kit, GUI 및 그래픽 프런트 엔드, 그리고 2D 그래픽 시스템인 Display PostScript, (화면에 창 및 기타 그래픽을 그리기 위한) 디스플레이 PostScript.
OpenStep 기반 빌딩
OpenStep에 대한 표준화는 또한 OpenSTEP 플랫폼에서 전달된 여러 개의 새로운 라이브러리 패키지를 만들 수 있도록 했다.운영 체제 전체와 달리, 이러한 패키지는 사실상 모든 운영 체제에서 독립적으로 실행되도록 설계되었다.CORBA나 일부 다른 시스템을 사용하는 것이 아니라, OpenStep 코드를 서로 다른 플랫폼에 걸쳐 실행되는 네트워크 전체 애플리케이션의 기초로 사용하는 것이 발상이었다.
이러한 패키지의 주요 내용은 휴대용 분산 객체(PDO)이며, PDO는 근본적으로 Foundation Kit 기술만 포함된 OpenStep의 훨씬 더 "중단"된 버전이며, 새로운 라이브러리와 결합되어 매우 적은 코드로 원격 호출을 제공하였다.응용 프로그램이 실행될 운영 체제를 정의한 OpenStep과는 달리, PDO에 따라 라이브러리를 응용 프로그램 자체로 컴파일하여 특정 플랫폼에 대한 독립형 "원래" 응용 프로그램을 만들었다.PDO는 휴대하기 쉽도록 작았고, 모든 주요 서버 공급업체를 위한 버전이 출시되었다.
1990년대 중반, NeXT 직원은 코드의 몇 줄에 있는 다양한 CORBA 매거진 기사에 대한 해결책을 쓰기 시작했지만, 원본 기사는 여러 페이지를 채웠다.PDO를 사용하려면 상당한 양의 지원 코드(Objective-C 및 라이브러리)를 설치해야 했지만, 그럼에도 불구하고 PDO 애플리케이션은 유사한 CORBA 솔루션보다 상당히 작았고, 일반적으로 크기는 약 1/2에서 1/3이었다.
유사한 D'OLE는 동일한 유형의 서비스를 제공했지만, 프로그래머가 마이크로소프트 윈도우즈 애플리케이션에서 호출되는 고출력 플랫폼에서 실행되는 COM 서비스를 만들 수 있도록 하는 것을 목표로 COM 개체와 같은 결과 개체를 제시하였다.예를 들어 D'OLE를 사용하여 고성능 금융 모델링 애플리케이션을 개발한 다음 Microsoft Excel 내에서 직접 호출할 수 있다.D'OLE가 처음 출시되었을 때 OLE는 그 자체로 단일 시스템에서 실행 중인 애플리케이션 간에만 통신했다.PDO는 Microsoft가 이 기능(DCOM)을 구현하기 전에 Excel이 네트워크를 통해 다른 Microsoft 애플리케이션과 대화하는 모습을 NeXT가 시연할 수 있도록 했다.
OpenStep에서 개발된 또 다른 패키지는 엄청나게 강력한 객체 관계 매핑 제품인 EOF(Enterprise Objects Framework)이다.EOF는 기업 시장에서 큰 인기를 끌었고, 특히 오픈스텝이 사소한 혁명을 일으킨 금융 부문에서 인기가 있었다.[citation needed]
구현
마하용 오픈스텝
NeXT's first operating system was NeXTSTEP, a sophisticated Mach-UNIX based operating system that originally ran only on NeXT's Motorola 68k-based workstations and that was then ported to run on 32-bit Intel x86-based "IBM-compatible" personal computers, PA-RISC-based workstations from Hewlett-Packard, and SPARC-based workstations from Sun Microsys템즈
NeXT는 기존 마하 기반 OS에서 OpenStep의 구현을 완료하고, 이를 마하 4.0(1996년 7월), 4.1(1996년 12월), 4.2(1997년 1월)의 OPENSTEP이라고 불렀다.그것은 모든 면에서 NeXTSTEP 4.0이었고, 여전히 대표적인 NeXTSTEP 기술(DPS, UNIX 기반 피닝, Dock 및 Shapp과 같은 사용자 인터페이스 특성 등)을 유지했으며, 고전적인 NeXTSTEP 사용자 인터페이스와 스타일을 유지했다.마하용 오픈스텝(OPENSTEP)은 NeXTTEP 3.3에 비해 드라이버 지원이 대폭 개선되었지만 객체 지향 드라이버킷의 도입으로 실제 드라이버 작성 환경이 변경되었다.
OPENSTEP for Mach는 인텔 x86 기반 PC, Sun의 SPARC 워크스테이션 및 NeXT의 자체 68k 기반 아키텍처를 지원했지만 HP PA-RISC 버전은 삭제되었다.이러한 버전은 NeXTSTEP에서 사용되는 기본 마하 기반 OS에서 계속 실행되었다. OpenSTEP for Mach는 1995년부터 NeXT의 기본 OS가 되었고, 주로 Intel 플랫폼에서 사용되었다.이 시스템은 완전한 OpenStep 구현일 뿐 아니라 역호환성을 위한 완전한 NeXTSTEP 라이브러리와 함께 제공되었다.이것은 도서관 버전 관리로 인해 OpenStep에서 하기 쉬운 일이었고, OPENSTEP은 그것 때문에 부풀어 오르는 고통을 겪지 않았다.
Solaris OpenStep
SPARC용 OpenSTEP for Mach 포트 외에도 Sun과 NeXT는 Sun의 Solaris 운영 체제에서 실행할 OpenStep 호환 프레임워크 세트를 개발했다.Sun은 Solaris OpenStep을 개발한 후 OpenStep에 흥미를 잃고 Java로 관심을 옮겼다.가상 머신 개발 환경으로서 자바는 OpenStep의 직접적인 경쟁자 역할을 했다.
오픈스텝 엔터프라이즈
NeXT는 또한 Windows NT 4.0에서 실행되는 OPENSTEP Enterprise(흔히 OSE라고 하는 약칭)를 제공했다.이는 OpenStep 규격에 따라 만들어진 프로그램의 휴대성의 실체에 대한 의도치 않은 시연이었다.마하용 오픈스텝 프로그램은 거의 어려움 없이 OSE에 포팅될 수 있다.이를 통해 기존 고객 기반은 툴과 애플리케이션을 계속 사용할 수 있었지만, 이들 중 다수가 전환 중에 있는 Windows에서 실행할 수 있었다.Windows에 포팅된 Display Postscript 서버를 통해 OPENSTEP이 윈도우 그래픽을 라우팅했기 때문에 UI 관점에서 완전히 일치할 수 없음그럼에도 불구하고 OSE는 꽤 잘 작동했고 OpenStep의 상업적 수명을 연장했다.
오픈스텝과 OSE는 NeXT가 1997년 애플에 인수되기 전까지 두 가지 개정판(그리고 출시되지 않은 주요 개정판)을 가지고 있었다.
랩소디, Mac OS X Server 1.0
애플은 NeXT를 인수한 뒤 랩소디를 맥과 표준 PC용 오픈스텝(OPENSTEP for Mach)의 재작업 버전으로 출하할 계획이었다.랩소디는 맥 OS 8에서 코플랜드가 등장하고 컬러싱크, 퀵타임 등 자바와 애플 자체 기술을 지원하는 마하용 오픈스텝으로, 오픈스텝 5로 볼 수 있었다.개발자 프리뷰 1과 2로 알려진 랩소디의 두 개발자 버전이 출시되었다. 랩소디는 Intel과 Power의 제한된 하위 집합에서 실행되었다.PC 하드웨어.Mac OS X Server 1.0은 이 운영 체제의 첫 번째 상용 릴리즈였으며, PowerPC Mac 하드웨어 전용으로 제공되었다.
Darwin, Mac OS X 10.0 이상
디스플레이 포스트스크립트 윈도서버를 Quartz로 교체하고, 카본의 추가를 통해 고전적인 맥 OS 애플리케이션의 역호환성을 높여 개발자에 대응한 후, 애플은 버전 10.0부터 맥 OS X와 맥 OS X 서버를 출시했고, 이제 맥 OS X는 맥 OS로 명명되었다.
macOS의 기본 프로그래밍 환경은 기본적으로 OpenStep(인터넷 연결을 위한 XML 속성 목록 및 URL 클래스 등 특정 추가 사항 포함)이며, 현재 코코아라고 불리는 개발 라이브러리 및 도구의 macOS 포트를 포함하고 있다.
MacOS는 더 이상 OpenStep을 준수하는 운영 체제가 아니지만, 이후 MacOS는 세계에서 가장 인기 있는 단일 데스크톱 유닉스 같은 운영 체제가 되었다.[citation needed]
GNUstep
NeXT 라이브러리의 무료 소프트웨어 구현인 GNUStep은 NeXTSTEP 당시에 시작되어 OPENSTEP보다 앞서 있었다.OPENSTEP과 OSE는 다른 플랫폼에 대한 OpenStep 구현의 상업적 개발을 효과적으로 종료한 Apple이 구매한 반면, GNUStep은 코코아/OPENSTEP 라이브러리의 휴대용 무료 소프트웨어 구현을 목표로 진행 중인 오픈 소스 프로젝트다.
GNUstep은 또한 완전히 기능적인 개발 환경, MacOS의 코코아 프레임워크로부터의 새로운 혁신의 일부의 재구현, 그리고 API로의 그것의 확장을 특징으로 한다.
참고 항목
참조
- ^ Lineback, Nathan. "OPENSTEP 4.2, Intel version. Screen shots". Toastytech.com.
- ^ a b c d Tribble, Bud (February 1994). "Bud Tribble Explains It All". NeXTWORLD (Interview). Interviewed by NeXTWORLD. p. 23–24. Retrieved February 10, 2019.
- ^ 코코아 기본 가이드: 약간의 역사
- ^ "Sun announces availability of Solaris OpenStep and Workshop OpenStep Beta" (Press release). Sun Microsystems, Inc. Retrieved 2006-10-25.