Kanal Programını Yürüt - Execute Channel Program

İçinde IBM ana bilgisayar işletim sistemleri, Kanal Programını Yürüt (EXCP) bir gözetmen çağrısı düşük seviyeli cihaz erişimi için, programcının bir kanal programı - cihaza özgü komutların bir listesi (CCW'ler) - G / Ç kanalları, kontrol birimleri ve cihazlar tarafından yürütülecektir.[1][2] EXCP için OS / 360 ve halefleri[3][4] OS Sistem Programcı Kılavuzu'nda daha spesifik olarak açıklanmaktadır.[5]; EXCP için DOS / 360 ve halefleri[6] DOS Süpervizörü ve G / Ç Makrolarında daha spesifik olarak açıklanmaktadır.[7][8]Bu makale çoğunlukla OS / 360 ile [z / OS] arası; TOS / 360 ve DOS / 360 için bazı ayrıntılar farklıdır. z / VSE.


Veri kümelerini belirtme

EXCP kullanılarak, eski cihazlar ve eski veri kümeleri, nispeten yüksek performansla çalıştırılabilir. EXCP cihazları, aşağıdakiler belirtilerek AÇIK hale getirilir (yani uygulama tarafından kullanılabilir hale getirilir). Veri Kontrol Bloğu OS için (DCB) ve DOS için DTFPH.

G / Ç işlemlerini belirleme

OS / 360 - z / OS için, program bir 'Giriş / Çıkış Bloğu sağlar (IOB) 'dan EXCP'ye; program birden fazla IOB'ye bir EXCP yaparsa, sistem bunları talep edilen sırayla işler. DASD için IOB bir arama adresi içerir, IOBSEEK, MBBCCHHR biçiminde, burada M kapsam, BB bir veri hücresi için bölmedir, CCHH silindir ve başlıktır ve R kayıt numarasıdır.

Ekler

Kapsamlı bir listesi çıkışlar (EXCP bağlamında, ekler) yetkili programların sistem güvenliği ve veri bütünlüğü denetimlerinin çoğunu geçersiz kılmasına veya artırmasına izin verir. Bu eklentilerin çoğu, işletim sisteminin önceki örnekleriyle uyumluluk için desteklenir, ancak birkaçının işlevi MVS için değiştirilmiş veya genişletilmiştir. Ekler, DCB'de IGG019xx modül adının son iki karakteri olarak belirtilmiştir, burada xx = WA - Z9 dahil. Bu modül adları, kurulum tarafından yazılan ekler için ayrılmıştır. IGG019xx biçiminin diğer herhangi bir adı, IBM erişim yöntemleri tarafından kullanılmak üzere ayrılmıştır.[9] Ekler, SYS1.SVCLIB'de (SVS'de veya OS'nin sonraki örneklerinde SYS1.LPALIB) bulunmalıdır.

Veri kümesi bütünlüğü

Normalde, bir program EXCP için bir DCB AÇTIĞINDA, OPEN bir Veri Kapsamı Bloğu (DEB) her birini içeren kapsam ilişkili veri kümesinin ilk cildi için; ancak için paralel montaj OPEN, tüm ciltler için tüm kapsamları içeren bir DEB oluşturur. Her DEB, DCB'ye ileri ve geri zincirlidir ve EXCP, DCB korumasız kullanıcı depolamasında bulunurken DEB korumalı sistem depolamasında yer aldığından, bir sistem güvenlik önlemi olarak zincirlemeyi denetler, Subpool 253; OS / VS1 ve OS / VS2 EXCP'de, DEB'nin OPEN tarafından oluşturulduğundan emin olmak için DEBCHK kullanılır. DASD için EXCP, IOB'deki arama adresinin kapsamlardan biri içinde olup olmadığını kontrol eder ve bir Dosya Maskesini Ayarla , ör. Yazıma izin verilip verilmediğini, kapsamın silindir mi yoksa iz odaklı mı olduğunu belirtin; bu, belirtilen yolun (silindirin) aranmasını önler. Programcı yolun (silindirin) sonunu okumaya çalışırsa, bir birim kontrolü oluşur ve hata düzeltme, kanal programını geçerli kapsamdaki bir sonraki parça (silindir) ile yeniden başlatır. Operasyon kapsamın sonunu aşarsa, EXCP, kapsamın sonu Ek, IOB'yi güncelleyebilir ve EXCP'nin talebi yeniden göndermesini veya EXCP'nin onu sonlandırmasını talep edebilir.

Yalnızca eski veri kümeleri

EXCP bazen doğrudan erişimli depolama cihazı erişim yöntemiyle karıştırılır, ancak yalnızca doğrudan erişimli depolama cihazları için değildir; daha ziyade, genel amaçlı, düşük seviyeli bir cihaz erişim arayüzüdür ve herhangi bir miras cihaz türü ve herhangi biri miras veri kümesi organizasyonu. Erişim için herşey cihaz türleri ve herşey veri kümesi kuruluşları, daha genel Giriş / Çıkış Başlat arabirim (STARTIO), resmi olarak desteklenen bir arabirim olmamasına rağmen MVS / 370 ve OS'nin sonraki örneklerinde mevcuttur.

Doğrudan erişim veri kümelerinde basitleştirilmiş işlemler

EXCP'nin bir varyasyonu: Doğrudan Erişim Programını Yürüt (XDAP), yalnızca doğrudan erişimli depolamaya erişmek için kullanılır ve mevcut doğrudan erişim depolama kayıtlarını okumak ve güncellemek için sağlanır. XDAP, kayıt eklemek için kullanılamaz, ancak XDAP, bu tür veri kümelerine kayıt eklemelerini gerçekleştirmek için BSAM veya BPAM ile birlikte kullanılabilir ve birçok işletim sistemi bileşeni bu şekilde XDAP kullanır (özellikle Bağlantı Düzenleyicisi, IEWL).

Telekomünikasyon cihazına erişim

EXCP, aynı zamanda bağlı iletişim cihazlarına erişmek için de kullanılabilir. IBM 2701, 2702 ve 2703 öykünücü modunda (EP) veya bölümlenmiş öykünücü modunda (PEP) çalışan iletişim denetleyicileri ve IBM 370x veya Amdahl 470x ön uç işlemcileri (ve bunların takipçileri).

Süpervizörle ilişki

EXCP bir Tip 1 olduğu için EXCP'nin ön ucu her zaman TCB modundadır SVC. MVS / 370 ve işletim sisteminin sonraki örneklerinde, EXCP işlemci STARTIO kanal programının yürütülmesini planlamak için. EXCP işlemcisinin arka ucu her zaman SRB modunda olsa da, arka uç, işletim sisteminin daha önceki MVS öncesi örnekleri için, özellikle EXCP için geliştirilen eklentilerin büyük ölçüde eskisi gibi çalışmasına ve böylece görünmesine izin veren öykünme kodunu içerir. bu eklentilerin orijinal olarak tasarlandığı TCB modunda olmalıdır. Bu ayrım, belirli kendinize ait erişim yöntemlerinin ve uygulamalarının MVS'ye dönüştürülmesini zorlaştırabilir.

Kanal programları

Sistem / 360 kanal programları, kanal ve I / O cihazı tarafından yürütülen bir dizi komuttur. Kanal programları, ana depolamada herhangi bir yere yerleştirilebilir. Kanal programı bir dizi Kanal Komut Sözcükleri (CCW'ler), bir dal çağrılmadıkça sırayla yürütülebilir Kanalda Transfer (TIC), yürütülür veya kanal bir durum değiştirici. Her CCW, aşağıdaki gibi bir çift kelimedir (sekiz bayt):[10]

 bit 0 7 8 31 + -------- + ----------------------- + | Komut | Veri adresi | + -------- + ----------------------- + 32 36 40 47 48 63 + ------ + - - + -------- + ------------ + | Bayraklar | 000 | saklıdır | sayım | + ------ + - + -------- + ------------ + Komut alanının düşük sıralı bitlerinde altı komut tanımlanmıştır ( 0-7). Yüksek dereceli dört (veya altı) bit, bazı komutlar için '' değiştiriciler '' ('M') 'dir veya yok sayılır. Komutlar şunlardır: 0100 - Sense 1000 - Kanala Aktar (TIC) 1100 - Geriye doğru oku --01 - Yaz --10 - Oku --11 - Kontrol

Veri adresi (8-31), verinin aktarılacağı veya aktarılacağı ana depolama tampon alanının 24 bitlik adresidir.

İşaret bitleri (32-36) aşağıdaki gibi tanımlanır:

BitİDİsimAçıklama
32CDZincir verileriBu komuta devam etmek için sonraki CCW'de belirtilen depolama alanını kullanın
33CCEmir Komuta ZinciriBu komut tamamlandığında sonraki sıralı CCW'yi çalıştır
CC veya CD ayarlanmadıysa, bu komutu uyguladıktan sonra kanal programı sona erer
34SLIUzunluk göstergesini bastırBu komut için yanlış uzunluğu göz ardı edin
35ATLAAtlaBu komut için veri aktarımını bastır
36PCIProgram kontrollü kesintiBu komut yürütülmeye başladığında bir kesinti oluşturun

Sayım alanı (48-63), bu komutla aktarılacak bayt sayısını gösterir.

G / Ç işlemlerini başlatan sekiz bitlik komutun tümü cihaza aktarılır. "Değiştirici bitler, cihaza komutun nasıl yürütüleceğini belirtir." Örneğin, IBM 2305 DASD yazmak komut ('MMMMMM01'BX) aşağıdaki değerlere sahip olabilir:[11]

Bit değeriOnaltılıkAçıklama
0001 1001'19'XEv adresini yaz
0001 0101'15'XKayıt 0 yaz
0001 0001'11'XSil
0001 1101'1D'XSayım, anahtar ve verileri yazın
0000 0001'01'XÖzel sayı, anahtar ve verileri yazın
0000 0101'05'XVeri yaz
0000 1101'0D'XAnahtar ve verileri yazın

Referanslar

  1. ^ Reino Hannula (1974). Bilgisayarlar ve Programlama: Bir Sistem / 360-370 Assembler Language Yaklaşımı. Houghton Mifflin. s. 431. ISBN  978-0-395-16796-0.
  2. ^ Gopal K. Kapur (1 Ocak 1970). IBM 360 Assembler Language Programming. John Wiley & Sons. pp.453–454, 456–459, 461. ISBN  978-0-471-45840-1.
  3. ^ Robert H. Johnson (Haziran 1989). MVS: kavramlar ve tesisler. Intertext Yayınları. s. 558. ISBN  978-0-07-032673-6.
  4. ^ "Bölüm 4. Kendi Kanal Programlarınızı Yürütme" (PDF). z / OS Sürüm 2 Sürüm 4 DFSMSdfp Gelişmiş Hizmetler (PDF). IBM. Ağustos 2020. s. 151–210. SC23-6861-40.
  5. ^ IBM System / 360 Operating System System Programmer's Guide (PDF). IBM. Mart 1967. C28-6550-2.
  6. ^ Gary A. Stotts (1 Ağustos 1990). DOS / VSE: İşletim Sistemine Giriş. QED Bilgi Bilimleri. s. 18. ISBN  978-0-89435-332-1.
  7. ^ DOS Danışmanı ve G / Ç Makroları (PDF). IBM. GC24-S037-12.
  8. ^ IBM z / VSE Sürüm 6 Sürüm 1 Sistem Makroları Kullanıcı Kılavuzu (PDF). IBM. 2015. SC34-2709-00.
  9. ^ IGG = G / Ç Destek bileşeni öneki; 019 = SVC alt bileşenini aç; xx = alt işlev
  10. ^ IBM Corporation (Ocak 1967). IBM System / 360 Çalışma Prensipleri (PDF). s. 84–121. Alındı 4 Aralık 2019.
  11. ^ IBM Corporation (Ağustos 1971). IBM 2835 Storage Control ve IBM 2305 Fixed Head Storage Module için Referans Kılavuzu (PDF). s. 17. Alındı 5 Aralık 2019.