Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarmaNa FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarmaTuhle otzku jsem slchal skoro pokad, kdy jsem nkomu vysvtloval, kde e to vlastn pracuju. Odpov by se dala formulovat zhruba takto:
Mainframy jsou jedny z nejvkonnjch pota, s jakmi se meme setkat. Jejich hlavn sla ale nen ve vysokm vpoetnm vkonu (i kdy ani ten rozhodn nen zanedbateln), ale pedevm ve vysok spolehlivosti a ve schopnosti zpracovvat obrovsk mnostv dat a transakc. Ano, tohle jsou ty potae o velikosti nkolika ledniek, co pracuj v dobe opevnnch sklepech leti, bank a dalch velkch firem a instituc. Myslte si, e mamut "superpotae" dvno pat na smetit djin a e dneska vechno jede na PCkch? Kdepak. Bankomaty, rezervace letenek, elektronick platby pes internet - to, co vidte, je jenom uivatelsk rozhran, ale vechnu podstatnou prci odvdj mainframy. V dob psan tohoto lnku vlastnilo svj mainframe plnch 95% nejbohatch firem svta. Z ekonomickho hlediska je to sice pekeln drah hraka, ale v konenm soutu vyjde levnji ne nkup a drba odpovdajcho mnostv PCek o stejnm vkonu, o spolehlivosti nemluv. A vt st zisk Velk Modr (IBM) pochz prv z mainfram.
Pokud by vs zajmal vznik a vvoj tto platformy, doporuuji lnek Complete history of mainframe computing od Riche Arzoomaniana.
Dobr, konec neplacen reklamy, te mainframm trochu nakoukneme pod ki.
Architekturu "pska" znme nejsp vichni: procesor s jednm nebo vce jdry, njak ta RAMka, diskov jednotky a mechaniky, vstup z klvesnice a myi, vstup na monitor a do reproduktor a to vechno je propojen sbrnicemi a kabely. Mainframe je na tom v zklad podobn, jenom m veho o trochu vc: pole procesor, kupu pamti, diskov pole a jin lon prostory a vechno m propojen a zazlohovan tak, aby ho ani selhn hardwaru nerozhodilo. Jinmi slovy: do mainframu mete za chodu vrazit roubovk a vyloupnout njak ten procesor nebo jinho "vba" a doshnete tm nanejv toho, e se rozsvt pr ervench kontrolek a zbytek procesor se bude muset trochu vc snait (toho je dosaeno paralelnm provdnm kad instrukce na vce procesorech zrove a porovnvnm vsledk - pokud se li, dolo k chyb).
Krom klasickch procesor na potn tu existuj jet tzv. kanlov procesory, co jsou v podstat adie I/O operac. Vzhledem k tomu, e I/O bv ze vech innost potae ta asov nejnronj, pin jej oddlen od vpot pomrn vrazn urychlen (hlavn pi prci s objemnmi databzemi a podobn).
Dle tu mme operan pam. Opt dkladn zlohovan a modulrn vc. Samozejm, skuten pam je relativn drah, a proto se jej zrovna nepouvan seky (strnky) odkldaj na pevn disky, aby fyzick RAMky nemuselo bt tolik. Tm vznik virtuln pam mnohem vt ne ta reln, stejn jak to znme z PC. Od t doby, co bylo zavedeno 64bitov adresovn, se d teoreticky naadresovat a 16 EB (exabyt) virtuln pamti. Tolik se j jet nikdy pohromad neselo a asi ani hned tak nesejde, take je rezerva do budoucna celkem dostaten. Virtuln pam je z dvodu zptn kompatibility lenna skoro stejn sloit jako ta na PC: 24bitov adresovateln oblast pod 16 MB, 31bitov adresovateln oblast mezi 16 MB a 2 GB (kter je rozdlena na spoustu podoblast) a 64bitov adresovateln oblast nad tm.
Trval loit dat zajiuj prakticky vhradn dva druhy zazen: harddisky (alias DASD - direct access storage device) a magnetick psky. Harddisky jsou obvykle seskupeny v diskovch polch, kter maj vlastn pam a inteligenci a staraj se o prbn zlohovn a hlen zvad. A psky... ehm, coe? Dneska? Ano, pesn tak. Na ukldn zloh databz a jinch dlouho nepouvanch terabyt jsou harddisky pece jenom zbyten drah a energeticky nron a psky u dnes maj takovou kapacitu (dov gigabyty na metr), e to nen problm. Psky (vlastn kazety) jsou uloeny v automatizovanch loitch, kde je na podn vyhledv robot a cel to m njakou tu vlastn inteligenci, take navenek se to jev jako jeden obrovsk disk se sekvennm pstupem a s dobou vyhledvn v du destek sekund a jednotek minut. Zastnce pokroku te ale pece jen troku uklidnm: dve velmi rozen drn ttky u se nepouvaj :-). Zbylo po nich jenom pr relikt, napklad znakov sada EBCDIC nebo to, e se dkm zdrojovch kd obas k "ttky" a jsou dlouh vdy 80 znak, protoe prv tolik se na jeden drn ttek velo.
Na pmou interakci s programtory a sprvci m mainframe terminly. Jeden terminl je v podstat klvesnice, monitor a pr drt, ale protoe tahle zazen vyrbla pouze IBM a byla pekeln drah, vytlaily je softwarov emultory bc na normlnch PC. Jedin nevhoda je, e originln terminl m dvakrt vc F-klves ne klvesnice pska (take "Press F13 to continue" u nen jenom vtip) a krom nich jet tyi A-klvesy (A jako "attention") a pr extra kontrolek, ale to vechno se d emulovat. A velk vhoda naopak je, e emultor um pracovat se schrnkou, co origo terminl nezvldal. Koncov uivatel s mainframem obvykle komunikuj pes rzn internetov rozhran (front-endy). Divili byste se, kolik "internetovch aplikac" je ve skutenosti jenom maska s mainframem v pozad.
Zptky k procesoru, podvme se na jeho hlavn odlinosti od PC.
| PC | mainframe | velikost v B |
|---|---|---|
| byte | character | 1 |
| word | halfword | 2 |
| dword | fullword | 4 |
| qword | doubleword | 8 |
| - | quadword | 16 |
Filosofie softwaru je na mainframech pln jin ne na PC. Zatmco na psku obvykle zaplatte za koupi programu a pak ho pouvte jak je libo, na mainframu si program pronajmete a platte za spotebovan strojov as. Jsou to docela plky (jednou jsem spustil asi ptiminutov job a kdyby to nebylo v testovacm systmu, stlo by to pes 1000 dolar), ale z pohledu zkaznka to m jednu velkou vhodu. Zatmco vrobci programu pro PC sta nalkat lidi ke koupi a pak se o n nestar, dokud nevyd novou verzi (kter dajn vye vechny problmy, na kter si stovali), na mainframu je poteba urdet si kadho zkaznka co nejdle, a proto je stoprocentn zkaznick podpora samozejmost. Sta nahlsit, e vm program pi takov a takov situaci pad a tmhle se chov jinak ne by ml a za pr hodin, dn nebo tdn (podle situace a zvanosti) dostanete opravn patch.
Dal otzkou je kompatibilita. Zatmco na PC meme mluvit o tst, kdy se nm na nejnovjm stroji a OS poda spustit ti roky star program (no dobe, to pehnm), na nejmodernjm mainframu bez problm pob i ticet let star vykopvky (a tak asto bhaj, protoe obchodnci, kte je obvykle provozuj, neradi pedlvaj nco, co dobe funguje, jenom proto, aby to bylo modernj). Obrcen to nejde (na architektue /360 dnen 64bitov vci nespustte), ale zptn kompatibilita je stoprocentn. Programtoi se proto stle setkvaj s nejrznjmi archaickmi jazyky, napklad Cobolem (vdli jste, e je v nm napsna nadpolovin vtina vech obchodnch aplikac, kter jsou dnes v provozu?), ve kterch je poteba sem tam nco opravit nebo pipsat, kdy si zkaznk vzpomene.
Co e na tom eleze vlastn bh?
pln prvn program, se kterm se kad mainframe setk, slou ke konfiguraci hardwaru. Architektura mainframu sice umouje zapojovn a vypojovn komponent za chodu, ale vechny musme systmu dn ohlsit. Konfigurtor b na PC, obvykle njakm notebooku, kter se pak spolu s mainframem zamkne do jedn skn. Dal vc, kterou tento program um, je vytven logickch oddl (logical partition - LPAR). Zjednoduen eeno se tm jeden fyzick stroj rozdl na nkolik samostatnch, nezvislch mainfram. Do kadho LPARu meme nainstalovat jeden operan systm. Obvykle to bv VM (Virtual Machine), kterm kad LPAR dle rozdlme na prakticky libovoln poet virtulnch pota. Na kadm z nich potom meme nainstalovat jin OS (klidn i dal VM) a kdyby nm nhodou jeden z nich zkolaboval, ostatnch se to netk.
Mainframy jsou ureny pro nonstop provoz, odstvky se obvykle m v minutch, nanejv hodinch ron. S hlkami typu "po dokonen instalace bude teba restartovat pota" se tu nesetkte (maximln tak v tch virtulnch, ale ne na rovni celho mainframu). Obas to ztuje drbu, protoe nkdy by se podn restart docela hodil, ale n zkaznk - n pn, a kdy je ve smlouv uvedena dostupnost 99,9999%, mus se to dodret.
Operanch systm pro mainframy je cel ada: z/OS, Solaris, z/Linux a hafo dalch, kter maj msto jmna jenom zkratku a kter si nepamatuju (zjemci nech zaptraj teba na Wikipedii). Do styku jsem zatm piel pouze se z/OSem, kter si tu te troku rozebereme.
"z/" v nzvu m znamenat "zero downtime", ili "nikdy nepad" (podle jinch pramen je to kd pro 64bitovou architekturu). Nebudu se rozepisovat o tom, jak je to asn stabiln OS (n testovac systm se nm dailo zahlcovat a kousat skoro kad tden) a rovnou popu pr jeho nejzajmavjch vlastnost a aplikac, kter se v nm spoutj.
Prakticky ve vech OS pro PC je soubor prost hromada bajt, kter se libovoln nafukuje podle toho, jak do n zapisujeme. O to, co je uvnit za data a jak je interpretovat, se star programtor. V z/OSu je to pln jinak (zan to u terminologi: souborm se nek "file", ale "data set").
Prvn ze dvou nejdleitjch rozdl je, e soubory maj pedem danou velikost. Kdy soubor vytvme (alokujeme), zvolme si, kolik msta (v jednotkch "tracks" nebo "cylinders") pro nj chceme vyhradit rovnou (primary allocation) a po jak velkch kusech se m automaticky pialokovvat v ppad, e se soubor zapln (secondary allocation; tchto dodaten alokovanch kousk me mt jeden soubor a na vjimky maximln 16). To m za nsledek dv vci: zaprv vc prce pi vytven novho souboru a mon problmy pi jeho zaplnn, a zadruh vt bezpenost (nehroz, e by njak program nebo uivatel nm zaplcal vechny dostupn disky) a dnou fragmentaci.
Druh hlavn rozdl je ve vnitn struktue soubor. Tady je pevn definovna u na rovni systmu. Existuj soubory:
Dalm rozdlem oproti PC je, e tu nenajdeme adrese. Soubory se rozliuj pouze jmnem, kter se skld z nkolika tzv. kvalifiktor oddlench tekou, nap.:
LOJZA.PRACE.PROGRAMY.LOAD
Ppadn, kdy se odkazujeme na member v knihovn, tak jet jeho jmno v zvorce:
LOJZA.PRACE.PROGRAMY.LOAD(PROG1)
Kad kvalifiktor nebo jmno memberu me mt max. 8 znak (pro dosae dn novinka). Prvn kvalifiktor (zvan HLQ) obvykle tvo jmno uivatele (ale nen to podmnkou), dal dle poteby. Kdybychom si msto teek pedstavili lomtka, dostali bychom v podstat taky jakoby cestu k souboru, ale je tu jeden rozdl: v z/OSu ns nezajm, na kterm disku se soubor fyzicky nachz, pistupujeme k nmu pouze pes jmno (za uritch podmnek jdou hodn velk soubory rozthnout i pes nkolik disk). Jmno disku (obvykle estiznakov identifiktor) meme zjistit nebo si ho pi alokaci souboru explicitn nastavit, ale asi jedin, kvli emu bychom to mohli chtt dlat, jsou pstupov prva na jednotliv disky.
V z/OSu programy funguj bu v reimu online, tj. na poped a ve spoluprci s uivatelem, nebo v raimu batch, tj. na pozad a bez zsahu zven. O azen dvkovch loh do fronty a jejich postupn spoutn se star subsystm JES (nebo JES2, znamen to Job Entry Subsystem). Na to, abychom mohli popsat, kter programy chceme v dvkov loze spustit a s jakmi soubory maj pracovat, existuje jazyk JCL (Job Control Language). Je to takov zvltn paskvil, kde kad dek mus zanat dvma lomtky (//), pi dlen dlouhch pkaz do vce dk je poteba dodret sprvnou pozici a vechno mus bt psno velkmi psmeny, jinak to nefunguje. Jeden job (tj. jeden JCL soubor) se skld z hlaviky, kde je uveden identifiktor, tovac slo, jmno majitele a rzn parametry, a jednoho nebo vce tzv. krok. Krok je nkolik pkaz, kter kaj, jak program (nebo JCLkov procedura, co je v podstat makro) se m spustit, jak soubory m pouvat a ppadn jet co se m dlat pi jakm nvratovm kdu. Propojovn soubor s programem se e pkazy DD (Data Definition) a je to velice chytr vc: v programu se na soubory odkazujeme pes symbolick "DDjmna" a a v JCL k tmto jmnm piadme skuten soubory, jejich vlastnosti a poadovan zpsob zpracovn (otevt pro ten, pepsat, pipsat na konec, vytvoit nov, smazat apod.). Krom skutench fyzickch soubor meme DDjmna napojit i na jin vci: vstup se d pesmrovat do spoolu (spool je fronta, do kter se ukldaj joby a jejich ppadn vstupy a vstupy), vstup pmo mezi pkazy JCL, kam se daj pst textov data (program si pak mysl, e te z textovho souboru s 80znakovmi dky) a vechno se d v ppad poteby pesmrovat i pln do pr- y (DUMMY) a pak se veker I/O operace ignoruj a program si mysl, e je vechno v podku (to se hod teba kdy se potebujeme zbavit njakho zbytenho, objemnho vpisu). Skoky ani cykly v JCL nejsou; job prost jede od zatku do konce, nanejv me nkter kroky peskoit.
Jsou vci, na kter nm dvkov spoutn nesta: textov editory, run prce se soubory a podobn. Takov programy b v prosted ISPF, co je v podstat nco jako Turbo Vison nebo Norton Commander pro z/OS. Uivateli se na obrazovce terminlu zobrazuj tzv. panely, co jsou textov obrazovky, ve kterch jsou nkter pole aktivn a d se do nich pst. Posledn vkik estetiky spov v tom, e text me bt barevn. Obsahy aktivnch pol jsou pmo napojeny na promnn, kter si pak program zpracuje.
Chvli mi trvalo, ne jsem si zvykl na prodlevu po kadm enteru (dov nkolik desetin sekundy), ale co taky chtt, kdy sedm u terminlu v Praze a pslun mainframe se nachz v New Yorku (doke tohle vae Vzdlen plocha? :-) ).
CICS (vyslov "kiks") znamen Customer Information Control System a je to systm, kter se star - jak neekan - o provdn transakc. Transakce je krtk vmna dat, kter se mus bu povst cel nebo mus jt beze zbytku odvolat a zruit. Nejastji jde o koly typu "vezmi x penz z tohohle tu a pesu je na tmhleten" (nesm se stt, e by penze nkde pibyly a jinde neubyly nebo naopak). CICS je uren pro rychl provdn obrovskho mnostv tchto slueb. A si nkdy budete hrt s bankomatem, s nejvt pravdpodobnost vs bude obsluhovat prv on.
k se, e se jet nikdy nikomu nepodailo hacknout mainframe. Tak se k, e je to proto, e nikdo nev, jak to udlat. Bezpenost mainfram je prakticky absolutn, co je jeden z dvod, pro si je firmy poizuj.
Z mnoha bezpenostnch softwarovch balk se strun zmnm o dvou. Prvn m poeticky znjc jmno RACF (vyslov "rakef"), kter znamen Resource Access Control Facility. d pstup uivatel k jednotlivm zdrojm - diskm, pamti a tak. Druh se jmenuje Top Secret a jak u nzev napovd, nev o nm krom jeho tvrc nikdo nic. dajn je jet silnj ne RACF, ale tko ct.
USS neboli Unix System Services je emultor plnohodnotnho Unixu. Standard POSIX diktuje jenom jak se m systm chovat, ne jak m bt naprogramovn, take zdrojky USS pravdpodobn nemaj se zdrojky jinch Unix vbec nic spolenho, ale navenek se to chov pln stejn. Nevhoda USS je, e je pern pomal, ale to me bt problm t jedn konkrtn instalace, kterou jsem si vyzkouel.
Systm soubor je uloen v hierarchickm VSAM souboru (HFS) a z pohledu uivatele se od PC nijak neli. K dispozici mme dv rozhran: OMVS, co je klasick unixovsk pkazov dek, a ISHELL, co je takov hodn jednoduch commander.
nebo alespo strun pehled tch nejpouvanjch:
Tento lnek berte pouze jako zbn nakouknut do svta mainfram, v dnm ppad nebyl mylen jako kompletn a vyerpvajc manul. Ani nemu ct, e pokrv to nejdleitj, protoe clov oblast je velmi irok a j nejsem dn mainframov guru. Zkrtka a prost doufm, e aspo vyvrtil pr obecn zaitch povr (nap. e mainframy jsou zastaral a u se nepouvaj) a e jste se u nj moc nenudili :-).