Articulo de referencia

OS/360 объектон файлы формат

OS /360 объектон файлы формат у стандартон объектон модулты файлы формат IBM DOS/360 , OS/360 æмæ VM/370 , [ 1 ] Univac VS/9 , [ 2 ] æмæ Fujitsu BS2000 [ 3 ] сæйраг операцион си...

OS /360 объектон файлы формат у стандартон объектон модулты файлы формат IBM DOS/360 , OS/360 æмæ VM/370 , [ 1 ] Univac VS/9 , [ 2 ] æмæ Fujitsu BS2000 [ 3 ] сæйраг операцион системæтæн. 1990-æм азты форматæн лæвæрд æрцыд радаргъгонд XSD-типы фыстæй MVS операцион системæйæн, цæмæй æххуыс кæна даргъдæр модулты нæмттæн C программæйы æвзаджы . [ 4 ] Ацы форматæй нырма дæр пайда кæнынц z/VSE операцион системæйы ( DOS/360 операцион системæйы фæстæ ). Уый ныхмæ, уый ивд æрцыд GOFF файлы форматæй MVS операцион системæйы ( OS/360 операцион системæйы фæдыл ) æмæ z/VM операцион системæйы ( VM/370 операцион системæйы фæдыл ). Уымæн æмæ MVS æмæ z/VM æрбадæттæгтæ нырма дæр æххæст кæндзысты ацы зæронд формат, иуæй-иу компилятортæ равзæрстой дарддæр рауадзын ацы формат ногдæр GOFF форматы бæсты. [ 5 ]

Пайда кæнын

Ацы формат дæтты компиляцигонд куырдиаты объектон коды нывæзт, кæцыйы гæнæн ис æрвитын бастдзинады редактормæ, цæмæй дзы рауайа æххæстгæнæн программæ, кæнæ та комкоммæ æххæстгонд цæуа объектон модулты æрбакæнæджы фæрцы. Арæзт цæуы ассемблерæй кæнæ программæгæнæн æвзаджы компиляторæй. Ацы æрмæджы иннæ хайæн, кæд æмæ æвзаджы компилятор æмæ ассемблеры æхсæн хицæндзинады бæлвырд аххосаг нæ хъæуы, уæд термин «компилятор» хауы «ассемблер» æмæ «компилятор» та «ассемблер».

Лæмæгъдзинæдтæ

Ацы формат нымад æрцыд æмбæлоныл, фыццаг хатт куы арæзт æрцыд, уæдмæ, 1964 азы æввахс. Рæстæджы цыдимæ йын уыд къорд лæмæгъдзинæдты, уыдон нымæцы

  • æххуыс кæны æрмæстдæр 8-байтон дæргъæн нæмттæн (æмæ фылдæр хатт ис ахæм уагæвæрд, æмæ нæмттæ сты æрмæстдæр СТÆР дамгъæтæ, æмæ арæнæвæрд сты номы бæрæг символтæй, кæс дæлдæр ныхас).
  • æмрастгæнæн нæй бæлвырдгæнæн.
  • модуль, кæцы у сыгъдæг бæрæггæнæнтæ æмæ æххæстгæнæн нæй, нæй гæнæн сбæлвырд кæнын.
  • ногæй бацæуæг модуль (æрмæст кæсæнæй хицæн кæны) нæй гæнæн нысангонд æрцæуа.
  • нæй гæнæн хицæн кæнын дæлпрограммæ (программæ, кæцы æрмæстдæр аргументты фæрцы æххæст кæны бæрæггæнæнтæ) æмæ функци (программæ, кæцы æрвиты бæрæггæнæнтæ æрвитæггаг аргъæй).
  • модуль, кæцы афтæ арæзт у, цæмæй уа змæлгæ (æрмæст ногæй бацæуæны ныхмæ), нæй гæнæн бæлвырд кæнын.
  • адрисы константæтæн нæй гæнæн сбæрæг кæнын куыд амонæг (зæгъæм, бæрæггæнæнты структурæмæ бацæуынæн ), зæгъæм, таблицæмæ бацæуынæн (кæцы нæ ивд цæуы) кæнæ динамикон фыстæджы виртуалон методæн.
  • атрибуттæн нæй гæнæн æвæрын æддагон æвдисæнтæн (æвдисæн у кодмæ æмæ æвдисæн у бæрæггæнæнтæм).
  • ницы фæрæзтæ ис, цæмæй процедурæтæн кæнæ функцитæн уа фадат сбæрæг кæнын кæнæ сбæлвырд кæнын аргументты хуызтæ кæнæ сбæлвырд кæнын æддагон структурæтæ.
  • нæй гæнæн объект расидынæн, цыран структурæйы хай у бæрæггæнæнтæ, иннæ хай та код (методтæ, кæцытæ кусынц объекты бæрæггæнæнтыл).
  • SYM символикон таблицæ у арæнæвæрд информацийы, кæцы йæ ​​бон у раттын.

Ацы æмæ æндæр лæмæгъдзинæдтæ æркодтой, цæмæй ацы формат ивд æрцыд GOFF модулы файлы форматæй. Фæлæ уый уыд хорз равзæрст, уымæн æмæ уыд зæрдæмæдзæугæ программæйы æвзæгты хъуагдзинæдтæн, кæцытæй пайда кодтой уыцы рæстæджы, уый куыста æмæ уыд хуымæтæг реализацигæнæн (уæлдайдæр та уыцы рæстæджы машинæтæн уыд 8K мысæн, бирæтæ куыстой бирæнымæц æмрæстæджы кæнæ фæд-фæдыл куыстытæ 64K-æй къаддæр, æмæ æцæгæйдæр æххæст кодтой пайдайаг куыст), хуымæтæг пайдагæнæн æмæ программæтæн (объекттæ æмæ ориентаци уыдаиккой хуымæтæг, зæгъæм, виртуалон методтæ фидæны, фыццаг хатт куы арæзт æрцыд, уæдæй), гæнæн ис æмæ уа адекватон. Афтæ ма, формат нырма дæр у зæрдæмæдзæугæ, цæмæй дарддæр дæр пайдагонд цæуа зæронд программæтæн, кæцытæ никуы ивд æрцыдысты, кæнæ та бындурон код кæм нæй æмæ объектон файлтæ сты программæйы иунæг хай, кæцы баззад.

Бафиппайут, GOFF файлы формат æрмæстдæр ацы формат кæй раивта (æмæ æвзаджы компиляторæн кæнæ ассемблерæн фылдæр информаци радта), формат нырма дæр у æцæг, гæнæн ис æмæ дарддæр дæр пайдагонд цæуа, æмæ нæ уыд æнæкусгæ. Ацы форматæн ис ахæм хорздзинад, æмæ йæ саразын у æнцон æмæ хуымæтæг, æмæ компилятор ахæм æвзагæн, кæцыйæн йæ бон у цæрын йæ арæнæвæрдтимæ, кæцытæ сты максималон 8-нысанон стыр дамгъæйæ æрмæстдæр модулты нæмттæ, 2^24-æй стырдæр куырдиæттæ (16 мегабайт) код æмæ бæрæггæнæнтæн, нысан кæны, цыфæнды программæгæнæн æвзаг, кæцыйæн йæ бон у ныффыссын 80-форматæй бындуронæй фиксацигонд файлтæ (уыимæ COBOL æмæ FORTRAN, æрмæст Assembler нæ), ис спайда кæнæн ацы объекты форматæн компилятор саразынæн. Æцæгæй та, Австралийы атомон энергийы къамисы Pascal 8000 компилятор IBM 360/370-æн, йæхæдæг фыст Pascal-ыл куыд хихостгæнæг компилятор 1978–1980 азты, комкоммæ сарæзта йæхи объектон файлтæ æнæ Assembler-æй пайда кæнгæйæ куыд æхсæн къахдзæф.

Фыстæгты хуызтæ

Ис дзы 6 алыхуызон фыстæджы хуызы:

  • ESD-фыстæгтæ бæрæг кæнынц сæйраг программæтæ, дæлпрограммæтæ, функцитæ, æнæраст хайæдтæ, Fortran Common æмæ цыфæнды модуль кæнæ процедурæ, кæцыйы æндæр модуль æрбахондзæн. Уыдонæй пайда кæнынц программæ(тæ) кæнæ программæйы сегменттæ бæрæг кæнынæн, кæцытæ æрцыдысты компиляцигонд компиляторы ацы æххæстгæнæны, æмæ æддагон процедурæтæ, кæцытæй пайда кæны программæ (зæгъæм, exit() C -йы , CALL EXIT Fortran- ы ; new() æмæ dispose() Pascal -ы ). ESD-фыстæгтæ хъуамæ æрцæуой ESD-символмæ æркæсыны размæ.
  • TXT-фыстæгты ис машинæйы амынддзинæдтæ кæнæ бæрæггæнæнтæ, кæцытæ сты модулы æвæрд.
  • RLD-фыстæгтæй пайда кæнынц адрис ивынæн. Зæгъæм, программæ, кæцы æвдисы адрис, кæцы ис 500 байты мидæг модулы мидæг, мидæгæй æвæрдзæн адрис 500-ыл, фæлæ модуль мысæнмæ куы æрбакæной, уæд æнæмæнгæй уыдзæн æндæр ран, уымæ гæсгæ RLD-фыст хъусын кæны бастдзинады редакторæн кæнæ æрбадæттæгæн, цавæр адрис хъæуы ивын. Стæй ма, модуль æддагон символмæ куы æркæсы, уæд фылдæр хатт æвæры символы аргъ нулыл, стæй уыцы символæн бахæсдзæн RLD-фыст, цæмæй æрбадæттæг кæнæ бастдзинады редакторæн уа фадат адрис раст аргъмæ раивынæн.
  • SYM фыстæгтæ бафтыдтой, цæмæй уа фадат символы тыххæй æфтауц информаци дæттынæн, зæгъæм, бæрæггæнæнты хуыз (нысанон кæнæ нымæцон) æмæ дзаумайы дæргъ.
  • XSD-фыстæгтæ бафтыдтой, цæмæй уа æфтауц информаци, ESD-фыстæджы цы ис, уымæй дарддæр æхсæнадон символты тыххæй, зæгъæм, процедурæтæ æмæ функцитæ, æмæ процедурæйы кæнæ функцийы номы дæргъ 8 дамгъæйæ фылдæрмæ фæуæрæхдæр кæнынæн.
  • END фыстæгтæ амонынц модулы кæрон, æмæ фадатмæ гæсгæ, программæ кæм хъуамæ райдайа æххæст кæнын.

Формат

Æппæт фыстæгтæ сты раст 80 байты дæргъæн; æнæспайдагонд быдыртæ хъуамæ уой æнæфыст. Алы фыстæджы фыццаг байт æдзухдæр вæййы дывæрон аргъ 02. Иннæ 3 байты сты æдзухдæр фыстæджы хуыз. Дамгъæты аргъдзинæдтæ сты EBCDIC- ы . Алы фыстæджы быдырты иннæ хай аразгæ у фыстæджы хуызæй. Уæлæмхасæнмæ гæсгæ, кæд æмæ модуль нысангонд æрцыд ассемблерон æвзаджы программæйы TITLE-ы ныхасы (кæнæ æвзаджы компилятор сфæнд кæны модульæн ном раттын), уæд йæ ном фæзыны галиуæрдыгæй растгонд алы фыстæджы 73–80 бынæтты; кæд ном цыбырдæр у 8 дамгъæйæ кæнæ ном нæ лæвæрд æрцыд, уæд алы фыстæджы баззайæг хайæн дæр фæзындзæн фæдфæдылон номыр (дамгъæты, рахизырдыгæй растгонд нуль æххæстæй). Æцæг практикæйы, фæдфæдылон номыры быдыр гæнæн ис æмæ уа уæгъд кæнæ дзы уа цыдæриддæр æвзаджы тæлмацгæнæджы фæнды æвæрын, æмæ у комментариты быдыр.

Ассемблер (кæнæ компилятор, бæрзонд æмвæзады æвзаджы цауы, зæгъæм, C , COBOL , Fortran , Pascal , PL/I кæнæ RPG III ), алы дæлпрограммæйæн, функциæн кæнæ программæйæн дæр сараздзæн ESD-фыст, æмæ Fortran программæты цауы та Common Blocks-æн. ESD-фыстæгты æфтауцджын ESD-фыстæгтæ арæзт æрцæудзысты ENTRY-йы ныхæстæн (модулæн йæ псевдоним кæнæ модулæн йæ альтернативон бацæуæн), æфтауцджын дæлпрограммæтæн, функцитæн кæнæ Fortran-ы номимæ кæнæ æнæхъæн COMMON блоктæн, кæцытæ хаст æрцыдысты компиляцигонд кæнæ æмбырдгонд модулты хайæ, æмæ æддагон дæлпрограммæты æмæ функциты нæмттæн, кæцытæ хуыйны модуль.

Бафиппайут, ис дыууæ хуызы æхсæнадон символы хуызтæ, ESDID æмæ LDID фыстæгтæ. ESDID-ы фыстæгтæ сты CSECTS æмæ DSECTS (Программæтæ, Процедурæтæ æмæ Функцитæ, æмæ, гæнæн ис, Фыст кæнæ Структурæйы декларацитæ) æмæ LDID-ы фыстæгтæ сты ENTRY-йы ныхæстæ (альтернативон кæнæ псевдоним бацæуæн бынæттæ CSECT кæнæ DSECT-мæ). ESDID-ы номырты бынат у хицæн LDID-ы номырты бынатæй, æмæ уымæ гæсгæ дыууæ алыхуызон номхуынд символы, иу ESDID æмæ иннæ LDID, дыууæйæн дæр сæ бон у дывæрон аргъ 0001.

Программæйы æххæстгæнæн объектты код æмæ бæрæггæнæнтæ æвæрд цæудзысты TXT-фыстæгты. Æндæр дæлпрограммæтæм, функцитæм кæнæ COMMON блоктæм сидтытæ лыггонд цæуынц RLD фыстæджы фæрцы, кæцытæ ивынц адрис, куыд æвæрд у TXT фыстæджы, цæмæй сбæрæг кæной дæлпрограммæйы кæнæ функцийы æххæст адрис. Фæндонмæ гæсгæ, æвзагæн йæ бон у раттын символикон æвдисæн информаци, зæгъæм, объектты нæмттæ æмæ бæрæггæнæнты хуызты информаци, кæнæ æрбæстонгæнæн символтæ SYM-фыстæгты фæрцы, æмæ уый фæстæ END-ы ныхас амоны Object-ы модулы файлы кæрон æмæ факультативон райдайæн адрис дæлпрограммæйæн, функцийæн кæнæ программæйæн, кæцыйæ ацы файл хъуамæ райдайа, кæд æмæ процедурæйы райдайæн адрис нæу фыццаг процедурæтæй (программæтæй гæнæн ис æмæ уа æнææххæстгæнæн бæрæггæнæнтæ, кæцытæ сты сæ æцæг коды размæ кæнæ фыццаг æмбырдгонд кæнæ æмбырдгонд процедурæйы размæ, не сты «сæйраг» программæ кæнæ «сæйраг» модуль.) Куыд хъусынгонд æрцыд, афтæмæй иуæй-иутæ рабæрæг кодтой, зæронд ассемблертæ куыд куыстой, уый тыххæй (1968–1975 азты æввахс), программæ тагъддæр æмбырдгонд кæй цæуы, кæд æмæ бæрæггæнæнтæ æвæрдтай программæйы размæ программæйы размæ, уæд æмбырдгæнæджы амынддзинæдтæ нæ уыд бирæ сындæгдæр, уымæ гæсгæ программисттæ фыстой процедурæтæ, цыран фыццаг æвæрдтой бæрæггæнæнтæ æмæ константæтæ, уый фæстæ та программæйы код. Ныртæккæйы хуызæн цалдæр секунды бæсты программæ æмбырд кæнын куы ахастаид 30 минутæй сахатмæ, уæд уый уыд стыр хицæндзинад.

Зæрдыл дарут, кæд æмæ æнæмæнгхъæуæг нæу, уæддæр æгъдау у, æмæ модулты æмæ символикон нæмттæ сты стыр дамгъæтæй ​​фыст , номы быдыры фыццаг дамгъæ у дамгъæ кæнæ символтæ @,# кæнæ $, æмæ номы фæдылдзог дамгъæтæ сты уыцы дамгъæтæ æмæ дамгъæты нымæцтæ 0-æй 9-мæ, кæд æмæ зæронд программæтæ раст ныхмæлæуд кæнæ нæ дæттынц модулты ныллæг дамгъæйы идентификатортæй. Assembly-йæ дарддæр фылдæр программæгæнæн æвзæгтæн сæ бон нæу ахæм модултæ æрбахонын, кæцыты нæмттæ сты @ кæнæ # (уæлдайдæр Fortran , уый тыххæй йæ æххæстгæнæн библиотекæйы ис ном #-имæ, цæмæй ма ныхмæлæууа программисты равзаргæ номимæ), уымæ гæсгæ фылдæр программæтæ, дæлпрограммæтæ кæнæ функцитæ фыст æрцыдысты, цæмæй фыццаг дамгъæйæ пайда кæной æрмæстдæр дамгъæйæ, æмæ кæд æмæ ном уыд дамгъæйæ даргъдæр, уæд нымæцтæ 2-агæй 8-æм дамгъæмæ. Кæд æмæ фылдæр æнæассемблерон æвзæгтæн сæ бон нæу номы $ æххæст кæнын, уæддæр æнæуый у Fortran, кæцыйæн йæ бон у базонын дæлпрограммæты нæмттæ $-имæ. (Фæнысан кæнын хъæуы уый, æмæ # @ кæнæ $ ма пайда кæныны равзæрст нæ хауы "сæйраг" программæмæ, кæцы фыст у Assembler-ыл кæнæ æндæр æвзагыл, кæцыйæн йæ бон у спайда кæна ацы идентификатортæй, программæйы æрбадæттæг нæ тыхсы, цы у модулы ном.) Стæй ма, модултæ, кæцытæ фыст сты дæлпрограммæтæй пайда кæнынæн, фылдæр хатт сæхи арæн кæнынц 6 дамгъæйæ кæнæ къаддæр, уымæн æмæ Forstran-ы верситæ раздæр дæлпрограммæтæй пайда кæнынц модултæ, кæцыты дæргъ у 6 дамгъæйæ фылдæр. COBOL-ы компилятор фылдæр хатт ныууадзы тирейы дамгъæ, кæд æмæ уый фæзыны программæйы PROGRAM-ID-ы кæнæ æддагон модулмæ CALL-ы ныхасы.

1990-æм азты бафтыдтой ног фыстæджы хуыз, XSD фыстæг, цæмæй ацы объектон модулты форматæй пайда кæнын фæуæрæхдæр уа, цæмæй 8 дамгъæйæ фылдæр модулты нæмттæ уа æмæ æмхæццæ дамгъæты нæмттæ уа бар, куыд домдæуы C программæйы æвзаг.

Иумæйаг нывæзт

ESD фыст

RLD-йы раивыны фыстæгтæ

SYM запись

XSD фыст

КÆРОН фыст

Æрмæг

  1. OS/VS - VM/370 Ассемблеры программисты æххуыс (PDF) (Фæндзæм  рауагъд). Сан-Хосе, Калифорни: IBM. 1982 азы сентябры. GC33-4021-4.
  2. VS/9 Assembler Reference Manual: Программæйы æххуыс Univac 90/60, 90/70 æмæ 90/80 серийы сæйраг компьютертæн , Sperry Univac, Cinnamonson, NJ, 1978
  3. ASSEMBH Reference Manual , U5223-J-Z125-3-7600, Fujitsu Technology Solutions GmbH, 2010 азы июнь, http://manuals.ts.fujitsu.com/file/957/assh_bs.pdf (Райст 2013 азы 7 августы)
  4. Бæрзонд æмвæзады ассемблер z/OS & z/VM & z/VSE программистæн æххуысгæнæг , Æфтауц C. 6-æм рауагъд, SC26-4941-05, IBM, Сан-Хосе, CA, 2008 азы июль https://publibfp.boulder.ibm.com/epubs/pdf/asmpfpd.
  5. IBM z/VSE Системæйы контролы хъусынгæнинæгтæ: 5-æм верси 1-аг рауагъд , SC34-2637-00, IBM, 1984, 2011.
  • OS/MVS программæйы къухдариуæгад: уæлæмхасæн æнцонвадатдзинæдтæ , SA22-7644-07, æстæм рауагъд, IBM, Poughkeepsie, NY, æстæм рауагъд, 2007 азы сентябрь http://publibz.boulder.ibm.com/epubs/pdf/iea2b270.pdf Архивгонд у 2019-æм азы фæстæ Машинæ (Ист 2013 азы 9 августы
  • Джон Р. Эрман (2001 азы 1 мартъийы). "Куыд кусы бастдзинады редактор: ахуыргæнæн чиныг объект/æрбадæттæг модултæ, бастдзинады редактортæ, æрбадæттæг æмæ цы аразынц дæуæн (æмæ) ] ] " (PDF) . Сан-Хосе: IBM Кремнийы комы (Санта-Тереза) лаборатори . Ис 2023 азы 24 декабры .