Electrical computers and digital processing systems: virtual mac – Task management or control – Process scheduling
Reexamination Certificate
2007-12-25
2007-12-25
Bullock, Jr., Lewis A. (Department: 2195)
Electrical computers and digital processing systems: virtual mac
Task management or control
Process scheduling
C712S228000
Reexamination Certificate
active
10246830
ABSTRACT:
A task stack and a context pointer in a task control block (TCB) are implemented to provide more efficient context switching. Additionally, multiple routines each of which saves or restores a certain combination of volatile registers is implemented. A task can store in its task control block a routine identifier to select from the multiple routines a set of routines for saving and restoring volatile registers during context switching. On the occurrence of an event that may lead to a context switch a scheduler selects based on the routine identifier a routine that only saves registers used by the task, thereby, reducing execution overhead. The registers are saved on the task stack and a context pointer to the registers is saved in the TCB. In the event a context switch is necessary, it is not necessary to copy the registers to the TCB because the context pointer is in the TCB. A non-volatile register indicator that indicates whether non-volatile registers are used is stored in the task control block. The non-volatile registers are only saved if used, also reducing execution overhead. Furthermore, a storage area is implemented for saving task context for the task when it is interrupted during context switch in. Upon the occurrence of an interrupt the task context is saved in the storage area. If the interrupt leads to a second task which has a higher priority being made ready, the second task is switched in without first returning to switch-in the task.
REFERENCES:
patent: 4296470 (1981-10-01), Fairchild et al.
patent: 4338662 (1982-07-01), Yokoyama
patent: 5390329 (1995-02-01), Gaertner et al.
patent: 5440703 (1995-08-01), Ray et al.
patent: 5475822 (1995-12-01), Sibigtroth et al.
patent: 5872909 (1999-02-01), Wilner et al.
patent: 5872963 (1999-02-01), Bitar et al.
patent: 5987495 (1999-11-01), Ault et al.
patent: 6128641 (2000-10-01), Fleck et al.
patent: 6205468 (2001-03-01), Diepstraten et al.
patent: 6243736 (2001-06-01), Diepstraten et al.
patent: 6260150 (2001-07-01), Diepstraten et al.
patent: 6374286 (2002-04-01), Gee et al.
patent: 6553487 (2003-04-01), Sukonik et al.
patent: 6671762 (2003-12-01), Soni et al.
patent: 6895583 (2005-05-01), Koning
patent: 6904517 (2005-06-01), Nevill et al.
patent: 6986141 (2006-01-01), Diepstraten et al.
patent: 2003/0051123 (2003-03-01), Takamuki
IBM Technical Disclosure Bulletin. “Deterministic Context Switching of Registers.” Nov. 1, 1989.
Hsiao, Shawn et al. “Context Switching and Scheduling in C—” May 11, 2000.□□.
Davidson, Jack W. et al. “Methods for Saving and Restoring Register Values across Function Calls.” Feb. 1991.
Snyder, Jeffrey S. et al. “Fast Context Switches: Compiler and Architectural Support for Preemptive Scheduling.” 1995.
Ball, Tony. “Real Time Operating System Performance Issues and Techniques with RISC.” IEEE. Nov. 1991.
Koning Maarten
Sundaram Anand
Bullock, Jr. Lewis A.
Fay Kaplun & Marcin LLP
Wind River Systems, Inc.
LandOfFree
Uniprocessor operating system design facilitating fast... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Uniprocessor operating system design facilitating fast..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Uniprocessor operating system design facilitating fast... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3867943