Бірлікті басқару блогы - Unit Control Block

Жылы IBM негізгі жүйесі операциялық жүйелер бастап OS / 360 және ізбасарлары сызық, а Бірлікті басқару блогы (UCB) Бұл жады құрылымы немесе а басқару блогы, кез-келген синглді сипаттайды кіріс шығыс перифериялық құрылғы (бірлік) немесе an экспозиция (бүркеншік ат), амалдық жүйеге. UCB ішіндегі белгілі бір деректер де нұсқаулық береді Кіріс / шығыс супервайзері (IOS) қосымша физикалық құрылғыны басқару үшін IOS қалыпты өңдеуден басқа кейбір жабық ішкі бағдарламаларды пайдалану.

Кейбір басқа операциялық жүйелер ұқсас құрылымдарға ие.

Шолу

Кезінде бағдарламаның бастапқы жүктемесі Ағымдағы (IPL)[a] MVS жүйелер, Nucleus Initiization Program (NIP) енгізу-шығару анықтамалық файлынан (IODF) қажетті ақпаратты оқиды және оны UCB құру үшін қолданады. UCB жүйелер жадында, Кеңейтілген кезек аймағы (ESQA). IPL аяқталғаннан кейін UCB-ді енгізу / шығару қолдауына иелік етеді. UCB-де сақталған кейбір ақпарат: құрылғының түрі (диск, таспа, принтер, терминал және т.б.), құрылғының мекен-жайы (мысалы) 1002), ішкі канал идентификаторы және құрылғының нөмірі, құрылғыға жолды анықтайтын арна жолының идентификаторы (CHPID), кейбір құрылғылар үшін сериялық нөмір (VOLSER) және басқа да көптеген мәліметтер, соның ішінде ОЖ-ны басқару туралы мәліметтер.

UCB мазмұны MVS дамыған сайын өзгергенімен, тұжырымдама өзгерген жоқ. Бұл - арналық командалық процессор сыртқы құрылғының Әр UCB ішінде SSCH ассемблер нұсқаулығында қолданылатын ішкі каналды ақпараттық блоктың көрінісі бар (IRB-ге енгізіледі немесе енгізу үшін ORB-ге қойылады),[1] CCW деп аталатын арналық командалар тізбегін бастау. CCW UCB-ге STARTIO макро интерфейсімен кезекке тұрады,[2] дегенмен, бұл сілтемеде STARTIO макросы талқыланбайды, өйткені бұл макро нұсқау ЖОҚ IBM - бұл интерфейс кем дегенде соңғы үш онжылдықта өзгеріссіз қалатынына қолдау көрсетпейтін интерфейс. The СТАРТИО Арна кезегі бос болса немесе интерфейс операцияны дереу бастайды немесе кейінге қалдырылған орындау үшін Арна кезегінде сұранысқа кезекке тұрады. Мұндай кейінге қалдырылған орындау сұрау кезекте тұрған кезде және құрылғы қол жетімді болған кезде бірден басталады, тіпті егер сол сәтте басқа бағдарлама басқарылса. Бұл негізгі дизайн Кіріс / шығыс супервайзері (IOS).

UCB құрылғы туралы ақпарат пен күйлерді сақтауға арналған зәкірге айналды. Қазіргі уақытта UCB-де сыртқы интерфейс үшін қолданылатын бес аймақ бар: Device Class Extension, UCB Common Extension, UCB Prefix Stub, UCB Common Segment және UCB Device тәуелді сегмент.[3] Басқа бағыттар тек ішкі пайдалану болып табылады. Бұл ақпаратты оқуға және құрылғы туралы ақпаратты анықтауға пайдалануға болады.

Осы ОЖ-ны алғашқы енгізулерінде UCB (іргетастар мен кеңейтімдер) SYSGEN кезінде жинақталған және жүйенің алғашқы 64 КБ шегінде орналасқан, өйткені енгізу-шығару құрылғысын іздеу кестесі 16-биттік Q-типтен тұратын ( мекен-жайы. Кейінгі жетілдірулер кеңейтулердің 64 килобайтты (65,536 байт) сызықтан жоғары болуына мүмкіндік берді, осылайша 64 килобайтты жолдан төмен қосымша UCB іргетастары үшін орын үнемделді және сонымен қатар UCB іздеу кестесінің архитектурасы сақталды (CUu-ді UCB негізіне айналдыру) мекен-жайы).

Параллель енгізу-шығару операцияларын өңдеу

UCB-ді 1960-шы жылдары енгізілген OS / 360. Содан кейін UCB бағытталған құрылғы әдетте қозғалмалы бас болды қатты диск жетегі немесе а таспа жетегі, ішкі жоқ кэш. Онсыз, әдетте, бұл құрылғы мейнфреймнен өрескел асып түсті арна процессоры. Демек, бір уақытта бірнеше енгізу / шығару операцияларын орындауға себеп болмады, өйткені бұл құрылғының физикалық өңделуі мүмкін емес еді. 1968 жылы IBM 2305-1 және 2305-2 тіркелген дискілерді шығарды, олардың саны 8 болды әсер ету (лақап адрестер) әр дискіге және OS / 360 қолдауы бірнеше параллель арналық бағдарламаларға рұқсат беру үшін экспозицияға UCB ұсынды. Сол сияқты, OS / 360-тан алынған кейінгі жүйелер a-да бөлінген әр виртуалды көлем үшін қосымша UCB талап етті 3850 жаппай сақтау жүйесі (MSS) және әрбір әсер ету үшін 3880-11, 3880-13 және олардың ізбасарлары.

Жұмыс жүктемесі менеджері және UCB

Бастапқыда енгізілгенде, операциялық жүйеде күту енгізу-шығаруының басқа күту енгізу-шығару жүйелеріне қарағанда маңызды немесе аз екендігін анықтаудың нақты әдісі болған жоқ. Құрылғыға енгізу / шығару амалдары жүргізілді бірінші, бірінші. Жұмыс жүктемесі менеджері (WLM) енгізілді MVS / ESA 5.1. OS / 390 енгізу-шығаруға «ақылды» кезек қосылды. Жүйелік бағдарламалаушы WLM-ге берген ақпаратты қолдана отырып, амалдық жүйеге басқа күту енгізу-шығару жүйелеріне қарағанда қандай күту енгізу-шығысы маңызды немесе аз екенін анықтауға мүмкіндік берді. Содан кейін WLM кезекпен күту енгізу-шығару жүйесін алға немесе төмен жылжытатын еді, сондықтан құрылғы бос болмаған кезде, ең маңызды күту енгізу-шығару құрылғыны келесіге жібереді. WLM өңделетін маңызды жұмыс үшін құрылғыға енгізу-шығару реакциясын жақсартты. Алайда, кез келген уақытта бір UCB / құрылғыға жалғыз енгізу-шығару шегі болды.

Параллель қол жеткізу көлемдері (PAV)

Бір уақытта арна командаларының тек біреуі немесе енгізу-шығару іске қосылуы мүмкін. Бұл процессорлар баяу жұмыс істеген және енгізу-шығару тек процессорлар өңдейтін жылдамдықпен өңделетін 1960 жылдары жақсы болды. Жүйелер жетіліп, процессордың жылдамдығы енгізу-шығару кіріс сыйымдылығынан едәуір асып кеткендіктен, UCB деңгейінде серияланған құрылғыға қол жетімділік өте қиын болды.

Параллельді қол жеткізу деңгейі (PAV) бірнеше енгізу-шығару бір уақытта жұмыс істеуі үшін UCB-дердің өздерін клондауына мүмкіндік беру. DASD аппараттық құралының тиісті қолдауымен PAV бір уақытта бірнеше құрылғыға енгізу-шығару үшін қолдау көрсетеді. Көмектесу кері үйлесімділік, операциялар UCB деңгейінен төмен серияланған. Бірақ PAV бір логикалық құрылғыға қосымша UCB-ді анықтауға мүмкіндік береді, олардың әрқайсысы қосымша бүркеншік ат мекен-жайы. Мысалы, DASD құрылғысы негіз мекен-жайы 1000, бүркеншік аттары 1001, 1002 және 1003 болуы мүмкін. Бұл бүркеншік аттардың әрқайсысының жеке UCB-і болады. Қазір бір құрылғыда төрт UCB бар болғандықтан, бір мезгілде төрт енгізу-шығару мүмкіндігі бар. Дәл сол дәрежеде жазады, файлдың бір іргелес аймағына тағайындалған дискінің аймағы әлі де серияланған, бірақ басқалары оқиды және жазады бір уақытта. PAV дискінің контроллерінің бірінші нұсқасы UCB-ге PAV тағайындайды. PAV өңдеудің екінші нұсқасында Work Load Manager (WLM) мезгіл-мезгіл жаңа UCB-ге PAV тағайындайды. DS8000 контроллер сериясымен PAV өңдеудің үшінші нұсқасында әрбір енгізу-шығару қажет UCB-мен кез келген қол жетімді PAV қолданады.

PAV-дің таза әсері - дискінің жауап беру уақытының IOSQ уақыт компонентін көбіне нөлге дейін төмендету. 2007 жылғы жағдай бойынша, PAV үшін жалғыз шектеулер - бұл бүркеншік аттардың саны, бір базалық адрес үшін 255 және логикалық басқару блогындағы құрылғылардың жалпы саны, 256 санау базасы және бүркеншік аттар.

Статикалық және динамикалық PAV

PAV бүркеншік аттарының екі түрі бар, олар статикалық және динамикалық. Статикалық лақап аттың мекен-жайы DASD аппараттық құралында да, z / OS-та да белгілі бір негізгі мекен-жайға сілтеме жасау үшін анықталады. Динамикалық дегеніміз - нақты базалық адреске берілген бүркеншік аттар санының қажеттілікке байланысты өзгеріп отыратындығын білдіреді. Осы динамикалық лақап аттарды басқару мақсатты режимде жұмыс істейтін WLM-ге қалдырылады (бұл әрқашан деңгейлердің қолдауымен болады) z / OS ). PAV-ны іске асыратын көптеген жүйелерде әдетте екі PAV типінің қоспасы бар. Әрбір UCB базасы үшін бір, мүмкін екі статикалық бүркеншік ат, WLM-ді қалауы бойынша басқару үшін динамикалық бүркеншіктер тобы анықталады.

WLM жүйеде енгізу-шығару әрекетін бақылап отырғанда, WLM белгілі бір PAV қолдайтын құрылғы үшін жоғары қарама-қайшылыққа байланысты маңызды жұмыс жүктемесінің кешіктірілуін анықтайды. Дәлірек айтқанда, диск құрылғысы үшін UCB базасы мен бүркеншік аттары IOS кезегін жою үшін жеткіліксіз болуы керек. Егер үлкен келіспеушіліктер болса және мұны WLM бағалауы жүктеменің өз мақсаттарына тез жетуіне көмектеседі, ол бүркеншік аттарды басқа базалық мекен-жайдан осы құрылғыға ауыстыруға тырысады.

Тағы бір проблема, WLM сервистік сыныптары көрсеткендей, белгілі бір мақсатқа жету мүмкін болмауы мүмкін. Содан кейін WLM онша маңызды емес тапсырмалар үшін жұмысты өңдейтін UCB бүркеншік аттарын іздейді (егер қажет болса), WLM бүркеншік аттарды маңызды жұмысқа байланысты базалық адрестерге қайта байланыстырады.

HyperPAV

WLM-дің бүркеншік аттарды бір дискілік құрылғыдан екіншісіне ауыстыру әрекеттері эффектілерді көру үшін бірнеше секундты алады. Көптеген жағдайларда бұл тез емес. HyperPAV-дің реакциясы әлдеқайда жоғары, өйткені олар UCB-ді бассейннен алады бір енгізу-шығару операциясы, оны бассейнге қайтармас бұрын. WLM реакциясын күтуге ешқандай кідіріс жоқ.

Сонымен қатар, HyperPAV көмегімен UCB тек бір енгізу-шығару кезінде алынады, сол жүктемеге қызмет ету үшін UCB-дің динамикалық PAV-мен салыстырғанда аз саны қажет. Үлкен үшін z / OS UCB суреттері сирек ресурс бола алады. Сондықтан HyperPAV бұл тұрғыда біраз жеңілдік бере алады.

Басқа операциялық жүйелер

Ұқсас ұғым Unix тәрізді жүйелер - бұл ядро devinfo а, үлкен және кіші сандардың тіркесімі арқылы шешілетін құрылым құрылғы түйіні.

Сандық VMS операциялық жүйе ұқсас мақсаттар үшін UCB бірдей құрылымын қолданады. UCB әр енгізу-шығару құрылғысы үшін жасалады. UCB-дегі мәліметтер құрылғының блок нөмірін (құрылғы атауының бір бөлігін) және енгізу-шығару туралы сұраныстар кезекте тұруы мүмкін тізімді қамтиды. UCB құрылғы драйвері анықталған кеңейтілімге ие болуы мүмкін, онда драйвер әр құрылғыға негізделген драйвер анықтайтын мәліметтерді сақтай алады.[4]

The құрылғы нысаны енгізу-шығару ішкі жүйесінде Windows NT - отбасылық операциялық жүйелер тағы бір ұқсас құрылым.

Ескертулер

  1. ^ Ескі жүйелерде UCB ядролардың құрамына кіретін және оларды жинау кезінде жинайтын SYSGEN процесс.

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

  1. ^ «z / Пайдаланудың сәулет принциптері». PubLibZ.Boulder.IBM.com. IBM. 2004-05-04. б. 14.3.9. Алынған 2017-01-03.
  2. ^ «MVS бағдарламалау: авторизацияланған қызметтерге сілтеме» (PDF). PubLibZ.Boulder.IBM.com (12-ші басылым). IBM. Қыркүйек 2009. Алынған 2017-01-03.
  3. ^ «z / OS шығарылымы 11 MVS аймақтары» (PDF). PubLibZ.Boulder.IBM.com. IBM. 2009. Алынған 2017-01-04.
  4. ^ Голденберг, Рут; Сараванан, Сара (1994). OpenVMS AXP ішкі және деректер құрылымдары. Digital Press. б. 753. ISBN  978-1555581206. Басқарушы жүйеге бекітілген әрбір енгізу-шығару құрылғысы үшін блокты басқару блогын (UCB) жасайды.