UCSD 파스칼

UCSD Pascal
UCSD Pascal/p-시스템
UCSD p-System.svg
버전 IV 로고
개발자캘리포니아 대학교 샌디에이고, SofTech, Pecan
OS 패밀리p코드 운영 체제
동작 상태이력
초기 릴리즈1977년 8월, 45년 전(1977-08)
최신 릴리즈IV.2.1 R3.3 / 1984년 11월; 37년 전 (1984-11)
이용가능기간:영어
플랫폼Apple II, DEC PDP-11, Zilog Z80, MOS 6502, Motorola 68000, x86, Osborne 이그제큐티브, Pascal MicroEngine, TI 99/4A.
커널 타입p코드 가상 머신

UCSD Pascal은 Pascal 프로그래밍 언어 시스템으로, 휴대성이 뛰어나고 기계에 의존하지 않는 운영 체제인 UCSD p-System에서 실행됩니다.UCSD Pascal은 1977년에 처음 출시되었습니다.이것은 샌디에이고 캘리포니아 대학에서 개발되었습니다.

UCSD Pascal 및 p-시스템

1977년 캘리포니아 대학 샌디에이고(UCSD) 정보 시스템 연구소는 학생들에게 캠퍼스 DEC PDP-11 미니 컴퓨터뿐만 아니라 사용 가능한 모든 마이크로 컴퓨터에서 실행할 수 있는 공통 환경을 제공하기 위해 UCSD Pascal을 개발했습니다.운영체제는 UCSD p-System으로 알려지게 되었습니다.

IBM이 원래 IBM PC에 제공한 운영 체제는 세 가지가 있습니다.첫 번째는 UCSD p-System이었고, 나머지 [1]두 가지는 IBM PC DOS와 CP/M-86이었습니다.공급업체 SofTech[2] Microsystems는 IBM PC 출시 당시 20개의 CPU를 지원하는 가상 머신을 통해 p-System의 애플리케이션 이식성을 강조했습니다.P-System을 [3]실행하는 미래 컴퓨터에서 사용자가 구입한 애플리케이션을 사용할 수 있을 것이라고 예측했다. 광고에서는 이를 "유니버설 운영 체제"[4]라고 불렀다.

PC Magazine은 IBM PC의 UCSD p-System을 비난하면서 언어로 작성된 Context MBA 리뷰에서 "단순히 좋은 [5]코드를 생성하지 않는다"고 말했습니다.p-System은 응용 프로그램이 부족하고 다른 제품보다 가격이 비싸 IBM PC에 그다지 잘 팔리지 않았습니다.이전에 IBM은 8086 기반의 전용 워드 프로세싱 머신인 Displaywriter의 옵션으로 UCSD p-System을 제공했습니다.(Displaywriter의 네이티브 운영체제는 완전히 내부적으로 개발되어 최종 사용자 프로그래밍용으로 개방되지 않았습니다.)

표준 Pascal에 대한 주목할 만한 확장 기능으로는 별도로 컴파일 가능한 단위와 문자열 유형이 있습니다.문자열 처리를 고속화하기 위한 일부 내장 기능(예를 들어 특정 검색 패턴에 대한 배열 내 검색)이 제공되었으며, UCSD p-시스템이 자기 컴파일 및 자기 호스팅이 가능하도록 다른 언어 확장 기능이 제공되었습니다.

UCSD Pascal은 p-code 머신 아키텍처를 기반으로 했습니다.이러한 초기 가상 머신에 대한 기여는 컴파일러 중간 언어로서의 뿌리에서 벗어나 완전한 [clarification needed]실행 환경으로 p-code를 확장한 것입니다.UCSD Pascal p-Machine은 주소가 16비트(메모리 64KB)로 제한된 새로운 소형 마이크로컴퓨터에 최적화되었습니다.James Gosling은 Java 가상 [6]머신 설계에 대한 (Smalltalk 가상 머신과 함께) 주요 영향력으로 UCSD Pascal을 인용합니다.

UCSD p-System은 p-Machine(또는 의사 머신)이라고 불리는 가상 머신(많은 사용자가 OS와 같이 "Pascal-machine"이라고 부르기 시작했지만 UCSD 설명서에서는 항상 p-code(또는 의사 코드)라고 하는 자체 명령 세트를 사용하여 "pseudo-machine"이라고 부르기 시작함)을 정의함으로써 머신의 독립성을 확보했습니다.Niklaus Worth의 학생인 Urs Ammann은 원래 UCSD 구현의 유래인 취리히 Pascal-P 구현이라는 p-code를 박사 [7]논문에서 제시했습니다.UCSD 구현에서는 취리히 구현이 "바이트 지향"으로 변경되었습니다.UCSD p-code는 Pascal 프로그래밍 언어를 실행하도록 최적화되었습니다.그 후 각 하드웨어 플랫폼에서는 p-시스템 전체와 모든 툴을 p-code에서 실행할 수 있도록 작성된 p-code interpreter 프로그램만 필요했습니다.이후 버전에는 p-code 기반에 컴파일된 추가 언어도 포함되었습니다.예를 들어, Apple Computer는 P-system의 Apple 버전에서 실행되는 p-code를 생성하는 Fortran[8] 컴파일러(캘리포니아 Sunnyvale Software에 의해 작성됨)를 제공했습니다.나중에, TeleSoft(샌디에이고에도 위치)는 p-code를 사용한 초기 Ada 개발 환경을 제공하였고, 따라서 Motorola 68000, System/370, Pascal MicroEngine을 포함한 많은 하드웨어 플랫폼에서 실행할 수 있었다.

UCSD p-System은 최신 Java 플랫폼과 몇 가지 개념을 공유합니다.둘 다 가상 시스템을 사용하여 운영 체제와 하드웨어의 차이를 숨기고, 둘 다 해당 가상 시스템에 작성된 프로그램을 사용하여 교차 플랫폼을 지원합니다.마찬가지로 두 시스템 모두 가상 시스템을 대상 컴퓨터의 전체 운영 체제로 사용하거나 다른 운영 체제의 "상자"에서 실행할 수 있습니다.

UCSD Pascal 컴파일러는 휴대용 운영 체제인 p-System의 일부로 배포되었습니다.

역사

UCSD p-System은 1974년경 UCSD의 Kenneth [9]Bowles의 아이디어로 시작되었습니다.Kenneth Bowles는 당시 새로운 컴퓨팅 플랫폼이 많이 출시되면 새로운 프로그래밍 언어가 수용되기 어려울 것이라고 생각했습니다.그는 취리히에서 휴대용 컴파일러의 Pascal-P2 릴리스를 기반으로 UCSD Pascal을 개발했습니다.그는 특히 프로그래밍을 가르치는 언어로서 파스칼에 관심이 있었다.UCSD는 원래 Pascal의 중요한 개선점이었던 두 가지 기능을 도입했습니다. 가변 길이 문자열과 독립적으로 컴파일된 코드(당시 진화하는 Ada 프로그래밍 언어에 포함된 아이디어)의 "유닛"입니다.Niklaus Worth는 Pascal을 대중화한 것은 p-System, 특히 UCSD Pascal이라고 합니다.UCSD 버전이 파스칼 사용자들 사이에서 1위를 차지하기 시작한 은 터보 파스칼이 출시된 이후였다.

UCSD Pascal의 파스칼 방언은 파스칼-P2에 구현된 파스칼의 하위 집합에서 비롯되었으며, 파스칼 컴파일러의 부트스트랩 키트로 기능하기 위해 이 언어의 완전한 구현이 아니라 "자기 컴파일을 수행할 최소 부분 집합"으로 설계되었습니다.UCSD는 BASIC에서 스트링 및 기타 몇 가지 구현 의존 기능을 추가했습니다.UCSD 파스칼은 나중에 완전한 파스칼 언어의 많은 다른 특징들을 얻었지만, 파스칼-P2 서브셋은 다른 방언들, 특히 UCSD 사투리의 대부분을 복사한 볼랜드 파스칼에서 지속되었다.

버전

UCSD Pascal 사용 중

UCSD p-code 엔진에는 4가지 버전이 있으며 각각 p-System과 UCSD Pascal의 여러 리비전이 있습니다.p-code 엔진(즉, p-Machine)의 리비전은 p-code 언어의 변경을 의미하므로 컴파일된 코드는 다른 p-Machine 버전 간에 이식할 수 없습니다.각 리비전은 선두의 로마숫자로 표시되며 운영체제 리비전은 p-code 로마숫자 뒤에 "도트"번호로 열거됩니다.예를 들어 II.3은 p-Machine의 두 번째 리비전에서 실행되는 p-System의 세 번째 리비전을 나타냅니다.

버전 I

원본. 샌디에이고 캘리포니아 대학 이외에는 공식적으로 배포되지 않았습니다.그러나 버전 I.3과 I.5의 Pascal 소스는 관심 있는 사용자 간에 자유롭게 교환되었습니다.특히 패치 리비전 I.5a는 가장 안정적인 것으로 알려져 있습니다.

버전 II

널리 보급되어 많은 초기 마이크로컴퓨터에서 이용 가능.Apple II, DECPDP-11, Zilog Z80MOS 6502 기반 머신, Motorola 68000IBM PC(PC의 버전 II는 64K 코드 세그먼트 1개와 64K 스택/히프 데이터 세그먼트 1개로 제한되었습니다. 버전 IV는 코드 세그먼트 제한을 없앴지만 비용이 훨씬[quantify] 더 많이 듭니다).
이 시대의 프로젝트 멤버는 Kenneth L Bowles 박사, Mark Allen, Richard Gleaves, Richard Kaufmann, Pete Lawrence, Joel McCormack, Mark Overgaard, Keith Shillington, Roger Sumner, John Van Zandt입니다.

버전 III

Pascal MicroEngine 마이크로컴퓨터에서 Western Digital용으로 작성된 사용자 지정 버전입니다.최초로 병렬 프로세스 지원 포함.

버전 IV

SofTech에 의해 개발 및 판매된 상용 버전.버전 II를 기반으로 버전 III로부터의 변경은 포함되지 않았습니다.가격 구조, p코드 인터프리터로 인한 성능 문제, 네이티브 운영체제와의 경쟁(대부분 실행)으로 인해 잘 팔리지 않았다.SofTech가 제품을 떨어뜨린 후, P-System 사용자와 팬들로 구성된 비교적 작은 회사인 Pecan Systems에 인수되었다.Pecan의 합리적인 가격 구조 덕분에 매출이 다소 회복되었지만, p-System과 UCSD Pascal은 점차 네이티브 운영 체제와 컴파일러에 시장을 빼앗겼습니다.p-code 카드, Commodore CBM 8096 및 Sage IV를 탑재한 TI-99/4A에서 사용할 수 있습니다.

추가 사용

Corvus Systems 컴퓨터는 모든 사용자 소프트웨어에 UCSD Pascal을 사용했습니다.Constellation OS의 "혁신적 개념"은 사용자가 필요에 따라 수정할 수 있도록 Pascal을 실행(해석 또는 컴파일)하고 모든 공통 소프트웨어를 매뉴얼에 포함시키는 것이었습니다.

「 」를 참조해 주세요.

메모들

  1. ^ Williams, Gregg (January 1982). "A Closer Look at the IBM Personal Computer". BYTE. p. 36. Retrieved 19 October 2013.
  2. ^ "SOFTECH MICROSYSTEMS UCSD p-SYSTEM VERSION IV FOR THE APPLE II COMPUTER" (PDF).
  3. ^ Edlin, Jim; Bunnell, David (February–March 1982). "IBM's New Personal Computer: Taking the Measure / Part One". PC Magazine. p. 42. Retrieved 20 October 2013.
  4. ^ Advertisement (August 1982). "This person develops applications for the entire market, including the Z-80, 8080, 8086/8088, 6502, LSI-11/PDP-11, 9900, and the M68000 with the best there is". BYTE. pp. 191, 193–195. Retrieved 19 October 2013.
  5. ^ Zachmann, Mark S. (June 1983). "Context MBA: Half A Step In The Right Direction". PC Magazine. p. 123. Retrieved 21 October 2013.
  6. ^ Allman, Eric (1 July 2004). "A Conversation with James Gosling". ACM Queue. Association for Computing Machinery. Retrieved 24 December 2012.
  7. ^ Ammann, U. (1977). "On code generation in a PASCAL compiler". Software: Practice and Experience. 7 (3): 391–423. doi:10.1002/spe.4380070311. hdl:20.500.11850/68668. S2CID 2143405.
  8. ^ "Apple Fortran Language Reference Manual" (PDF).
  9. ^ Bowles, Ken (22 October 2004). "Some Insights for UCSD Pascal Generation". UCSD Pascal Units probably influenced Ada Packages

추가 정보

외부 링크