Proveďte program kanálu - Execute Channel Program
![]() | tento článek potřebuje další citace pro ověření.Červen 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v Sálové počítače IBM operační systémy, Proveďte program kanálu (EXCP) je volání vedoucího pro nízkoúrovňový přístup k zařízení, kde je programátor odpovědný za poskytnutí a program kanálu —Seznam příkazů specifických pro zařízení (CCW) - které mají být provedeny I / O kanály, řídicími jednotkami a zařízeními.[1][2] EXCP pro OS / 360 a jeho nástupci[3][4] je konkrétněji popsán v příručce OS System Programmer's Guide.[5]; EXCP pro DOS / 360 a jeho nástupci[6] je konkrétněji popsán v DOS Supervisor a I / O Macros.[7][8]Tento článek většinou odráží OS / 360 až [z / OS]; některé podrobnosti se u TOS / 360 a DOS / 360 liší z / VSE.
Specifikace datových sad
Pomocí EXCP mohou být starší zařízení a starší datové sady provozovány s relativně vysokým výkonem. Zařízení EXCP jsou OTEVŘENA (tj. Jsou zpřístupněna aplikaci) zadáním Blok pro kontrolu dat (DCB) pro OS a DTFPH pro DOS.
Specifikace I / O operací
Pro OS / 360 až z / OS poskytuje program blok „Vstup / výstup“ (IOB) na EXCP; pokud program provede EXCP pro více IOB, systém je zpracuje v pořadí, v jakém byly požadovány. U DASD zahrnuje IOB vyhledávací adresu, IOBSEEKve formátu MBBCCHHR, kde M je rozsah, BB je přihrádka pro datovou buňku, CCHH je válec a hlava a R je číslo záznamu.
Přílohy
Úplný seznam východy (volal, v kontextu EXCP, přílohy) umožňuje autorizovaným programům přepsat nebo rozšířit mnoho kontrol zabezpečení systému a integrity dat. Většina z těchto příloh je podporována kvůli kompatibilitě s dřívějšími instancemi operačního systému, ale funkce několika byly pro MVS upraveny nebo rozšířeny. Přílohy jsou v DCB specifikovány jako poslední dva znaky názvu modulu IGG019xx, kde xx = WA až Z9, včetně. Tyto názvy modulů jsou vyhrazeny pro přílohy psané instalací. Libovolný jiný název formuláře IGG019xx je vyhrazen pro použití přístupovými metodami IBM.[9] Přílohy musí být umístěny v SYS1.SVCLIB (SYS1.LPALIB v SVS nebo novějších instancích OS).
Integrita datové sady
Normálně, když program OPENs DCB pro EXCP, OPEN vytvoří a Blok rozsahu dat (DEB) obsahující každý rozsah pro první svazek přidružené datové sady; však pro paralelní montáž OPEN vytvoří DEB obsahující všechny rozsahy pro všechny svazky. Každý DEB je dopředu a dozadu připoután k DCB a EXCP kontroluje řetězení jako opatření zabezpečení systému, protože DCB je umístěn v nechráněném úložišti uživatele, zatímco DEB je umístěn v chráněném systémovém úložišti, Subpool 253; v OS / VS1 a OS / VS2 používá EXCP DEBCHK k zajištění toho, že DEB byl vytvořen OPEN. U DASD EXCP kontroluje, zda je vyhledávací adresa v IOB v jednom z rozsahů, a používá a Nastavit masku souboru např. uveďte, zda je rozsah orientován na válec nebo stopu, zda je povolen zápis; tím se zabrání vyhledání ze zadané dráhy (válce). Pokud se programátor pokusí číst za konec stopy (válce), a kontrola jednotky dojde a zotavení po chybě restartuje program kanálu s další stopou (cylindrem) aktuálního rozsahu. Pokud operace překročí konec rozsahu, EXCP zavolá konec rozsahu příloha, která může aktualizovat IOB a požadovat, aby EXCP znovu vydala žádost, nebo aby ji EXCP ukončila.
Pouze starší datové sady
EXCP je někdy zaměňována s metodou přístupu k úložnému zařízení s přímým přístupem, ale není určena výhradně pro úložná zařízení s přímým přístupem; spíše jde o univerzální nízkoúrovňové přístupové rozhraní zařízení, které podporuje libovolné dědictví typ zařízení a jakýkoli dědictví organizace datové sady. Pro přístup Všechno typy zařízení a Všechno organizace datových sad, tím obecnější Spusťte vstup / výstup rozhraní (STARTIO) je k dispozici v MVS / 370 a následujících instancích operačního systému, ačkoli se nejedná o oficiálně podporované rozhraní.
Zjednodušené operace s datovými soubory s přímým přístupem
Varianta EXCP je Proveďte program přímého přístupu (XDAP), který se používá pouze pro přístup k úložišti přímého přístupu a slouží ke čtení a aktualizaci existujících záznamů úložiště přímého přístupu. XDAP nelze použít k přidání záznamů, ale XDAP lze použít spolu s BSAM nebo BPAM k provedení přidání záznamu k těmto datovým sadám a několik komponent OS využívá XDAP tímto způsobem (zejména editor propojení, IEWL).
Přístup k telekomunikačním zařízením
EXCP lze také použít pro přístup ke komunikačním zařízením připojeným k IBM 2701, 2702 a 2703 řadiče komunikace a front-endové procesory IBM 370x nebo Amdahl 470x (a jejich příslušná následná opatření) pracující v režimu emulátoru (EP) nebo režimu emulátoru oddílů (PEP).
Vztah k nadřízenému
Front-end EXCP je vždy v režimu TCB, protože EXCP je typu 1 SVC. V MVS / 370 a následujících instancích OS vyvolává procesor EXCP STARTIO naplánovat provedení kanálového programu. Ačkoli back-end procesoru EXCP je vždy v režimu SRB, back-end obsahuje emulační kód, který umožňuje přídavkům vyvinutým pro dřívější instance systému OS před MVS, konkrétně pro EXCP, fungovat do značné míry jako dříve, a tím vypadat být v režimu TCB, pro který byly tyto přílohy původně navrženy. Toto rozlišení může zkomplikovat převod určitých přístupových metod a aplikací k vlastnímu nasazení na MVS.
Programy kanálů
Programy kanálu System / 360 jsou posloupností příkazů, které jsou prováděny kanálem a I / O zařízením. Programy kanálů lze umístit kdekoli v hlavním úložišti. Program kanálu je sekvence Příkazová slova kanálu (CCW), které lze provádět postupně, pokud nezavolá pobočka Přenést do kanálu (TIC), je spuštěn nebo kanál vrací a modifikátor stavu. Každé CCW je dvojslovo (osm bajtů) takto:[10]
bit 0 7 8 31 + -------- + ----------------------- + | Příkaz | Datová adresa | + -------- + ----------------------- + 32 36 40 47 48 63 + ------ + - - + -------- + ------------ + | Vlajky | 000 | vyhrazeno | počet | + ------ + --- + -------- + ------------ + Šest příkazů je definováno v bitech dolního řádu pole příkazu ( 0-7). Čtyři (nebo šest) bitů vyššího řádu jsou pro některé příkazy „modifikátory“ („M“) nebo jsou ignorovány. Příkazy jsou: 0100 - Sense 1000 - Přenos v kanálu (TIC) 1100 - Čtení vzad --01 - Zápis --10 - Čtení --11 - Ovládání
Datová adresa (8–31) je 24bitová adresa hlavní oblasti vyrovnávací paměti úložiště, do které nebo z níž mají být data přenesena.
Příznakové bity (32-36) jsou definovány takto:
Bit | ID | název | Popis |
---|---|---|---|
32 | CD | Řetězová data | Chcete-li pokračovat v tomto příkazu, použijte oblast úložiště uvedenou v dalším CCW |
33 | CC | Řetězový příkaz | Po dokončení tohoto příkazu proveďte další sekvenční CCW pokud nejsou nastaveny CC nebo CD, program kanálu se po provedení tohoto příkazu ukončí |
34 | SLI | Potlačit indikaci délky | Ignorujte nesprávnou délku tohoto příkazu |
35 | PŘESKOČIT | Přeskočit | Potlačit přenos dat pro tento příkaz |
36 | PCI | Přerušení řízené programem | Když se tento příkaz spustí, vygenerujte přerušení |
Pole count (48-63) označuje počet bajtů, které mají být přeneseny tímto příkazem.
Všech osm bitů příkazů, které inicializují I / O operace, se předá zařízení. "Modifikační bity specifikují zařízení, jak má být příkaz proveden." Například pro IBM 2305 DASD psát si příkaz ('MMMMMM01'BX) může mít následující hodnoty:[11]
Bitová hodnota | Hexadecimální | Popis |
---|---|---|
0001 1001 | '19'X | Napište adresu domů |
0001 0101 | '15'X | Napsat záznam 0 |
0001 0001 | '11'X | Vymazat |
0001 1101 | '1D'X | Počet zápisů, klíč a data |
0000 0001 | '01'X | Napište speciální počet, klíč a data |
0000 0101 | '05'X | Zapisovat data |
0000 1101 | '0D'X | Napište klíč a data |
Reference
- ^ Reino Hannula (1974). Počítače a programování: Přístup systému / 360–370 Assembler Language. Houghton Mifflin. str. 431. ISBN 978-0-395-16796-0.
- ^ Gopal K.Kapur (1. ledna 1970). Programování jazyka IBM 360 Assembler. John Wiley & Sons. str.453–454, 456–459, 461. ISBN 978-0-471-45840-1.
- ^ Robert H. Johnson (červen 1989). MVS: koncepty a zařízení. Intertextové publikace. str. 558. ISBN 978-0-07-032673-6.
- ^ "Kapitola 4. Provádění vlastních programů kanálu" (PDF). z / OS verze 2, vydání 4, DFSMSdfp Advanced Services (PDF). IBM. Srpen 2020. s. 151–210. SC23-6861-40.
- ^ Příručka programátora operačního systému IBM System / 360 (PDF). IBM. Březen 1967. C28-6550-2.
- ^ Gary A. Stotts (1. srpna 1990). DOS / VSE: Úvod do operačního systému. QED Informační vědy. str. 18. ISBN 978-0-89435-332-1.
- ^ DOS Supervisor a I / O makra (PDF). IBM. GC24-S037-12.
- ^ Uživatelská příručka k systémovým makrům systému IBM z / VSE verze 6, vydání 1 (PDF). IBM. 2015. SC34-2709-00.
- ^ IGG = předpona podpory I / O podpory; 019 = Otevřená dílčí součást SVC; xx = dílčí funkce
- ^ IBM Corporation (leden 1967). Zásady fungování systému IBM System / 360 (PDF). str. 84–121. Citováno 4. prosince 2019.
- ^ IBM Corporation (srpen 1971). Referenční příručka pro IBM 2835 Storage Control a IBM 2305 Fixed Head Storage Module (PDF). str. 17. Citováno 5. prosince 2019.