속(운영 체제)
Genera (operating system)![]() | |
개발자 | 심볼 |
---|---|
기입처 | 리스프 |
OS 패밀리 | 리스프 머신의 OS |
동작 상태 | 유지. |
소스 모델 | 소스 사용 가능 |
초기 릴리즈 | 전 ( |
최종 릴리즈 | 휴대용 속 2.0 / 2021; | 전(
이용가능기간: | 영어 |
플랫폼 | 다양한 SymbolicsLisp 머신, DEC 알파, x86_64, 암64, 애플 M1 |
커널 타입 | 객체 지향 |
체납 사용자 인터페이스 | 동적 Windows GUI |
면허증. | 독자 사양 |
공식 웹사이트 | symbolics-dks |
속은 Symbolics가 만든 리스프 머신의 상용 운영 체제 및 통합 개발 환경입니다.기본적으로 MIT(Massachusetts Institute of Technology) AI Lab의 Lisp 머신에서 유래한 이전 운영 체제의 포크이며, Symbolics는 LMI(Lisp Machines, Inc.) 및 TI(Texas Instruments)와 공통적으로 사용되었습니다.또한 Symbolics는 Tru64 UNIX를 사용하는 DEC(Digital Equipment Corporation) Alpha 프로세서를 기반으로 하는 컴퓨터에서 Obtries를 실행하는 Open Obties로 판매했습니다.2021년에 새로운 버전이 DEC Alpha Tru64 UNIX, x86_64 및 Arm64 Linux, x86_64 및 Apple M1 macOS에서 실행되는 Portable Obtities로 출시되었습니다.이 소프트웨어는 독점 소프트웨어로서 릴리스되어 라이센스가 부여됩니다.
속은 프로그래밍 언어 Lisp에 기반한 객체 지향 운영 체제의 한 예입니다.
Protives는 객체 지향 프로그래밍을 광범위하게 지원하는 혼합 프로그래밍 스타일을 사용하여 복잡한 소프트웨어의 증분 및 대화형 개발을 지원합니다.
MIT의 리스프 머신 운영 체제
Lisp Machine OS는 Lisp Machine Lisp로 작성되었습니다.처음에는 인공지능([1]AI) 프로젝트용 소프트웨어 개발자를 대상으로 한 원 유저 워크스테이션이었습니다.시스템에는 큰 비트맵 화면, 마우스, 키보드, 네트워크 인터페이스, 디스크 드라이브 및 확장용 슬롯이 있습니다.운영체제는 이 하드웨어를 지원하며 다음과 같은 기능을 제공합니다.
- 프런트 엔드 프로세서의 코드
- operating system을 기동하는 수단
- 가상 메모리 관리
- 가비지 수집
- 다양한 하드웨어 인터페이스: 마우스, 키보드, 비트맵프레임 버퍼, 디스크, 프린터, 네트워크 인터페이스
- Lisp Machine Lisp용 인터프리터 및 네이티브 코드 컴파일러
- 대상 시스템:맛
- 그래피컬 사용자 인터페이스(GUI) 윈도 시스템 및 윈도 매니저
- 로컬 파일 시스템
- Chaosnet(CHAOS) 네트워크 지원
- Zmacs라는 에맥스 편집자
- Zmail이라는 메일 프로그램
- 리스프 청취자
- 디버거
이는 이미 완전한 원유저 Lisp 기반의 운영체제 및 개발환경이었습니다.
MITLisp기 운영 체제 가운데 1970년대에서 1980년대 초에 개발되었다.
2006년에 MIT로부터 이 Lisp기 운영 체제의 소스 코드와 무료 오픈 소스 소프트웨어로 출시됐습니다.[2]
속 운영 체제
Symbolics, 이름이 Genera에 운영 시스템을 발표했다 새로운 Lisp 기계들을 개발했다.그 최신 버전은 8.5.심볼릭스 Genera 80년대 초반과 1990년대 초에 개발되었다.그 최후의 몇년간, 개발, 매우 작은 새로운 함수는 패치가 부과된다.
Symbolics하는 MITLisp 기계 운영 체제의 이 바탕 위에 Genera을 개발했다.그것은 운영 체제와 층을 이룬 소프트웨어를 판매하다.일부는 계층화된 소프트웨어의 Genera에 나중에 자료에 통합해 왔다.Symbolics은 원래 MITLisp기에서 확장했다 운영 체제 소프트웨어 향상시켰다.그 Genera 운영 체제만 Symbolics Lisp 기계와 오픈 Genera 가상 머신을 사용할 수 없었습니다.
Symbolics Genera과 다양한 하드웨어의 Symbolics의 삶 위에 건물이 모든 버전을 지원하는 많은 특징을 가지고 있다.그것의 소스 코드 100만 회선보다 수가 석방되고 소프트웨어가 어느 정도 설치될 것인가에 달려 있다.심볼릭스 Genera 자기 테이프와 CD-ROM에 출판되었다.운영 체제의 출시 또한 가장 운영 체제의 소스 코드와 응용하도록 한다.이용자 및 변화와 확장자를 쓸 수 있는 운동 운영 체제의 모든 부분에 접근이 자유롭다.OS의 소스코드는 시스템으로 나뉩니다.이러한 시스템은 소스, 이진 파일 및 기타 파일을 번들합니다.시스템 구축 툴킷(SCT)은 모든 시스템의 의존관계, 컴포넌트 및 버전을 유지합니다.시스템에는 메이저버전 번호와 마이너버전 번호가 있습니다.줄자 버전 번호는 시스템의 전체 구성 수를 카운트합니다.마이너 버전은 해당 시스템에 대한 패치 수를 카운트합니다.패치는 문제를 수정하거나 특정 버전의 시스템에 확장자를 제공하기 위해 로드할 수 있는 파일입니다.
Symbolics는 Open Obtries라는 이름의 버전을 개발했습니다.이 버전에는 DEC Alpha 기반 워크스테이션에서 Obtries를 실행할 수 있는 가상 머신과 별도로 판매되는 몇 가지 Obtries 확장 기능 및 애플리케이션(S-Graphics 스위트 등)이 포함되어 있습니다.또한, 그들은 Common Lisp에서 임베디드 용도의 Minima라는 새로운 운영 체제를 만들었습니다.최신 버전은 Portable Obtities로 가상 머신은 DEC Alpha 프로세서와 더불어 x86_64, Arm64 및 Apple M1 프로세서로 포팅되어 있습니다.그러면 가상 머신이 Tru64 UNIX와 더불어 Linux 및 macOS에서 실행됩니다.
원래 Lisp 머신 운영체제는 Lisp 머신 Lisp에서 개발되었으며, 이 Lisp에 대한 Flavors 객체 지향 확장을 사용했습니다.Symbolics는 New Flavors라는 이름의 Flavors의 후속 버전을 제공했습니다.이후 심볼릭스는 Common Lisp 및 Common Lisp Object System(CLOS)도 지원했습니다.그 후 Symbolics Common Lisp는 속(속)을 사용한 소프트웨어의 기본 리스프 사투리가 되었습니다.운영 체제의 소프트웨어는 대부분 Lisp Machine Lisp(제타 리스프)와 Symbolics Common Lisp로 작성되었습니다.이들 리스프 방언은 모두 속(속)에 의해 제공된다.또한 소프트웨어의 일부는 Flavors, New Flavors 및 Common Lisp Object System 중 하나를 사용하고 있었습니다.속 운영 체제의 오래된 부분 중 일부는 심볼릭 공통 리스프 및 공통 리스프 개체 시스템으로 다시 작성되었습니다.운영 체제의 많은 부분이 ZetaLisp와 Flavors(또는 New Flavors)로 작성되어 있습니다.
사용자 인터페이스
심볼릭스의 초기 버전은 Lisp 머신 운영 체제의 그래픽 사용자 인터페이스(GUI) 윈도우 시스템을 사용하여 구축되었습니다.Symbolics는 프레젠테이션 기반의 사용자 인터페이스를 [3]갖춘 Dynamic Windows라는 이름의 새로운 윈도우 시스템을 개발했습니다.이 창문은 1986년에 [4]7속부터 도입되었다.그 후, 많은 내장 어플리케이션에서 Dynamic Windows 를 사용하고 있습니다.결국 다른 벤더가 Common Lisp Interface Manager(CLIM)로 구현한 다른 공통 Lisp에서 실행하도록 윈도 시스템의 포트 부분으로 이행이 이루어졌습니다.CLIM 버전은 Allegro Common Lisp, LispWorks 및 Macintosh 공통 Lisp용으로 제공되고 있습니다.오픈 소스 버전을 사용할 수 있습니다(McCLIM).
Dynamic Windows 에서는, 화면에의 모든 출력에 입력된 오브젝트를 사용합니다.표시되는 모든 정보는 표시된 개체와의 연결을 유지합니다(출력 기록).이것은 텍스트 출력과 그래픽 출력 모두에서 작동합니다.런타임에 이러한 개체에 적용할 수 있는 연산은 클래스 계층 및 사용 가능한 연산(명령어)을 기반으로 계산됩니다.명령은 입력된 매개 변수를 사용하여 계층형 명령 테이블로 구성됩니다.마우스(마우스 코드 사용), 키 입력 및 명령줄 인터페이스를 사용하여 명령을 입력할 수 있습니다.모든 응용 프로그램이 하나의 명령줄 인터프리터 구현을 공유하여 다양한 유형의 사용에 적응합니다.윈도우 시스템의 그래픽 기능은 PostScript 그래픽 모델을 기반으로 합니다.
사용자 인터페이스는 일반적으로 하드웨어 콘솔이 제공하는 단색(흑백)으로 되어 있습니다.그러나 컬러 프레임 버퍼 또는 컬러 지원 X Window System(X11) 서버를 사용하여 컬러를 광범위하게 지원합니다.액티비티(어플리케이션)에서는, 화면 전체를 복수의 페인으로 사용합니다만, 창을 작게 할 수도 있습니다.이러한 액티비티 창의 레이아웃은 화면 크기에 따라 달라집니다.액티비티는 다른 창 레이아웃 간에 전환할 수도 있습니다.
Intervines는 윈도우 제어, 어플리케이션 전환, 윈도우 시스템 조작을 위한 시스템 메뉴를 제공합니다.사용자 인터페이스의 많은 기능(액티비티 간 전환, 액티비티 작성, 프로세스 중지 및 시작 등)도 키보드명령어로 제어할 수 있습니다.
Dynamic Lisp Listener는 완전한 그래픽 기능과 마우스 기반 상호 작용을 지원하는 명령줄 인터페이스의 예입니다.Lisp 식과 명령어를 입력으로 받아들입니다.출력은 마우스에 민감합니다.Lisp 리스너는 다양한 내장 명령어 데이터를 입력하기 위한 폼을 표시할 수 있습니다.
사용자 인터페이스는 광범위한 온라인 도움말 및 컨텍스트 의존 도움말, 다양한 컨텍스트에서 선택 가능한 기능을 제공합니다.
문서
속은 완전히 하이퍼링크된 온라인 문서를 지원합니다.이 문서는 초기 하이퍼텍스트 브라우저인 Document Examinator에서 읽을 수 있습니다.이 문서는 Editor 및 Lisp Listener를 사용하여 다양한 컨텍스트에서 표시할 수 있는 재사용 가능한 작은 문서 레코드를 기반으로 합니다.설명서는 책과 섹션으로 구성되어 있습니다.이 책들은 또한 온라인 문서와 동일한 내용으로 인쇄본으로 제공되었다.문서 데이터베이스 정보는 속과 함께 제공되며 증분 패치를 통해 수정할 수 있습니다.
이 문서는 속: Symbolics Concordia와 함께 제공되지 않은 별도의 응용 프로그램으로 작성되었습니다.Concordia는 문서 레코드, 그래픽 편집기 및 페이지 미리보기 편집을 위한 Zmacs 편집기에 대한 확장을 제공합니다.
이 매뉴얼에서는 다양한 Lisp 구성 및 라이브러리의 사용자 가이드, 설치 가이드라인 및 참고 자료를 제공합니다.
마크업 언어는 Scribe 마크업 언어를 기반으로 개발자에 의해 사용 가능합니다.
속은 포스트스크립트 프린터로의 인쇄를 지원하며, 인쇄 큐와 포스트스크립트 인터프리터(Lisp로 작성)를 제공합니다.
특징들
또한 Vestions는 다양한 네트워크 프로토콜 및 이를 사용하는 애플리케이션을 지원합니다.TCP/IP를 폭넓게 지원합니다.
속은 여러 스레드(프로세스라고 함)를 가진 단일 프로세서 머신을 지원합니다.
속은 풀 GC, 임플레이스 GC, 증분 GC, 에페메랄 GC 등 여러 가지 유형의 가비지 컬렉션(GC)을 지원합니다.사용 후 삭제 수집기는 물리적 메모리만 사용하고 메모리 관리 장치를 사용하여 물리적 메모리에서 변경된 페이지에 대한 정보를 가져옵니다.수집기는 세대를 사용하고 가상 메모리는 영역으로 나뉩니다.영역에는 특정 유형의 오브젝트(스트링, 비트맵, 패스명 등)를 포함할 수 있으며 영역마다 다른 메모리 관리 메커니즘을 사용할 수 있습니다.
내장 파일 시스템은 대용량 파일용 FEP 파일 시스템과 다수의 소형 파일에 최적화된 Lisp Machine File System(LMFS)의 두 가지 파일 시스템을 구현합니다.이러한 시스템은 다른 버전의 파일도 유지합니다.파일이 변경되어도 속은 이전 버전을 유지합니다.또한 속은 NFS, FTP, HFS, CD-ROM, 테이프 드라이브를 포함한 다른 로컬 및 원격 파일 시스템에 대한 액세스, 읽기 및 쓰기를 제공합니다.
속은 넷부팅을 지원합니다.
속은 Symbolics에서 Statice 객체 데이터베이스용 클라이언트를 제공합니다.
속은 상태 시스템(예외 처리)을 광범위하게 사용하여 모든 종류의 런타임 오류를 처리하고 이러한 오류로부터 복구할 수 있습니다.예를 들어 네트워크 접속에 장애가 발생했을 경우 네트워크 조작을 재시도할 수 있습니다.어플리케이션 코드는 계속 실행됩니다.에러가 발생하면, 유저에게는, 시그널링 된 에러에 고유의 재기동 메뉴(중단, 재시도, 속행 옵션)가 표시됩니다.
속에는 광범위한 디버깅 도구가 있습니다.
속은 실행 중인 시스템의 버전을 월드에 저장할 수 있습니다.이러한 월드는 부팅이 가능하며 저장된 모든 데이터와 코드가 포함됩니다.
프로그래밍 언어
Symbolics는 속과 함께 사용할 수 있는 몇 가지 프로그래밍 언어를 제공했습니다.
- Lisp 머신 리스프의 심볼릭 버전인 ZetaLisp
- 여러 버전의 공통 리스프: 심볼릭 공통 리스프, 미래 공통 리스프(ANSI 공통 리스프), CLTL1
- Lisp로 작성된 Pascal 버전인 Symbolics Pascal(Lisp 소스가 속 분포에 포함됨)
- Lisp로 작성된 C의 버전인 기호 C(Lisp 소스가 속 분포에 포함됨)
- Lisp로 작성된 Fortran 버전인 Symbolics Fortran(Lisp 소스가 속 분포에 포함됨)
심볼릭 공통 리스프는 대부분의 공통 리스프 표준과 매우 많은 확장자를 제공하며, 그 중 대부분은 제타 리스프에서 가져온 것입니다.
심볼릭스의 기타 언어
이러한 프로그래밍 언어 구현이 Lisp 시스템의 동적 기능(가비지 수집 및 데이터 액세스 확인 등)의 일부를 계승하고 증분 소프트웨어 개발을 지원한다는 것은 주목할 만한 사실입니다.
서드파티 개발자는 OPS5와 같은 프로그래밍 언어와 IntelliCorp의 KEI(Knowledge Engineering Environment)와 같은 개발 도구를 더 많이 제공했습니다.
적용들
Symbolics 속에는 몇 가지 응용 프로그램이 있습니다.애플리케이션은 액티비티라고 불립니다.일부 액티비티:
- Zmacs, Emacs 유사 텍스트 편집기
- 일정표도 제공하는 메일 리더인 Zmail
- 파일 시스템 유지 보수용 도구가 포함된 파일 시스템 브라우저
- 명령줄 인터페이스 포함 리스너(Lisp Listener)
- 문서 열람을 위한 문서 검사기
- 배포를 복원하여 소프트웨어를 설치합니다.
- 시스템 배포, 소프트웨어 배포 생성
- 시스템 정보(프로세스, 윈도, 네트워크 연결 등)를 조사하기 위해 Peek
- 디버거
- 네트워크의 개체(사용자, 컴퓨터, 파일 시스템 등)에 대한 정보에 액세스하는 네임스페이스 편집기
- 컨버스, 채팅클라이언트
- 터미널
- 인스펙터, 리스프 데이터 구조 참조용
- 통지
- Frame-Up, 사용자 인터페이스 설계용
- Flavor Examinator - Lisp에 대한 Flavor 객체 지향 확장의 클래스 및 메서드를 조사합니다.
심볼릭스의 기타 응용 프로그램
심볼릭스는 심볼릭스에서 실행되는 여러 애플리케이션을 판매했습니다.
- 문서 제작 스위트인 Symbolics Concordia
- Symbolics Joshua, 전문 시스템 쉘
- 심볼릭 맥시마, 컴퓨터 대수학 시스템
- 칩 설계 도구인 Symbolics NS
- 심볼릭스 플렉시, 뉴럴 네트워크 개발 도구
- Symbolics S-Graphics, 도구 세트: S-Paint, S-Geometry, S-Dynamics, S-Render
- 심볼릭 S-유틸리티: S-Record, S-Compositor, S-Colorize, S-Convert
- 심볼릭스 스코프, 픽사 이미지 컴퓨터를 사용한 디지털 이미지 처리
- 객체 데이터베이스인 Symbolics Statice
서드파티 어플리케이션
여러 회사가 심볼릭스 속용 애플리케이션을 개발 및 판매했습니다.몇 가지 예:
- Inference Corporation의 익스퍼트 시스템 쉘인 자동 추론 도구(ART)
- ICAD, 3d 파라미터 CAD 시스템
- 일러스트, 그래픽 에디터
- 인텔리코프의 익스퍼트 시스템 셸인 KEI(Knowledge Engineering Environment(KE)
- Knowledge Craft, 카네기 그룹의 전문가 시스템 셸
- Siemens의 금속, 기계 번역 시스템
하이라이트
- 속은 디바이스 드라이버, 가비지 컬렉션, 프로세스 스케줄러, 네트워크 스택 등 모든 로우 레벨 시스템 코드를 포함하여 ZetaLisp 및 Symbolics Common Lisp를 사용하여 완전히 Lisp로 작성됩니다.
- 소스코드는 100만 행 이상의 Lisp이지만 광범위한 재사용으로 인해 제공된 함수에 비해 비교적 콤팩트합니다.또한 사용자가 검사하고 변경할 수도 있습니다.
- 운영체제는 대부분 Flavors, New Flavors 및 CLOS를 사용하여 객체 지향 스타일로 작성됩니다.
- 문서 검사기가 읽을 수 있는 광범위한 온라인 문서를 제공합니다.
- 다이내믹 윈도에서는 프레젠테이션 기반의 사용자 인터페이스 제공
- 사용자 인터페이스는 로컬(Lisp Machine 및 MacIvories) 및 리모트(X11 사용)에서 사용할 수 있습니다.
- 개발자 그룹이 네트워크 환경에서 함께 작업할 수 있습니다.
- 중앙 네임스페이스 서버는 시스템, 사용자, 서비스, 네트워크, 파일 시스템, 데이터베이스 등의 디렉토리를 제공합니다.
- operating system의 변경에 대한 보호는 거의 없습니다.전체 시스템에 액세스하여 변경할 수 있습니다.
한계
속 제한은 다음과 같습니다.
- Symbolics Lisp Machines 또는 Open Obtions 에뮬레이터에서만 실행됩니다.
- 한 번에 로그인할 수 있는 사용자는 1명뿐입니다.
- 한 번에 실행할 수 있는 Lisp 시스템은 1개뿐입니다.데이터와 코드는 애플리케이션과 운영 체제에서 공유됩니다.단, Open Obtities의 여러 인스턴스는 1개의 DEC Alpha에서 실행할 수 있습니다.
- 개발은 1990년대 중반에 사실상 중단되었다.
릴리스
- 1982 – 릴리즈 78
- 1982 – 릴리즈 210
- 1983 – 릴리즈 4.0
- 1984 – 릴리즈 5.0
- 1985 – Release 6.0에서는 Symbolics Common Lisp, Ephemeral Object Garbage Collector 및 Document Examinator가 도입되었습니다.
- 1986 – 7.0 속 (Dynamic Windows 도입)
- 1990 – 8.0속, CLOS 도입
- 1991 – 8.1속, CLIM 도입
- 1992 – 8.2속
- 1993 – 8.3속
- 1993년 - 1.0을 오픈하여 가상 리스프 머신을 도입
- 1998 – 오픈 속 2.0
- 2021 – 추가 플랫폼으로 이식된 가상 리스프 머신인 휴대용 속 2.0
x86-64 또는 arm64 Linux 및 Apple M1 MacOS에서 실행할 수 있는 안정적인 버전의 Open Obtries가 [5]출시되었습니다.
x86-64 Linux에서 실행할 수 있는 Open Obtries의 해킹된 버전이 있습니다.[6][7]
레퍼런스
- ^ "A Lisp Machine". Proceedings of the fifth workshop on Computer architecture for non-numeric processing. Association for Computing Machinery – Special Interest Group on Information Retrieval. 1980. doi:10.1145/800083.802703.
- ^ "Retrocomputing – MIT CADR Lisp Machines". Unlambda.com. Retrieved 2018-12-01.
- ^ Ciccarelli, Eugene C. (August 1, 1984). "Presentation Based User Interface". DSpace@MIT.
- ^ "Genera 7 Brochure" (PDF). Bitsavers.
- ^ Palter, Gary (Feb 17, 2021). "And there it is!". twitter. Retrieved Jan 9, 2022.
- ^ Wiegley, John (October 23, 2007). "The Symbolics Lisp Machine on Linux". Advogato. Archived from the original on June 30, 2017. Retrieved November 22, 2011.
- ^ Collison, Patrick (April 2008). "Lisp Machines". Archived from the original on 2009-08-27. Retrieved 2009-08-31.