>However, if my program is also running disabled for external interrupts and it uses CPU cycles heavily , how will the >system 'pre-empt' my TCB? Or it cannot and just let my TCB starve other users? I cannot figure out.
Correct me if I'm wrong, but selective disablement is different than preemptibility. An interrupt handler will normally return control to the dispatcher, which may reorder its queue and dispatch a task other than the one which was interrupted. However, that is not true if the task is non-preemptible. I.e., it will be immediately redispatched after the interrupt is handled. This behavior applies mainly to tasks running under SRB mode. Subsystems like DB2 and HSM, which make heavy use of non-preemptible SRBs used to have a tendency to monopolize processor resources, hence the creation of preemptible-class SRBs. Consider this: zIIP and zAAPs, which run disabled for I/O interrupts, process preemptible SRB work. The work must be preemptible in order for the dispatcher to honor priorities according to WLM service goals. Another thing to consider is reduced preemption. I think this strategy came about in the latter days of MVS/ESA. The idea was to delay handling of interrupts at low utilization levels to allow otherwise preemptible work to complete, thereby reducing the overhead of reentering the dispatcher as often. -----Original Message----- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Johnny Luo Sent: Tuesday, October 23, 2007 9:02 AM To: IBM-MAIN@BAMA.UA.EDU Subject: About dispatching process ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html