Chapter 13 Subsystems
Understanding AS/400 System Operations Basic Facts All work is carried out in a subsystem. All jobs are divided by type into subsystems. Subsystems are started when the AS/400 powers up and loads the Operating System. A way of organizing, in order to increase efficiency. OFFICE J O B S Understanding AS/400 System Operations
Memory: Activity Levels Activity levels - enhance raw memory allocation by restricting how many programs will vie for the same memory at the same time. Understanding AS/400 System Operations
Why limit activity level? Each job secures enough resources to run efficiently Too large of a number will force jobs to compete for system resources and ultimately slow completion of all jobs Understanding AS/400 System Operations
Understanding AS/400 System Operations Memory: Storage Pools A storage pool is a pool of memory where one type of program or application (a set of programs) runs. Understanding AS/400 System Operations
Understanding AS/400 System Operations Subsystems Are: A subsystem is an environment unique to a type of program. It allows computer run-time attributes to be applied to all jobs within it, while other jobs in other subsystems keep their own attributes. Understanding AS/400 System Operations
Single Vs. Multiple Subsystem Configuration Single - QBASE The subsystem for all work active upon installation Convenient for installation Doesn’t take advantage of system’s capabilities Multiple Improves performance to separate workload AS/400 comes preloaded with basic 5 subsystems Change system value for QCTLSBSD to QCTL & the AS/400 understands to start using multiple subsystems Understanding AS/400 System Operations
Understanding AS/400 System Operations 5 Basic Subsystems QCTL the controlling subsystem in a multiple subsystem configuration The system console is attached to this subsystem This is so the system console can carry out functions during IPL Understanding AS/400 System Operations
5 Basic Subsystems (cont.) QINTER Subsystem that supports interactive jobs QSPL Handles all spooled file jobs Understanding AS/400 System Operations
5 Basic Subsystems (cont.) QCMN Supports all communications jobs QBATCH Supports all batch jobs Understanding AS/400 System Operations
5 Basic Subsystems (cont.) The AS/400 allows for any combination of jobs within a subsystem. However, doing so will reduce the system’s efficiency. The object, subsystem description, is required whenever a new subsystem is created. Understanding AS/400 System Operations
Understanding AS/400 System Operations System Pools Also called a storage pool. A logical division of main memory reserved for processing jobs. Subsystems are pre-assigned to main memory pools by the Operating System. Work is divided into types of jobs (Just like types of pools). Understanding AS/400 System Operations
Storage Pool Characteristics Activity Level Max number of jobs that can be run simultaneously in the pool How many lanes Pre-defined size number of bytes that can be stored in the pool How much water Understanding AS/400 System Operations
Understanding AS/400 System Operations Shipped Storage Pools *MACHINE is the storage pool where the system runs. *BASE can be where everything else runs. IBM ships AS/400 with two storage pools. *Machine *Base Understanding AS/400 System Operations
Understanding AS/400 System Operations Related System Values QMCHPOOL - Sets Size OF *Machine pool. QBASPOOL - Sets minimum size of *BASE pool. Understanding AS/400 System Operations
Understanding AS/400 System Operations Portion of Memory A pool is the amount of allocated memory. Understanding AS/400 System Operations
Memory Management Concepts Paging is writing a inactive memory page to DASD so an active page can be read into memory. Faulting is when a program (or its data) attempts to access a page not in memory. It then is fetched. Understanding AS/400 System Operations
Memory Management Concepts Timeslice, is the period of time allocated for CPU usage by a job when it executes. Thrashing is excessive faulting. Understanding AS/400 System Operations
Understanding AS/400 System Operations CPU Considerations Time Slices The amount of processor time a job has before the CPU moves to another job Run Priorities Within a storage pool, job with highest prior acquires system resources first Ex: Print writers, then interactive jobs, then batch jobs Understanding AS/400 System Operations
CPU Considerations (cont.) Run Priority Vs. Job Priority Run priority is the priority of job while executing Job priority is the relative order of job waiting on job queue Understanding AS/400 System Operations
Understanding AS/400 System Operations AS/400 Jobs Three States Active—The job is running. Job is occupying storage, using processor, and hasn’t exceeded activity level. Wait—The job is waiting for something to happen. Waiting until next user request to start. Ineligible— The job is ready to run, but the system is not available. Ineligible job can’t occupy storage or processor due to activity level is at max. Wait – for some of the following: Press of Enter Key File to open/close Read/Write record Locked record Message Device allocation Ineligible – waiting to run. System busy Time slice is finished – end of allocation time. CPU switched to next job in queue. Understanding AS/400 System Operations
AS/400 Jobs Three States (cont.) Jobs shift between states automatically, depending on system’s work load Job may need to become ineligible at end of its time slice Understanding AS/400 System Operations
Understanding AS/400 System Operations Memory Pool Types Shared Pools Special shared pools. The two pools that come with the AS/400, *MACHINE and *BASE, are special shared pools. These are the only special shared pools. General shared pools. Private Pools Maximum pools = 64 including *BASE and *MACHINE. Understanding AS/400 System Operations
Understanding AS/400 System Operations Pre-defined Pools The AS/400 comes with predetermined names and, in two cases, predetermined uses, for shared pools. Here is the list: *INTERACT —Supports interactive subsystems’ jobs. *SPOOL—Supports spool writers (printing). *SHRPOOL1 through *SHRPOOL60— Names available for customer-defined shared pools. Understanding AS/400 System Operations
Creating Private Pools/ Assigning Shared Pools Create Subsystem Description (CRTSBSD) Type choices, press Enter. Subsystem description . . . . . _______ Name Library . . . . . . . . . . . *CURLIB Name, *CURLIB Storage pools: ___ Pool identifier . . . . . . . _________ 1-10 Storage size . . . . . . . . . _________ Number, *BASE, *NOSTG... Activity level . . . . . . . . _______ Number + for more values _________ Maximum jobs . . . . . . . . . . *NOMAX 0-1000, *NOMAX Text 'description' . . . . . . . *BLANK Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys Figure 13-1: CRTSBSD command screen for memory pool assignments. Understanding AS/400 System Operations
Changing Pool Memory/ Activity Levels Three commands that change memory and activity level settings on pools. They are: Work with System Status (WRKSYSSTS) Change Subsystem Description (CHGSBSD) Change Shared Pool (CHGSHRPOOL) Understanding AS/400 System Operations
Changing Pool Memory/ Activity Levels (cont.) There are also two system values that affect memory pools and activity levels: Machine Pool (QMCHPOOL) Base Activity Level (QBASACTLVL) Understanding AS/400 System Operations
Table 13-1: Memory Activity Level Commands Understanding AS/400 System Operations
Understanding AS/400 System Operations CHGSHRPOOL command Change Shared Storage Pool (CHGSHRPOOL) Type choices, press Enter. Pool identifier . . . . . . . . __________ *MACHINE, *BASE, *INTERACT... Storage size . . . . . . . . . . *SAME Number, *SAME, *NOSTG Activity level . . . . . . . . . *SAME Number, *SAME Paging option . . . . . . . . . *SAME *SAME, *FIXED, *CALC Text 'description' . . . . . . . *SAME ____________________________________________________________________________ Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys Figure 13-2: CHGSHRPOOL command Figure 13-2 Understanding AS/400 System Operations
Private Pools Changed Within Subsystems Change Subsystem Description (CHGSBSD) Type choices, press Enter. Subsystem description . . . . . > QINTER Name Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Storage pools: __ Pool identifier . . . . . . . *SAME 1-10, *SAME Storage size . . . . . . . . . _________ Number, *BASE, *NOSTG... Activity level . . . . . . . . _________ Number + for more values Maximum jobs . . . . . . . . . . *SAME 0-1000, *SAME, *NOMAX Text 'description' . . . . . . . *SAME ___________________________________________________________________________ Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys Figure 13-3: CHGSBSD command to change private pool sizes. Understanding AS/400 System Operations
Work with Subsystems (WRKSBS) Work with System Status System: BIGBLUE Type options, press Enter. 4=End subsystem 5=Display subsystem description 8=Work with subsystem jobs Subsystem Pool 1 Subsystem Pool 2 Total -----------Subsystem Pools------------ Opt Subsystem Storage (K) 1 2 3 4 5 6 7 8 9 10 _ QBASE 0 2 3 _ QBATCH 0 2 _ QCMN 0 2 _ QCTL 0 2 _ QINTER 0 2 3 System Pool 3 _ QCOMPILE 0 2 11 System Pool 11 _ QSERVER 0 2 _ QSPL 0 2 4 _ QSYSSBSD 0 2 _ QSYSWRK 0 2 System Pool 2 Bottom Parameters or command ===>_________________________________________________________________ F3=Exit F5=Refresh F11=Display system data F12=Cancel F14=Work with system status Figure 13-4: work with subsystems command. Understanding AS/400 System Operations
WRKSBS – Display Pool Definitions System: BIGBLUE Subsystem description: QCOMPILE Status: ACTIVE Pool Storage Activity ID Size (K) Level 1 *BASE 2 *SHRPOOL2 Shared Pool Names Subsystem Pool Number Bottom Press Enter to continue. F3=Exit F12=Cancel Figure 13-5: Command WRKSBS, displaying pool definitions. Understanding AS/400 System Operations
Work with System Status Work with System Status BIGBLUE 07/05/99 12:06:24 % CPU used . . . . . . : 63.0 Auxiliary storage: Elapsed time . . . . . : 00:30:01 System ASP . . . . . : 22357 M Jobs in system . . . . : 9789 % system ASP used . : 71.4165 % addresses used: Total . . .. . . . . : 187375 M Permanent . . . . . : 22.313 Current unprotect used: 2854 M Temporary . . . . . : 4.707 Maximum unprotect . : 3222 M Type changes (if allowed), press Enter. System Pool Reserved Max -----DB----- ---Non-DB--- Pool Size (K) Size (K) Active Fault Pages Fault Pages 11 50000 0 4 .0 .3 2.7 .0 System Pool Number Bottom Command ===>___________________________________________________________ F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Restart F11=Display transition data F12=Cancel F24=More keys Figure 13-6: Command WRKSYSSTS, information about system pools. Understanding AS/400 System Operations
Understanding AS/400 System Operations Work Shared Pools Work Shared Pools System: BIGBLUE Main storage size (K) . : 655360 Type changes (if allowed), press Enter. Defined Max Allocated Pool -Paging Option-- Pool Size (K) Active Size (K) ID Defined Current *MACHINE 90000 +++++ 90000 1 *FIXED *FIXED *BASE 88360 32 88360 2 *FIXED *FIXED *INTERACT 10000 7 10000 8 *FIXED *FIXED *SPOOL 12000 7 12000 3 *FIXED *FIXED *SHRPOOL1 200000 10 200000 4 *CALC *CALC *SHRPOOL2 50000 4 50000 11 *FIXED *FIXED *SHRPOOL3 50000 4 50000 10 *CALC *CALC *SHRPOOL4 40000 10 40000 5 *FIXED *FIXED *SHRPOOL5 70000 7 70000 6 *FIXED *FIXED *SHRPOOL6 0 0 0 *FIXED More... Command ===>____________________________________________________________________ F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display tuning data F12=Cancel Figure 13-7: Command WRKSHRPOOL. Understanding AS/400 System Operations
Subsystem Description Create Subsystem Description (CRTSBSD) Type choices, press Enter. Subsystem description . . . . NEWSBS Name Library . . . . . . . . . . *CURLIB Name, *CURLIB Storage pools: _ Pool identifier . . . . . . 2 1-10 Storage size . . . . . . . . *BASE Number, *BASE, *NOSTG... Activity level . . . . . . . Number + for more values Maximum jobs . . . . . . . . . 4 0-1000, *NOMAX Text 'description' . . . . . . *BLANK ______________________________________________________________________ Additional Parameters Sign-on display file . . . . . *QDSIGNON Name, *QDSIGNON Library . . . . . . . . . . ________ Name, *LIBL, *CURLIB Subsystem library . . . . . . *NONE Name, *NONE More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys Figure 13-8: Prompted CRTSBSD command. Understanding AS/400 System Operations
Add Storage Pools to Subsystem Specify More Values for Parameter POOLS Type choices, press Enter. Storage pools: Pool identifier . . . . . . > 2 1-10 Storage size . . . . . . . . *BASE Number, *BASE, *NOSTG... Activity level . . . . . . . ________ Number Pool identifier . . . . . . 11 1-10 Storage size . . . . . . . . 50000 Number, *BASE, *NOSTG... Activity level . . . . . . . 4 Number Pool identifier . . . . . . 1-10 Storage size . . . . . . . . Number, *BASE, *NOSTG... Activity level . . . . . . . Number More... F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys Figure 13-9: Adding storage pools to a new subsystem description Understanding AS/400 System Operations
Understanding AS/400 System Operations Routing Entries Display Job Description System: BIGBLUE Job description: QINTER Library: QGPL Message logging: Level . . . . . . . . . . . . . . . . . . . . : 4 Severity . . . . . . . . . . . . . . . . . . . : 0 Text . . . . . . . . . . . . . . . . . . . . . : *NOLIST Log CL program commands . . . . . . . . . . . . : *NO Accounting code . . . . . . . . . . . . . . . . : *USRPRF Print text . . . . . . . . . . . . . . . . . . . : *SYSVAL Routing data . . . . . . . . . . . . . . . . . . : QCMDI Figure 13-10: A sample of the routing data for a job description. Understanding AS/400 System Operations
Routing Entries (cont.) Display Routing Entries System: BIGBLUE Subsystem description: QINTER Status: ACTIVE Type options, press Enter. 5=Display details Start Opt Seq Nbr Program Library Compare Value Pos _ 10 QCMD QSYS 'QCMDI' 1 _ 20 QCMD QSYS 'QS36MRT' 1 _ 40 QARDRIVE QSYS '525XTEST' 1 _ 700 QCL QSYS 'QCMD38' 1 _ 9999 QCMD QSYS *ANY Bottom F3=Exit F9=Display all detailed descriptions F12=Cancel Figure 13-11: Routing entries in the subsystem description. Understanding AS/400 System Operations
Routing Entries (cont.) Display Routing Entry Detail System: BIGBLUE Subsystem description: QINTER Status: ACTIVE Routing entry sequence number . . . . . . . : 10 Program . . . . . . . . . . . . . . . . . . : QCMD Library . . . . . . . . . . . . . . . . . : QSYS Class . . . . . . . . . . . . . . . . . . . : QPTY35 Library . . . . . . . . . . . . . . . . . : QGPL Maximum active routing steps . . . . . . . : *NOMAX Pool identifier . . . . . . . . . . . . . . : 2 Compare value . . . . . . . . . . . . . . . : 'QCMDI' Compare start position . . . . . . . . . . : 1 Press Enter to continue. F3=Exit F12=Cancel F14=Display previous entry Figure 13-12: Expanded routing entries in the subsystem description. Understanding AS/400 System Operations
Understanding AS/400 System Operations Workstation Entries AS/400 workstations are devices (Interactive Jobs Only) Job Queues Autostart Jobs Communication Jobs Pre-start Jobs Understanding AS/400 System Operations
Understanding AS/400 System Operations Starting Subsystems Start Subsystem (STRSBS) Type choices, press Enter. Subsystem description . . . Name Library . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys Figure 13-13: Prompted STRSBS command. Understanding AS/400 System Operations
Understanding AS/400 System Operations Ending Subsystems End Subsystem (ENDSBS) Type choices, press Enter. Subsystem . . . . . . . . . . . > QBATCH Name, *ALL How to end . . . . . . . . . . . *CNTRLD *CNTRLD, *IMMED Delay time, if *CNTRLD . . . . . *NOLIMIT Seconds, *NOLIMIT Bottom F3=Exit F4=Prompt 5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys Figure 13-14: Prompted ENDSBS command. Understanding AS/400 System Operations
Basic Work Management Structure System Subsystem Job Routing Step System Values Description Work Entries Routing Class Program Understanding AS/400 System Operations
Understanding AS/400 System Operations