Amiga Hunk - Amiga Hunk

Ханк
ӘзірлеушіCommodore International
Пішім түріАмига орындалатын

Ханк болып табылады орындалатын файл пішімі құралдары мен бағдарламалары Amiga операциялық жүйесі негізінде Motorola 68000 Орталық Есептеуіш Бөлім және сол отбасының басқа процессорлары. Бұл орындалатын түрдің атауы Amiga-да бағдарламаланған бағдарламалық жасақтама өзінің ішкі құрылымында көптеген бөліктерге бөлінгендіктен пайда болды. аң аулау, онда әрбір бөлік кодты немесе деректерді қамтуы мүмкін.

Хум құрылымы

Amiga орындалатын файлындағы аңшылықтар әр түрлі болуы мүмкін. Сонда 32 бит аңшылық, 16 бит аңдар, тіпті кейбіреулері 8 бит аң аулау.

Аң аулау түрлері стандартталған AmigaOS, және жақсы құжатталған AmigaDOS нұсқаулығы өңделген Commodore Commodore Amiga компьютерлерін шығарған жылдары бағдарламашыларға Amiga кодын қалай кодтау керектігін түсіндіру. Олардың құрылымы ресми түрде кодификацияланды және оны тек Commodore комитеті өзгерте алды, содан кейін Amiga операциялық жүйесінің жаңа шығарылымдары үшін әзірлеушілерге өзгерістер енгізілді.

Amiga hunk құрылымы өте қарапайым: аңның басында «кодтың бөлігі» белгілі және жарамды Amiga hunk типі екенін көрсететін тақырып бар, содан кейін аңның ұзындығын көрсететін идентификаторға сәйкес келеді. өзі, ал төменгі жағында нақты кодты немесе деректерді қамтитын хунк сегменті орналасқан.

Amiga орындалатын файлдарының ерекшеліктері

Amiga орындалатын файлдары графикалық түрде де іске қосылуы мүмкін қабық Amiga, the Workbench немесе Amiga-дан командалық жол аудармашысы (CLI деп аталады, кейінірек AmigaShell).

Жоқ файл атауын кеңейту Amiga орындалатын файлдары үшін қажет. Мысалы, калькулятор апплеті «Калькулятор«атын өзгертуге болады»Calculator.com", "Calculator.exe", "Калькулятор.bin«, немесе тіпті»Calculator.jpeg«. Мұның бәрі бағдарламалардың немесе құралдардың жарамды атаулары, өйткені AmigaOS арасында ажыратпайды файл кеңейтімдері.

AmigaOS оны танудың тағы бір әдісі қабылданды, ол орындалатын бағдарламамен байланысты. Файл тақырыбында байттардың белгілі бір реттілігі бар, олар нәтиже береді оналтылық мәні $ 000003f3. Орындалатын файлды білдіретін және өздігінен жұмыс істеуге мүмкіндік беретін бұл реттілік а деп аталады сиқырлы печенье (бастап сиқырлы печенье жылы Алиса ғажайыптар еліндегі шытырман оқиғалар арқылы Льюис Кэрролл ).[дәйексөз қажет ]

Amiga-да орындалатын файлдарды анықтаудың осындай шешімі қабылданған ұқсас шешімдерден алынды UNIX /Unix тәрізді операциялық жүйелер, қайда сиқырлы печенье деп аталады сиқырлы сандар.

Amiga орындалатын файлының құрылымы

Amiga орындалатын файлының ішкі құрылымы өте қарапайым. Файлдың басында сиқырлы печенье бар, содан кейін орындалатын файлдағы аңдардың жалпы саны жарияланады, және дәл осыдан кейін «0» -ден басталатын аңдардың прогрессивті сандары (нөл).

Бірінші ханк әрдайым нөлмен нөмірленеді, сондықтан егер орындалатын (мысалы) үш аңға бөлінетін болса, олар біріншісіне «0», екіншісіне «1» және үшінші ханкқа «2» және т.б. .

Нақты аңдар басталмас бұрын, орындалатын файлда болатын кез-келген аңдардың ұзындығы туралы ақпаратты қамтитын кесте бар, ал файлдың соңғы бөлігінде әрқайсысы өз түрінің атымен сипатталатын нақты аңдар орналасады: HUNK_CODE, HUNK_DATA, және т.б.

Құрылымның өкілдігі:

Сиқырлы печеньеАңшылардың жалпы саныПрогрессивті аң аулау саныҰзындық кестесіӘртүрлі аңшылар (Hunk_Code, Hunk_Data және т.б.)

Hunk түрлері

Amiga-ға белгілі аңшылық түрлері:

Аты-жөніМән (ондық)Мәні (он алтылық)
HUNK_UNIT9993E7
HUNK_NAME10003E8
HUNK_CODE10013E9
HUNK_DATA10023EA
HUNK_BSS10033EB
HUNK_RELOC3210043EC
HUNK_RELOC1610053ED
HUNK_RELOC810063EE
HUNK_EXT10073EF
HUNK_SYMBOL10083F0
HUNK_DEBUG10093F1
HUNK_END10103F2
HUNK_HEADER10113F3
HUNK_OVERLAY10133F5
АШЫҚ_BREAK10143F6
HUNK_DREL3210153F7
HUNK_DREL1610163F8
HUNK_DREL810173F9
HUNK_LIB10183FA
HUNK_INDEX10193FB
HUNK_RELOC32SHORT10203FC
HUNK_RELRELOC3210213FD
HUNK_ABSRELOC1610223FE
HUNK_PPC_CODE *12574E9
HUNK_RELRELOC26 *12604EC

* Кеңейтілген Hunk форматы

Метадеректер

Amiga метамәліметтерді аңдарға сақтай алады, өйткені бұл функцияны қолдауға икемді құрылым оңай бейімделуі мүмкін, бірақ орындалатын файлдардың ханк форматынан бас тартылды ELF және бұл мүмкіндікті Amiga стандарттарының бірі ретінде жүзеге асыра алатын орталық орган жоқ (Коммодор жұмыстан шығарылған).

Amiga кейбір метадеректерді сақтайды бүйір файлдары «.info» деген атпен белгілі (олардың кеңейтілген жұрнағының атауынан осылай аталады).

«.info» файлдары жоба (деректер файлы) дискке сақталған кез келген уақытта жасалады. Мысал: пайдаланушы «MyProject» деп аталатын файлды сақтаған кезде дискіде «MyProject» және MyProject.info деген екі файл жасалады.

«MyProject» файлы жоба файлының нақты деректерін, ал «MyProject.info» файлында белгішені және файлды шығарған бағдарламалық жасақтамаға қатысты ақпаратты қамтиды, сондықтан кез келген уақытта жоба белгішесі оны басу арқылы шақырылады тінтуір болса, ата-аналық бағдарламалық жасақтама ашылады (пайдаланушылар бұл ақпаратты кез келген уақытта өзгерте алады, бұл басқа бағдарламаларға физикалық тұрғыдан жасаған бағдарламалық жасақтамадан гөрі жоба файлын жасадым деп сенуіне мүмкіндік береді)

Қолдану байланысы жоқ AmigaOS MacOS сияқты басқа жүйелердегі сияқты.

«.Info» файлы сонымен қатар жоба файлының кейбір ерекше сипаттамаларын және пайдаланушының түсініктемелерін қамтиды.

«.info» файлдары Workbench экранында пайда болмайды (Workbench Amiga Desktop GUI әдепкі болып табылады). Жұмыс үстелінің экранында тек «ақпарат» файлынан шығарылған жоба файлының белгішесі пайда болады. Шын мәнінде белгіше - бұл жобаның өзін және «.info» -ге сақталған метадеректерді байланыстыратын виртуалды орта.

Пайдаланушы тышқанның сол жақ батырмасымен белгішені басқанда, «.info» жобасы оны шығарған бағдарламаны шақырады. Пайдаланушы белгішені тінтуірдің оң жақ батырмасымен басқанда, пайдаланушыға «.info» файлындағы метадеректермен өзара әрекеттесуге мүмкіндік беретін диалогтық терезе пайда болады.

«.Info» файлдары белгішені тінтуірдің көмегімен жылжыту арқылы олардың жобалық файлымен бірге көшіріледі немесе жылжытылады және AmigaShell сияқты Amiga командалық жолының интерфейстері арқылы немесе үшінші тараптың филеменеджерлерін пайдалану арқылы жеке файл ретінде қаралуы мүмкін. сияқты каталогтар тізімі Opus каталогы немесе DiskMaster.

Егер «.info» файлы орындалатын бағдарламаны білдірсе, онда «.info» файлында орындалатын файлға сақталуы мүмкін жедел жад буферлері туралы мәліметтер болады (мысалы, 4096, 8192 немесе 16384 немесе одан да көп байт жедел жады) және тіпті командалық жол интерфейсін қолдану арқылы келтіруге болатын аргументтер. Мысалы, Amiga бағдарламасы жұмыс үстелінің экранынан тәуелсіз өзінің графикалық интерфейс экранын аша алады. Ақпараттық файл тілқатысу терезесіне «Экран = 800x600» және «Тереңдігі = 8» сияқты аргументтерді шақыру арқылы пайдаланушы бұл ақпаратты «.info» байланысты файлға сақтай алады, содан кейін бағдарлама өнімділік бағдарламалық құралын өзінің экран өлшемінде ашады 800 × 600, 8 биттік түс тереңдігі (256 түске тең).

Сондай-ақ, пайдаланушы «.info» файлдарын жоя алады, бірақ содан кейін олар жұмыс үстелінде жоба файлын бейнелейтін белгішенің болу артықшылықтарынан бас тартады және ондағы барлық метадеректерді жоғалтады.

Белгішелер

«.Info» метамәліметтер файлдарында орналасқан нүктелік кескін белгішелерінің қысқаша көрінісі:

Белгілер «.info» файлдарында қамтылған RAW растрлық деректері болып табылады және Amiga стандартты емес IFF /LBM файлдар. Пайдаланушылар белгішелермен AmigaOS операциялық жүйеде алғашқы нұсқаларынан бері бар «IconEdit» стандартты бағдарламасы. AmigaOS 2.0 нұсқасынан бастап IconEdit AmigaOS-та стандартты графикалық файлдар ретінде қолданылатын қалыпты IFF / LBM файлдарын импорттап сақтай алады.[1]

Кейбір Amiga бағдарламалары ұнайды Жеке бояу бастап Клоанто растрлық деректерді кәдімгі Amiga белгішелері немесе Amiga «.info» файлдары ретінде көре, жүктей және сақтай алады.

Бұрынғы Amiga белгішелерінде екі түрлі растрлық кескіндерді қолданып, екі күйлі белгішелер болуы мүмкін. Бірінші нүктелік картада «тыныш» белгішесінің деректері бар, олар белгішенің «тыныш күйі» деп те аталады. Екінші растрлық кескін белгішенің «таңдалған» күйінің деректерін қамтиды. Пайдаланушы белгішені нұқып, оны іске қосқан кезде тыныш белгішенің растрлық деректері кенеттен таңдалған пиктограмма растрлық деректерімен ауыстырылады. Мұндай мінез-құлық Amiga белгішелеріне мультфильмдердің әсерін береді. Егер бұл екінші нүктелік сурет «.info» файлында болмаса (нүктелік кескіндердің екеуін де құру міндетті емес), онда белгіше таңдалған кезде кері түсті эффект қолданылады.

AmigaOS көрінісін басқа Операциялық жүйелердің заманауи стандарттарымен сәйкестендіруге тырысатын үшінші тарап белгішесінің «қозғалтқыштары» бар. Бұл бағдарламалар белгішелермен жұмыс істеуге арналған ОЖ процедураларын түзетеді, оларды арнайы бағдарламалармен ауыстырады. Осындай әрекеттердің бірі, Жаңа белгілер, AmigaOS 3.x үшін іс жүзінде жаңа стандартқа айналды. Бұл танымал болғаны соншалық, AmigaOS 3.5 және одан жоғары нұсқаларында қолданылатын жаңа белгішелер жүйесі, Жарқыл белгілері, оның белгішесінің файл пішіміне негізделген.

Amiga тәрізді барлық заманауи операциялық жүйелер (AmigaOS 4, Морфос және AROS ) RAW растрлық деректерін, IFF / LBM файлдарын немесе т.б. байланыстыра алады PNG кез-келген белгішенің стандартты ішкі растрлық кескіні ретінде файлдар.

Орындалатын файлдар

The HUNK_OVERLAY типі бағдарламаны іске қосуға қажетті жедел жад көлемін азайтуға арналған. Қабаттасқан құрылымы бар орындалатын файлдардың түбірлік түйіні бар, ол әрдайым жадыда болады, ал бағдарламаның қалған бөлігі қажет болған кезде автоматты түрде жүктелетін және түсірілетін кішігірім модульдерге бөлінеді.[2]

Қабаттастыру форматы қосымша модульге тармақталған кезде қажетті модульді жүктейтін қосымша менеджерді шақыратындай етіп кодқа кішкене стубкалар қосу арқылы жұмыс істейді. Commodore стандартты қабаттасу менеджерін анықтады, осылайша С коды автоматты түрде осы стубтарды енгізе алады және стандартты қабаттасу менеджері қалай оқуды білетін қосымша кесте жасайды.

Алайда, «Қабаттастыру» форматы сирек қолданылды, әсіресе оның мақсаты бойынша. Ол әдеттегі қабаттасу менеджерімен жиі қолданылған. Қосымша форматты әйгілі Titanics Cruncher қолданатын, ол орындалатын файлдарды қысады. Бүкіл қысылған орындалатынды орамадан шығармас бұрын, Titanics Cruncher қабаттасуды қолданды, сондықтан жадқа тек кішкене деконер жүктелді, содан кейін ол оқылып, мәліметтерді декомпрессиялады.

Amiga-да қолданылатын басқа орындалатын файл форматтары

Үшінші тарап қосымшаларымен AmigaOS 3.9 дейін Motorola 68000 үшін жасалған Hunk форматынан басқа, әртүрлі орындалатын файлдарды таниды.

ELF

5-кезең жүзеге асырылды ELF оның PowerUP үдеткіш тақталарына арналған орындалатын файлдар. Динамикалық байланыстырудың арқасында ол ауыр деп танылды. Содан кейін бұл формат стандартты түрде қабылданды AmigaOS 4.0, Морфос және AROS. ELF қолдауын WarpUp-ға үшінші тарап әзірлеушілері қосты және Hyperion Entertainment тек ELF форматында WarpUp ойындарының санын шығарды.[3]

Кеңейтілген Hunk форматы

1997 жылы Haage & Partner бағдарламасында PowerUP үдеткіш тақталарына арналған WarpUp PowerPC ядросы. ELF екілік форматының орнына олар қолданыстағы hunk пішімін кеңейтуді таңдады. ELF екілік форматына байланысты мәселе, пайдаланушыларға ELF орындалатын файлдарын жүктеу үшін жүйені жамау керек болды және PPC / 68k кодын араластыру мүмкін болмады. Haage & Partner әзірлеген Extended Hunk Format (EHF) PPPC және 68k кодтарын PowerPC үдеткіші орнатылмаған болса, бар жүйені өзгертпестен бір орындалатын файлға араластыруға мүмкіндік берді.[1][2].

AmigaOS 4 және MorphOS

AmigaOS 4.0 және Морфос ELF-ті өздігінен басқара алады, бірақ бұл жүйелер PowerPC процессорына негізделген машиналарда жұмыс істеуге арналғандықтан, әзірлеушілер WarpUP бағдарламалық жасақтамасына үйлесімділік қосқан. AmigaOS 3.9. Сонымен қатар, MorphOS PowerUP бағдарламасының PowerUP акселераторларына арналған Phase5 бағдарламалық жасақтамасының үйлесімділігін жүзеге асырады.

Екі жаңа операциялық жүйе де Amiga Hunk пішімін қолдана алады, өйткені олар ескі Amiga-ны қолданады API қоршаған орта AmigaOS 3.1, және эмуляция арқылы 68000 кодын іске қосады.

  • Ескертулер:
  1. ^ Қатысты беттерді қараңыз Amiga-дағы PPC процессорының тарихы Тарих сайтында.
  2. ^ EHF сипаттамалары (сонымен қатар ағылшынша ) Haage & Partners сайтында.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  • AmigaDOS Manual үшінші басылымы (Bantam Books), Commodore Business Machines, шілде 1991 ж. ISBN  0-553-35403-5
  • Amiga ROM ядросы бойынша анықтамалық нұсқаулық, қамтылған және автодоктар (3-ші басылым; қара сұр мұқаба), Аддисон-Уэсли, 1991 ж. ISBN  0-201-56773-3
  • Commodore Business Machines: 1989 Amiga Developers Conference Notes, Commodore, 1989. CATS бөлшектерінің нөмірлері: NOTES89 және NOTES89D
  • Commodore бизнес машиналары: V3.1 Amiga Developer жаңарту дискісінің жинағы, Commodore, 1994. CATS бөлшек нөмірі: AMDEV3.1

(Commodore компаниясының Amiga әзірлеушілеріне таратқан дискеттер жиынтығы ескірген, жаңартылған және «Developer CD» -ге ауыстырылған)

  • Commodore Business Machines: 1988 Amiga Developers Conference Notes Commodore, 1988. CATS бөлшектерінің нөмірлері: NOTES88 және NOTES88D
  • Стивен Леви: Amiga бағдарламашысының нұсқаулығы, есептеу! Басылымдар, 1986 ж. ISBN  0-87455-028-9
  • Евгений П.Мортимор: Amiga бағдарламашысының анықтамалығы, Sybex, 1985 ж. ISBN  0-89588-343-0
  1. ^ http://krashan.ppa.pl//articles/amigaicons/ кейбір мәліметтер
  2. ^ http://aminet.net/package/docs/misc/Overlay Қосарланған екілік файлдар туралы құжат
  3. ^ Штеффен Хаузер (18 желтоқсан 2002). «өткен жарылыс». Алынған 2011-08-01.

Сыртқы сілтемелер