Nagygépes oprendszer alapismeretek

Témák:

Mitől "NAGY" ?

Ez ma már elavult fogalom. A szemlélet nagyrésze egyre inkább megtalálható a mini ill. személyi számítógépeken is.

Mi a lényeg?

Mi érdekli a felhasználót ?

Általában az utolsó szempontok a vásárlásnál:

  • mennyi "MIPS"-et tud a rendszer
  • mekkora a mérete
  • mennyi az energiaigénye

    Operációs rendszerek fejlődése

    1965 1971 1984 1988 1990-91 1995 1998
    DOS DOS-VS DOS-VSE VSE/ESA . . .
    OS/MFT OS-VS1 OS-VS2 SVS OS-VS2 MVS
    MVS/XA MVS-ESA MVS-SYSPLEX OS/390 Open .
    . VM/370 VM/XA . VM/ESA VM/ESA Open VM-SYSPLEX
    . . AIX/370 . . . .

    DOS: Legegyszerűbb op. rendszer. Kezdetben: 3 partició, 1 FG + 2 BG, párhuzamos lehetőségek nélkül nem volt interaktiv lehetőség Ma is a legegyszerűbb op. rendszer nagygépen (de nagyon kis teljesítményű, több mint 1000 egyidejű interaktív felhasználó esetén már nem ajánlott).

    OS: Legnagyobb teljesítményű op. rendszer Kezdetben: 16 partició, párhuzamosan futtatható felhasználói taskok interaktiv: TSO Ma ez a legnagyobb teljesítményű op. rendszer. Igen széles párhuzamosítási lehetőségeket biztosít. Képes a programokat futás közben egymáshoz optimalizálni.

    VM: Igen flexibilis, de önállóan nem alkalmas a programfuttatásokra Teljesen interaktiv: CMS

    AIX/370: Időközben kihalt unix nagygépre, mivel sem a párhuzamosíthatósága (vagyis a sebessége), sem a megbízhatósága nem volt megfelelő, ezért helyette az OS-be és a VM-be belehelyezték az Open támogatást, minek következtében ezek az első oprendszerek között voltak, amelyek megfeleltek a UNIX95 szabványnak.

    A VM felépítése és működése

    A VM (Virtual Machines) egy olyan operációs rendszer, amelyik minden egyes felhasználó számára egy teljesen önálló számítógépet szimulál. Ezeket a "szimulált" számítógépeket virtuális gépeknek nevezzük.

    A virtuális gép legfontosabb jellemzője, hogy minden tekintetben megfelel egy valódi számítógépnek.

    A virtuális gép önmagában nem nyújt olyan szolgáltatást, amellyel programfejlesztést végezhetnénk. A felhasználónak saját magának kell kiválasztania azt az operációs rendszert, melyet a saját virtuális gépébe be akar tölteni. Ez egyben azt jelenti, hogy elméletileg minden egyes felhasználónak egyedi operációs rendszere lehet.

    A VM hiper-operációs rendszer felépítése:

          #========================================================#
          # 	      CP - Control Program		       #
          # 		 (VM hipervisor)		       #
          # 						       #
          #=======#===========#====#=========#===========#=========#
          #  VM1  # 	  #    #	 #	     #	 VM6   #
          #       # 	  #    #	 #	     #	VM/SP  #
          # C M S #    VM2	  #    #	 #	     # Control #
          #       # 	  # VM3#	 #	     #	Program#
          #       #   A I X   #    #   VM4	 #	     #===#==#==#
          #       # 	  # CMS#	 #    VM5    # V # V# V#
          #       # 	  #    #   VSE	 #	     # M # M# M#
          #       # 	  #    #	 #    MVS    # a # b# c#
          #       # 	  #    #	 #	     #	 #  #  #
          #       # 	  #    #	 #	     # C # V# C#
          #       # 	  #    #	 #	     # M # S# M#
          #       # 	  #    #	 #	     # S # E# S#
          #=======#===========#====#=========#===========#===#==#==#
    
    Egy virtuális gép felépítése:
         #----------------#-------------#
         |	 Virtuális    |   Virtuális |
         | processzor(ok) |  (operatív) |
         |		      |     tár     |
         #----------------#-------------#
         |	    Virtuális csatornák     |
         |		(Virt. CSS)	    |
         #--#-----#------#----#----#----#
         |	| Virtuális perifériák |    |
         #--#-----#------#----#----#----#
    
    Virtuális perifériák: A virtuális gép memóriája a 0. cimű byte-nál kezdődik, és folyamatosan címezhető a definiált maximális címig. A virtuális tár a munka kezdetén teljesen üres.

    A virtuális gépbe az operációs rendszert IPL -el kell betölteni.

    Egy VM operációs rendszerrel működő számítógépen az alábbi módon lehet dolgozni:

    1. Logon USERID - Egy saját virtuális gép igénybevételével

    2. Dial VMUSER - Egy (már futó) virtuális gép igénybe- vételével.

    A 2. esetben a VMUSER nevű virtuális gépen egy többfelhasználós operációs rendszernek (vagy valami hasonlónak) kell futnia, amely a DIAL parancs kiadásával hozzákapcsolódott terminálokat kezelni tudja. Ilyen rendszerek pl.: MVS, VSE, VM/SP, VTAM, stb.

    A CP feladatai:

    A VM elhelyezkedése a valós tárban
           #==================================================#
           #						  #
           #						  #
           #						  #
           #	  Dinamikus lapozási terület		  #
           #						  #
           #						  #
           #						  #
           #-  -  -  -  -  -  -  -	-  -  -  -  -  -  -  --  -#
           #  "Locked" terület                                #
           #   I/O Lock, vagy operátori Lock		  #
           #						  #
           #--------------------------------------------------#
           #     CP nucleus (hipervisor rezidens része)	  #
           #--------------------------------------------------#
           #	  V=R "Recovery"  terület                 #
           #--------------------------------------------------#
           #						  #
           #	 V=R és V=F (XA-nál) terület		  #
           #						  #
           #--------------------------------------------------#
           #   370 I/O (XA-nál) terület (16 Mbyte alatt!)	  #
           #==================================================# ---- 4 Kbyte
           #  VM rendszerváltozók, valós új/régi PSW-k, stb.  #   (0. lap)
           #==================================================#
    

    CMS

    A VM alatt csak akkor tudunk programokat fejleszteni, ill. futtatni, ha a virtuális gépünkbe betöltünk egy olyan programot (operációs rend- szert), mely ezt lehetővé teszi. Az interaktív programfejlesztésre kifejlesztett operációs rendszer a CMS (Conversational Monitor System). A CMS feltételezi a VM használatát, azaz csak VM alatt megy.

    A CMS feladatai:

    Mint azt már tudjuk, egy virtuális gép indulásakor a tár üres. A CMS-t is -mint minden más operációs rendszert ezen a gépen- az IPL procedúrával tölthetjük be.

    A CMS elindulásához és sikeres működéséhez az alábbiak szükségesek:

    A CMS felépítése a tárban:
    Ha a tár mérete nem nagyobb, mint 16 Mbyte
           #=======================================#  ---- 16 Mbyte
           #	      C M S		       #
           #	S u p e r v i s o r	       #
           #	  (N u c l e u s)	       #
           #=======================================#  ---- 14 Mbyte
     
    						  Nem címezhető
    							   terület
     
           #=======================================#  ---- Def Stor
           #     ACCESS-ált minidiszkek	       #
           #       tartalomjegyzéke 	       #
           #-- -- -- -- -- -- -- -- -- -- -- -- ---#
           #     Nukleusz kiterjesztés,	       #
           #     szerkesztett file-ok,	       #
           #     betöltött EXEC-ek		       #
           #-- - - - - - - - - - - - - - - - - - --#
           #				       #
           #	  Programterület	       #
           #				       #
           #---------------------------------------#  ---- heX'20000'
           #	 Tranziens terület	       #
           #---------------------------------------#  ----	 X'E000'
           # CMS rendszerváltozók, új/régi PSW-k...#
           #=======================================#
     
    Ha a tár mérete nagyobb, mint 16 Mbyte
     
           #=======================================#  ---- Def Stor
           #
    					       #
           #	   Programterület
    					       #
           #
           #=======================================#  ---- 16 Mbyte
           #	      C M S		       #
           #	S u p e r v i s o r	       #
           #	  (N u c l e u s)	       #
           #=======================================#  ---- 14 Mbyte
           #     ACCESS-ált minidiszkek	       #
           #       tartalomjegyzéke 	       #
           #-- -- -- -- -- -- -- -- -- -- -- -- ---#
           #     Nukleusz kiterjesztés,	       #
           #     szerkesztett file-ok,	       #
           #     betöltött EXEC-ek		       #
           #-- - - - - - - - - - - - - - - - - - --#
           #				       #
           #				       #
           #				       #
           #	  Programterület	       #
           #				       #
           #				       #
           #				       #
           #---------------------------------------#  ---- heX'20000'
           #	 Tranziens terület	       #
           #---------------------------------------#  ----	 X'E000'
           # CMS rendszerváltozók, új/régi PSW-k...#
           #=======================================#
     
    
    Ha CMS alatt XEDIT-et, Help-et, stb. hívunk, akkor az adott környezetbe kerülünk. Ezek között a környezetek között parancsokkal, illetve a BRKKEY (PA1) gomb haszálatával tudunk mozogni.
       #====#
       # CP # <========/pa1/=====>#======#=====>====CMS=========>====#
       #	#		      # HELP #<========(RETURN)======#	 #
       #	#		  #==>#======#<======#		     #	 #
       #	#		  #	  #	     #		     #	 #
       #	#		  #	XEDIT	   (QUIT)	     #	 #
       #	#		 HELP	(QUIT)	    HELP	     #	 #
       #	#		  #	  #	     #		     #	 #
       #	# ==IPL CMS==> #=====#	  #=====>#=======#	     #========#
       #	#	       #     #		 #	 #====CMS===>#	      #
       # CP # <===/pa1/==> # CMS #===XEDIT==>#	 #	     # SUBSET #
       #	#	       #     #<==(QUIT)==#	 #<=(RETURN)=#	      #
       #	# ==(BEGIN)==> #=====#<==#	 # XEDIT #	  #=>#========#<=#
       #	#	       #  #    SET DOS	 #	 #	  #    # #	 #
       #	#	       #  #	OFF	 #	 #     #====#<=# #=>#=====#
       #	#	       #SET DOS  #	 #	 #     #HELP#<=====>#XEDIT#
       #	#	       #  ON  #=====#	 #	 #     #====#	    #=====#
       #	#	       #  #==># CMS #<==># XEDIT #	  #	     #
       #	# <======/pa1/=======># DOS #	 #	 #	  #    #     #
       # CP #	       #      #=#===#	 #	 #	  #    #     #
       #	# <======/pa1/==================>#	 #	  #    #     #
       #	#	       #	#	 #=======#	  #    #     #
       #	# <======/pa1/=======>======(BEGIN)>==============#    #     #
       #	#	       #	#			       #     #
       #	# <======/pa1/=======>======(BEGIN)>=========================#
       #====#	       #	#			       #
    		       #========#<==<(RETURN)====SUBSET=>====>=#
    
    Ha egy programot elindítunk, akkor az abban a környezetben fut, ahonnét indítottuk. Abend esetén a CMS-hez, vagy a CP-hez (System Abend) térünk vissza.

    A CMS-ben különböző részeiben kiadhatunk egy másik környezetnek szóló parancsot is. Ekkor a CMS az alábbi módon próbálja a parancsot értelmezni:

    XEDIT ===> CMS ===> CP ===> Hibaüzenet, ha nincs ilyen parancs.

    A CMS a saját parancsait a következő sorrendben próbálja értelmezni:

    Ha a parancsot XEDIT-ben adjuk ki:
    #====#	   #======#			     #=========#
    #    #	   # XEDIT#==#===pl.LOAD + START====>#	       #
    #    #	   #	  #<=#=#		     #	       #
    #    #	   #======#  # #=Normal Program End==#	User   #
    #    #	   # HELP #<=#=#		     #	       #
    # CP #	   #	  #==# #		     #	       #
    #    #	   #======#  # #		     # Program #
    #    #	   # CMS  #==# #		     #	       #
    #    #	   #	  #<===#		     #	       #
    #    #	   #======#<==Abnormal End==(ABEND)==#	       #
    #====#<======System Abend====================#=========#
    
    A CMS egy egy felhasználós interaktív operációs rendszer. 256Kbyte és 2Gbyte közötti virtuális tárat igényel. A CMS saját tárigénye a nukleuszon kívül: 200K (256K virt. tár esetén) - 4Mbyte (2Gbyte esetén)

    A CMS fő funkciói

    A CMS a programokat általában fix címre tölti be a tárba. Ezért, ha a betöltött programból modult készítünk, akkor a későbbiekben a programban használt memóriacímeket nem kell újra kiszámítani (tehát nincs relokálás).

    XEDIT

    A CMS programszerkesztője a System Product Editor (XEDIT). Az XEDIT fő funkciói: Eljárásnyelvek. Mit nevezzük eljárásnyelvnek: Egyik legrégebbi eljárásnyelv az OS JCL (Job Control Language), melyet ma is használnak.

    A CMS egyik eljárásnyelve a Restructured EXtended eXecutor language (REXX), amit a System Product Interpreter hajt végre, az alábbi módon jellemezhető:

    Felépítése:

    A CP müködése

    CP spooling system

    Spool:(Simultaneous Peripheral Operation On-Line) A számitástechnika hőskorában egy számítógéphez csak egy printer és egy kártya- ill. lyukszalag olvasó ill. lyukasztó tartozott. A központi tár igen drága, a mágneslemez ill. mágnesdob relative olcsóbb volt. A felhasználói input ill. output igények nem folyamatosan jelentkeztek, hanem lökésszerűen. A lassú perifériákon jelentkező I/O műveleteket össze kellett hangolni, hogy a felhasználói programok ne várakozzanak egymásra. Ezért dolgozták ki a SPOOL rendszereket.

    A SPOOL rendszerek lényege ekkor:

    A VM spool lényege:

    Erőforráskezelés

    1. CPU
    		 Dispatch			Eligible
    	      (Kiszolgálási)		      (Kiválasztási)
    		  List				  List
    	      #==========#   Kiválasztás      #==========#
    	      # 	 #<-------------------#--#	 #
    	      # 	 #		      #  |	 #
    	      # 	 #		      #  |	 #
    #=======#     # 	 #		      #  |	 #
    #     #-#-----#-<--	 #		      #  |	 #
    #     | #     # Minor	 #		      #  |	 #
    # CPU | #     # Time	 #		      #  |	 #
    #     | #     # Slice	 #		      #  |	 #
    #     #-#-----#--->	 #		      #  |	 #
    #=======#     # 	 #		      #  |	 #
    	      # 	 #		      #  |	 #
    	      # 	 #		      #  |	 #
        Wait      # 	 # Major Time Slice   #  |	 #
     #------------# 	 #------------------>-#--#	 #<----#
     |	      #==========#		      #==========#     |
     |							       |
     |							       |
     |    #=========================================================#
     |    # 							#
     #--->#        Dormant (Várakozó) List				#
          # 							#
          #=========================================================#
    

    Lapozás (paging)

    Ha egy hivatkozott lap nincs a valós tárban (page Invalid bit = 1), akkor egy laphiba megszakítás keletkezik. A vezérlőprogramnak a kért lapot minél előbb a program rendelkezésére kell bocsátani, hogy az folytatódhasson. A kívánt lapok rendelkezésre bocsátására sokféle lapozási algoritmus ismert. A valóságban azonban az algoritmusok megvalósításában igen nagy szerepe van az üzemelő számítógépek statisztikai megfigyelésének.

    A VM-ben a lapozás a következőképpen voltak megoldva a kezdeti verziókban (illetve a nem nagygépes rendszerekben jelenleg is így van): Amikor a laphiba keletkezik, a CP készít egy csatornaprogramot a kívánt lap beolvasására. Kiválaszt egy szabad lapot a virtuális tárban, hogy a kívánt lapot beolvashassa(page in). Elindítja a csatornaprogramot, aminek a végrehajtása alatt más virtuális gép fog futni. Ha a kért lap bejött (azt megszakítás jelzi), akkor az eredeti program folyatódhat. Ha nem talál a rendszer üres lapot, akkor ki kell írni valamelyik lap tartalmát a lemezre (page out). Ezt az alapalgoritmust szükség szerinti (demand) lapozásnak hívjuk.

    Cél: A laphibák (és így a lapozás) drasztikus(!) csökkentése.

    1. A tapasztalat azt mutatja, hogy a programok futás közben nagy valószínűséggel előre kiszámítható sorrendben használják a lapokat. Ezért a VM/XA statisztikát készít a használt lapokról és a program "viselkedéséről", majd becslést készít arra vonatkozóan, hogy mely lapokat fogja a program egymás után használni. Ezeket a lapokat egymás mellé írja ki a lemezre, így később ezek egyetlen I/O művelettel behozhatóak. A CP a nem hivatkozott lapokat egy külön blokkba teszi.

    	   Virt. tár
          #======================#
          # 		     #
          #  #---#	 #---#	     #			  diszk
          #  | 3 |	 | 5 |	     #	      ##################################
          #  #---#	 #---#	     #	      # #---##---##---##---##---##---# #
          # 		     # =====> # | 1 || 2 || 3 || 4 || 5 ||   | #
          #      #---#	#---##	      # #---##---##---##---##---##---# #
          #      | 4 |	| 1 |#	      ##################################
          #      #---#	#---##
          # 	  #---#      #
          # 	  | 2 |      #
          # 	  #---#      #
          #======================#
    
    Ha legközelebb a program az 1-es lapra hivatkozik, akkor a CP egy művelettel beolvassa mind az öt lapot. Ha a program előzsör a 3-as lapra hivatkozik, akkor a CP ugyanúgy beolvassa mind az ötöt, csak a csatornaprogramot úgy építi föl, hogy a 3-as lappal kezdődjék az olvasás. Ha a kért lap már a tárban van (ezt megszakítás jelzi), akkor a kérdéses program folytatódhat, noha a csatornaprogram a további lapjait még nem hozta be. Mire a feldolgozás a többi laphoz ér, a csatornaprogramok nagy valószínűséggel behozták a többi szükséges lapot is. Ezzel a módszerrel a laphibák számát kb. 1 nagyságrenddel lehetett csökkenteni az alapalgoritmushoz képest, miközben az I/O eszközök terhelése nem nőtt jelentősen (A lemezről 1 rekord vagy 1 sáv szinte ugyanannyi idő alatt jön be). E folyamatot Blokk-Paging -nek hívják.

    2. Amikor a laphiba előáll, akkor keríteni kell egy üres lapot. Ha nincs üres lap, akkor csinálni kell. Ha akkor kellene ezt a műveletet elvégezni, amikor a laphiba fellépett, akkor a hatékonyság igen rossz volna, a válaszidők nagyon hosszúak lennének. A CP ezért vezet egy listát (minden valós processzorhoz külön), melyen a szabad lapok vannak felfűzve. Ha ennek a listának a hossza egy bizonyos érték alá csökken, akkor a CP olyan taskokat indít el, melyek növelik a szabad lapok számát.

    3. Amikor egy virtuális gép lekerül a DLIST-ről (QDROP), mert vagy vegy befejeződött, vagy lejárt az időszelete (ETS), akkor az összes olyan lapot, amire az előző időszeletben nem történt hivatkozás, azt fel lehet szabadítani, ki lehet lapozni. Ezt Trimming ("karcsúsítás") -nek nevezzük. A hivatkozott lapok elhelyezkedése alapján becsülni lehet a következő időszelethez a használt lapok sorrendjét (ld. Blokk-Paging). Az időszelet alatt hivatkozott lapok száma jellemző az adott programra. Ezért ezt a CP "megjegyzi". Ezt Working Set Size ("munkakészlet")-nek nevezzük. A további ütemezés alapját ez a WSS jelenti a következőképpen: 4. A CP a lapozáshoz használt lemezekre olyan csatornaprogramot indít el, mely nem fejeződik be, hanem "várja" a CP-től a következő utasításokat. Ez gyorsabb, mintha minden lapozási művelethez új csatornaprogramot kellene indítani. Ha a lapozási lemezen más adatok (Pl. minidiszkek) is vannak, akkor a csatornaprogram megszakad, és azt a következő lapozásnál újra kell indítani. A csatornaprogram folytatás/indítás arány általában a lapozás intenzitásával együtt növekszik. A CP a lapozási lemezeket nem használja ki teljesen. Az új lapokat mindig egy üres sávra írja, és a régiek folyamatosan felszabadulnak (A felszabadítás nem igényel I/O műveletet). Ily módon a lemez aktuátor tervezetten egy irányba mozog mindaddig, míg a lapozási terület végét el nem éri. Ekkor az irány megfordul. Ezzel a módszerrel a fejmozgásól adódó időveszteség minimalizálható, ha elég lemezterület áll rendelkezésre. A fejmozgás és a laphibák száma minaddig biztosan minimális, míg a szükséges tároló kapacitásnak legalább háromszorosa rendelkezésre áll.

    5. Lapozás az Expanded tárba:

    A CP, amint a laphiba bekövetkezik, megvizsgálja, hogy a kérdéses lap az expanded tárban van-e? Ha ott van, akkor azt azonnal behozza, és a kérdéses program azonnal folytatódhat. A processzor speciális utasításokkal rendelkezik a lapok mozgatásához, melyek 120 Mbyte/sec-nál is gyorsabban végzik el a lapcserét. A lemezek sebessége "csak" 2.5-5 mbyte/sec csatornánként. Az expanded tár igénybevétele a lapozáshoz természetesen plusz CPU időt igényel, de a legtöbb esetben ez nem éri el a csatornaprogram előállításához szükséges időt. Az expanded tárból időnként ki kell vinni a régen nem használt lapokat lemezre. A kivitel a valós táron keresztül történik. Ez a "migration" (költöztetés).

    		  Valós
    		   Tár
    	   #=====================#		      Expanded
    	   #			 #			tár
    	   #			 #	       #=====================#
    	   #		     ====#===#	PGOUT  #		     #
    	   #			 #   #=========#==>		     #
    	   #			 #	       #		     #
    	   #			 #	       #		     #
         #=====#==> 	      <==#=============#===		     #
         #	   #			 #	PGIN   #		     #
         #	   #=====================#  #==========#===		     #
         #	   #	 "Migrációs"  <==#==#          #=====================#
         #	   #	    Puffer	 #
         #	   #================#====#
         #			    #
     ##################	    #
     #		  # <=======#
     #  Mágneslemez   #
     ##################
    

    IO

    A mainframe-ek alapvetően CKD diskeket használnak. Ezeken (a pc-kel szemben) nem fix méretü, sorszámozott sectorok vannak, hanem Count,Key,Data hármasok. A számláló, kulcs tetszőleges értékeket felvehet, és beolvasás során ezekkel lehet azonosítani a hármast. Az adatrész pedig változó méretü, egyetlen méretkorlát, hogy nem lóghat ki a cylinderből.

    A különböző operációs rendszerek többé-kevésbé használják ki a CKD diskek előnyeit. Az MVS teljesen kihasználja, ezért nem is használható FB (Fix block) diskekkel. A VM önmagában kis mértében kezeli a diskeket (virtuális memória, spool, minidisk kontrollinformációk tárolására), képes FB-vel is együtműködni, de csak csökkent hatékonysággal. A CMS nem használja ki a CKD előnyeit, formatáláskor fix méretü, sorszámozott sectorokra osztja a diskeket.

    A többi I/O művelethez hasonlóan a diskeket is csatornaprogramok segítségével érhetjük el. Ezekben természetesen igen szűk utasításkészlet van egy CPU-hoz hasonlítva, pl. különböző relációk (=, <, >, <=, >=) alapján számláló/kulcs alapján keresni, beolvasni, kiírni.

    A klasszikus értelemben vett I/O emuláció rendkivül erőforrásigényes lenne, szerencsére a nagygépes architektura következtében egy sokkal hatékonyabb módszert használ a VM. Ennek során a csatornaprogram elejére illeszt egy utasítást, ami eltolást és méretkorlátozást tartalmaz. Pl. ha a felhasználó minidiskje 5 cylinder méretü, és a 42. cylinderen kezdődik, akkor a CU hozzáadja a cylindercímekhez a 42-t, és ellenörzi, hogy nem lóg-e túl az 52. cylinderen. Ebből logikusan következik, hogy a VM csak a fizikaival egyező tipusu diskeket emulál. Természetesen a a viruális perifériáknak más címe lehet, mint a fizikaiaknak, ennek megfelelően ezt is módosítja.

    Az adatok cache-elését elsődlegesen a CU-k végzik. Ezért vizsonylag nagy memóriával látjál el őket. A konkrét módszerek a CU-tól függően jelentősen eltérhetnek, pl.: -Az Examban internal diskek vannak, ezek "pc"-s SCSI-2-es 9 Gbytes diszkekből épülnek fel, ezek közül 4-hez tartozik 2 SCSI vezérlő (így pontos a megfogalmazás, mivel a két vezérlő bármelyike tud a diskek bármelyikére írni), az adatok tükrözve vannak (vagyis az operációs rendszer a diskek felét látja), az írás kicsit lassúbb (2 seek-et kell megvárni), az olvasás jóval gyorsabb, mivel arról olvas, amelyikről gyorsabban tud. A gépben lévő 256 Mbyte memóriából tetszőleges rész lehet a hardver cache (vagyis ezt a memóriát nem látja az op.rendszer). Ennek egy része olvasási, egy része (service processorból tilthatóan) write-back cache. Áramszünet esetén az utóbbi automatikusan letiltódik (miközben kb. 20 percig még megy a gép). Természetesen ha a tükrözött egyik példány helyreállítása menet közben is megtehető.

    Hibakezelés, lapozás

    A nagygépes rendszerek fő jellemzője a nagy adatfeldolgozó kapacitás mellett a rendkívül jó megbízhatóság.

    Mind a szoftver, mind a hardver hibák kijavítását az IBM az iparágon belül szokatlanul gyorsan próbálja javítani. Hibátlan szoftvert még a nagyon alapos tesztelés után sem lehet létrehozni, azonban a súlyos (a napi munkát akadályozó) szoftver hibákat 24 órán belül javítják, ilyenkor egy önálló csoport az IBM központban csak ennek a kijavításával foglalkozik. Természetesen az esetek nagy részében már egy ismert hiba jelentkezik, akkor azonnal javítják.

    A hardver esetében elsődleges cél az úgynevezett egy pontú hibák lehetőségének megszüntetése. Vagyis a rendszerek oly módon kell megtervezni, hogy bármely pontjának a meghibásodása esetén a rendszer egésze változatlan módon (és elfogadható sebességgel) tovább működjön.

    Ha bekövetkezik egy hiba, akkor a lehető leggyorsabban ki kell javítani. Az IBM-mel lehet olyan szerződést kötni, hogy 1 órán belül javítják a hibákat. Természetesen ehhez szükséges, hogy a gép telefonon kapcsolatban legyen az IBM központtal, és autómatikusan megrendelje az elromlott alkatrészeket.

    Egy megbízható rendszert csak úgy lehet elkészíteni, hogy minden rendkívüli helyzetet naplóznak. Például az természetes dolog, hogy a háttértáoló néha nem tudja elolvasni a rajta lévő adatokat. Ekkor pl. a msdos 30-szor újrapróbálja, mielőtt hibaüzenetet adna. Nagygépes rendszerben természetesen ezek naplózásra kerülnek (súlyosabb esetben az operátort is értesíti), és amennyiben túl gyakoriak, akkor ki lehet cserélni az ezközt, mielőtt még ténylegesen meghibásodna.

    Nem csak a hardver eseményeket, hanem a felhasználók munkáját is naplózni kell, ezéltal az esetleges vitás helyzetek könnyen eldönthetőek.