Exercise 1: Why Pseudo-Conversational Design Serves Thousands of Users More Efficiently — Possible Solution ==================================================================== WHAT A "STAY ACTIVE AND WAIT" PROGRAM WOULD GENUINELY COST A program that remained active, holding onto its own memory, working storage, and any real database connections while waiting for a human to read a screen and decide what to type next, would keep all of those real resources tied up for the entire duration of that human think-time - which could genuinely be seconds, or much longer. Multiply that by thousands of simultaneous terminal users, and thousands of separate real programs would all be sitting idle at once, each one still holding its own share of memory and connections for no active work being done. WHAT RETURN GENUINELY DOES INSTEAD This chapter's own finding-box states this directly: a real RETURN releases every resource the transaction was holding - memory, database connections, everything - the instant a screen goes out to the terminal. The transaction doesn't linger in a waiting state at all; it simply ends, completely, the moment its work for that one screen is done. WHY THIS MEANS HUMAN THINK-TIME GENUINELY COSTS NOTHING Because the transaction has already released everything by the time the human is actually reading the screen and deciding what to type, none of that real thinking time consumes any mainframe resources at all. This chapter's own material states this plainly: whatever time the person spends "costs the mainframe genuinely nothing." WHY THIS SCALES GENUINELY BETTER ACROSS MANY SIMULTANEOUS USERS Since no resources are held during think-time, the real number of resources CICS needs at any given moment reflects only how many transactions are actively doing real work right now - not how many total terminal users happen to be logged in and thinking. A mainframe serving thousands of simultaneous users this way only ever needs enough real capacity for the genuinely active transactions at each moment, rather than enough capacity to keep every single user's own program sitting idle in memory at once. ANSWER: A program that stays active waiting for the next keystroke keeps its own memory, working storage, and connections tied up for the entire real duration of human think-time - multiplied across thousands of simultaneous users, that's thousands of programs sitting idle at once. CICS's own real pseudo-conversational design instead has RETURN release every one of those resources completely the instant a screen is sent, so human think-time costs the mainframe nothing at all. This means the real number of resources needed at any moment reflects only how many transactions are genuinely doing active work right then, letting CICS serve far more simultaneous terminal users with the same real hardware than a design that keeps every waiting user's own program resident in memory. WHY THIS WORKS AS AN ANSWER ------------------------------ This correctly contrasts the real resource cost of a stay-active design against CICS's own RETURN-based release, and explains the scaling consequence (capacity tied to active work, not total logged-in users) directly from this chapter's own stated real mechanism.