Exec (Amiga)

A Wikipédiából, a szabad enciklopédiából
exec.library
FejlesztőCarl Sassenrath[1]
Első kiadásv30 / AmigaOS 1.0 (1985-07-23, 39 éve)[2]
Legfrissebb stabil kiadásV53 / AmigaOS 4.1 FE Update 1[3]
(2016-12-31[4])
Operációs rendszerAmigaOS
PlatformAmiga
Kategóriamikrokernel, függvénykönyvtár[1]
LicencZárt forráskódú szoftver

Az exec az AmigaOS mikrokernele, mely Carl Sassenrath munkája. Mindössze 13 KiB helyet foglal el és pre-emptív többfeladatos végrehajtást valósít meg prioritizált round-robin feladatütemezéssel,[1] az elsőként kiadott Amiga 1000 256 KiB memóriáját felhasználva. A többfeladatúsághoz kapcsolódó funkciók mellett memória-, megszakítás- és dinamikus funkciókönyvtár- (library), illetve eszközkezelést (device) is végez.[5][6][7]

Az exec ezen túl hozzáférést biztosít más függvénykönyvtárakhoz valamint magasszintű folyamatok közötti kommunikációhoz, message passing használatával. Más mikrokerneleknek teljesítménycsökkenést okoz az üzenetek másolása címterületek között de mivel az Amiga csak egy címterületet használ, ezért az exec üzenetküldés (message-passing) nagyon hatékony. Az egyedüli rögzített memóriacím az Amiga rendszerben ($00000004) az exec.library pointere, ami a többi könyvtár elérésére használható.[1]

Exec[szerkesztés]

Más hagyományos rendszerekkel ellentétben az exec kernel nem fut "privilegizáltan". A Motorola 68000 processzorra írt korabeli operációs rendszerek, úgymint az Atari TOS és a SunOS, trap utasításokat használtak a kernel függvények meghívására. Ez a kernel függvényeket a 68000 supervisor módjába kényszerítette, amíg a felhasználói programok nem-privilegizált módban futottak. Ezzel ellentétben, az exec függvényhívások a könyvtár ugrótáblájával vannak megvalósítva és a kernel kód user módban kerül végrehajtásra. Ha valamikor is a supervisor mód szükségessé válik, akár a kernel vagy a felhasználói programok számára, a Supervisor() vagy SuperState() funkciókkal történik annak a bekapcsolása.[1]

Az exec korlátja volt, hogy egy nem együttműködő program hosszú időre bénítani tudta a többfeladatos működést, vagy végtelenségig az exec Forbid() vagy Disable() függvényeit hívta meg, mely a rendszerkörnyezet működését lényegében egyfeladatossá tette. Szoftverhiba, illetve szándékosság is eredményezhette ugyanezt. Mindemellett az exec kielégíti a preemptív feladatütemezés definícióját.[8]

Linus Torvalds a Linux operációs rendszer kernelének kifejlesztője az Amiga megvalósítását kooperatívnak nevezte, annak ellenére, hogy preemptív feladatütemezője van. Az indoka erre az volt, hogy a memóriavédelem hiánya miatt egy futó feladat (task) meg tudja akadályozni a rendszer preemptív működését.[9] Ugyanis a futó feladatoknak úgy kellene dönteniük, hogy ne állítsák le a preemptív mechanizmust, ami egyfajta fordított kooperatív rendszert hozna létre. A védelem és a feladatütemezői eljárásmód ilyen jellegű összeférhetetlensége nem szabványos.

ExecSG[szerkesztés]

Az ExecSG (Exec Second Generation), az AmigaOS 4 rendszermagja. A licencét a Hyperion Entertainment birtokolja és Thomas Frieden, illetve Hans-Jörg Frieden fejlesztette 2002-től elejétől kezdődően.[10] Ez a kernel ugyanazokat a fő jellegzetességeket mutatja, mint az amigás elődje, de PowerPC alatt fut. Különbség még, hogy az AmigaOS 4.x függvénykönyvtárai egynél több függvénytáblát (interface) és annak pointer-eit képesek exportálni.[7]

Jegyzetek[szerkesztés]

  1. a b c d e AmigaSpirit_wiki
  2. Libraries Manual Guide (angol nyelven). amigadev.elowar.com . (Hozzáférés: 2020. március 6.)
  3. Programming AmigaOS in C (angol nyelven). pjhutchison.org . (Hozzáférés: 2020. március 6.)
  4. Announcing AmigaOS 4.1 Final Edition, Update 1 (angol nyelven). hyperion-entertainment.com . (Hozzáférés: 2020. március 6.)
  5. Manual
  6. Holloway, Tim (1991. január 1.). „The Object-Oriented Amiga Exec: The design of the Amiga operating-system kernel follows the rules of object-oriented programming” (angol nyelven). Byte (January 1991), 329–332, 234. o, Kiadó: McGraw-Hill. ISSN 0360-5280.  
  7. a b AmigaOS_wiki
  8. Stallings, William. Operating Systems - Internals and Design Principles, 6th edition (angol nyelven), Upper Saddle River, NJ: Pearson Prentice Hall (2009). ISBN 9788120336292 
  9. Linus Torvalds. „Jalleen mahtava uusi keksinto m$oftilta”, sfnet.atk.sodat, 1996. október 17. (Hozzáférés: 2020. március 10.) (finn nyelvű) [halott link]
  10. Exec (angol nyelven). docs.justia.com . (Hozzáférés: 2020. március 10.)

Kapcsolódó szócikkek[szerkesztés]

Források[szerkesztés]

Fordítás[szerkesztés]

  • Ez a szócikk részben vagy egészben az Exec (Amiga) című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.