Exec(아미가)
Exec (Amiga)개발자 | 칼 사센라스 |
---|---|
OS 패밀리 | 아미가OS |
동작 상태 | 현재의 |
소스 모델 | 폐쇄 소스 |
초기 릴리즈 | 1985년 7월 | ; 전(
최신 릴리즈 | 4.1 최종판 업데이트 2 / 2021년 1월 12일; | 전(
마케팅 대상 | 아미가OS |
이용가능기간: | 영어 |
갱신 방법 | 소스 코드에서 컴파일 |
플랫폼 | Amiga Motorola 68000 시리즈 (MC680x0, 68k) |
커널 타입 | 마이크로커널 |
체납 사용자 인터페이스 | 명령줄 인터페이스 |
면허증. | 독자 사양 |
공식 웹사이트 | www |
Exec은 Amiga의 핵심입니다.OS. 13KB 멀티태스킹 마이크로커널로 256KB의 메모리(최초의 Amiga 1000에 부속)로 프리엠프티브 멀티태스킹을 가능하게 합니다.Exec은 멀티태스킹, 메모리 관리 및 인터럽트 및 동적 공유 [1][2]라이브러리 처리를 위한 기능을 제공했습니다.
시스템에서 실행되는 태스크의 스케줄러로 기능하여 우선순위가 높은 라운드로빈 스케줄링을 통한 프리엠프티브 멀티태스킹을 제공합니다.또한 Exec은 메시지 전달을 통해 다른 라이브러리에 대한 액세스 및 프로세스 간 높은 수준의 통신을 제공합니다.다른 동등한 마이크로커널에서는 주소 공간 간에 메시지를 복사해야 하기 때문에 성능 문제가 발생하고 있습니다.Amiga에는 주소 공간이1개밖에 없기 때문에 EXEC 메시지 전달이 매우 효율적입니다.Amiga 소프트웨어(주소 4)의 고정 메모리주소는, 다음의 포인터뿐입니다.exec.library
를 사용하여 다른 라이브러리에 액세스할 수 있습니다.Exec은 Carl Sassenrath에 [3]의해 설계 및 구현되었습니다.
이그제큐티브
최신 운영 체제와 달리 exec 커널은 "특권"을 실행하지 않습니다.아타리 TOS와 SunOS와 같은 모토로라 68000의 현대 운영체제는 커널 함수를 호출하기 위해 트랩 명령을 사용했습니다.이로 인해 커널 기능은 68000의 슈퍼바이저 모드로 실행되고 사용자 소프트웨어는 권한 없는 사용자 모드로 실행됩니다.반면 exec 함수 호출은 라이브러리 점프 테이블을 사용하여 이루어지며 커널 코드는 보통 사용자 모드로 실행됩니다.슈퍼바이저 모드가 필요할 때마다 커널 또는 사용자 프로그램에 의해 라이브러리가 기능합니다.Supervisor()
또는SuperState()
사용됩니다.
Exec 커널의 한 가지 제한은 비협조적인 프로그램이 Exec 콜을 호출함으로써 장시간 또는 무기한 멀티태스킹을 비활성화할 수 있다는 것입니다.Forbid()
또는Disable()
를 나중에 호출하지 않습니다.Permit()
또는Enable()
이를 통해 환경이 하나의 태스크로 실행됩니다.멀티태스킹은 소프트웨어 버그나 의도에 의해 Exec의 데이터 구조 또는 RAM에 저장된 코드를 수정하는 프로그램에서도 비활성화될 수 있습니다.이는 메모리 관리 유닛(MMU) 지원이 부족하기 때문일 수 있습니다.
이러한 제한에도 불구하고 Exec은 프리엠프티브스케줄링 루틴을 사용하여 인터럽트 간격을 [4]클럭에 근거해 프리엠프티브스케줄링 알고리즘의 정의를 충족합니다.
Linux 커널 개발자인 Linus Torvalds는 Amiga 설계가 사전 스케줄링 정책을 사용하지만 [5]협력적이라고 설명한 적이 있습니다.그 이유는 작업 간의 [메모리] 보호가 부족하면 작업이 선제적으로 시스템을 작동시키는 데 방해가 될 수 있기 때문이라고 그는 주장했다.태스크가 선제적 메커니즘을 중단하지 않도록 선택할 필요가 있기 때문에 이는 일종의 역협력 시스템으로 전락할 것이다.보호 정책과 스케줄러 정책 간의 이러한 결합은 표준적이지 않습니다.
ExecSG
ExecSG(제2세대)는 AmigaOS 4에서 사용되는 커널입니다.이 커널은 Hyperion Entertainment에 의해 Thomas Frieden과 Hans-Jörg Frieden에서 [6]라이선스되었습니다.Commodore Amiga Exec 커널과 동일한 기능 및 구조를 제공하지만 Power에서 실행됩니다.PC Central Processing Unit(CPU; 중앙처리장치)만.ExecSG의 최종 발신지는 지정되지 않았습니다.
레퍼런스
- ^ Sassenrath, Carl (1986). Amiga ROM Kernel Reference Manual. Exec.
- ^ Holloway, Tim (January 1991). "The Object-Oriented Amiga Exec: The design of the Amiga operating-system kernel follows the rules of object-oriented programming". Byte. No. January 1991. McGraw-Hill. pp. 329–332, 234. ISSN 0360-5280.
- ^ "Carl Sassenrath". Retrieved 2022-05-23.
- ^ Stallings, William (2009). Operating Systems - Internals and Design Principles (6th ed.). Upper Saddle River, NJ: Pearson Prentice Hall. ISBN 9788120336292.
- ^ Torvalds, Linus (October 17, 1996). "Jalleen mahtava uusi keksinto m$oftilta" [Again, a great new invention from M$] (in Finnish). Newsgroup: sfnet.atk.sodat. Usenet: 545idd$3fj@linux.cs.Helsinki.FI. Retrieved February 25, 2011.
The Amiga is "pseudo-pre-emptive" multitasking, which Amiga people call pre-emptive, but it really is not. WinNT in this regard, is light years ahead. ... due to lack of memory protection. Any program can take possession of the machine completely and thus prevent multitasking. Multitasking in Amiga is co-operative because it requires approval and help from running applications [... muistinsuojauksen puutteen vuoksi. Mikä tahansa ohjelma voi ottaa koneen haltuunsa täysin ja estää siten moniajo. Eli Amigan moniajo on kooperatiivinen, koska se vaatii sen että ajettavat ohjelmat hyväksyvät sen moniajon ja auttavat sitä]
- ^ "Justia: Hyperion Entertainment vs. Amiga Inc".