1. A reflective display device using photonic crystals, comprising:
a plurality of reflective color filters, each reflective color filter reflects a predetermined wavelength range of an incident visible light, each of the plurality of reflective color filters including three-dimensional photonic crystals of inverse opal structure having colloids of varying sizes; and
a plurality of optical switches disposed adjacent to and facing a corresponding one of the plurality of reflective color filters, each of the plurality of optical switches extracts a predetermined color by adjusting an intensity or onoff-frequency of light reflected from the corresponding one of the plurality of reflective color filters.
2. The reflective display device using photonic crystals as claimed in claim 1, wherein the colloids are spheres having diameters of several hundred of nanometers and repeatedly arranged in at least ten (10) layers to form a sufficient band gap.
3. The reflective display device using photonic crystals as claimed in claim 1, wherein the colloids of the red (R) reflective color filter have the largest size to reflect the light of the longest wavelength among red (R), green (G), and blue (B).
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. (canceled)
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. (canceled)
8. An information handling system comprising:
one or more processors;
a memory accessible by the processors;
a nonvolatile storage device accessible by the processors;
a preemptive multitasking operating system controlling access by execution threads to the processors; and
a delayed priority tool for a delayed priority boost to the execution threads, the delayed priority tool comprising instructions stored in the memory, which, when executed by the processors, cause the information handling system to perform a method comprising:
indicating that an execution thread needs a higher priority by updating a user mode accessible data area, the indicating performed without increasing a priority corresponding to the execution thread and the indicating including setting a critical section flag within the user mode accessible data indicating that the execution thread is entering a critical section of code;
updating a priority offset amount prior to the execution thread entering the critical section of code, whereupon the priority offset amount is included in the user mode accessible data;
during execution of the critical section of code:
detecting a preemption event, wherein the preemption event has a preemption event priority;
reading the user mode accessible data area in response to the detected preemption event;
determining whether a priority applied flag and the critical section flag have been set;
in response to detecting that the critical section flag has been set and the priority applied flag has not been set, raising the execution thread’s priority by the priority offset amount and setting the priority applied flag;
after raising the execution thread’s priority:
in response to the preemption event priority being greater than the execution thread’s priority preempting the execution thread; and
in response to the preemption event priority not being greater than the execution thread’s priority allowing the execution thread to continue executing.
9. (canceled)
10. (canceled)
11. (canceled)
12. The information handling system of claim 8 further comprising:
resetting the critical section flag within the user mode accessible data indicating that the execution thread is no longer in the critical section;
receiving a second preemption event at the kernel process;
determining, at the kernel process, that the critical section flag is no longer set and that the priority applied flag is set;
lowering the execution thread’s priority by the priority offset amount in response to the determination that the critical section flag is no longer set and that the priority flag is set; and
resetting the priority applied flag indicating that the execution thread’s priority is no longer raised.
13. (canceled)
14. A computer program product stored in a computer operable media, the computer operable media containing instructions for execution by a computer, which, when executed by the computer, cause the computer to perform a method for adjusting a priority of an execution thread, method comprising:
indicating that the execution thread needs a higher priority by updating a user mode accessible data area, the indicating performed without increasing a priority corresponding to the execution thread and the indicating including setting a critical section flag within the user mode accessible data indicating that the execution thread is entering a critical section of code;
updating a priority offset amount prior to the execution thread entering the critical section of code, whereupon the priority offset amount is included in the user mode accessible data;
during execution of the critical section of code:
detecting a preemption event, wherein the preemption event has a preemption event priority;
reading the user mode accessible data area in response to the detected preemption event;
determining whether a priority applied flag and the critical section flag have been set;
in response to detecting that the critical section flag has been set and the priority applied flag has not been set, raising the execution thread’s priority by the priority offset amount and setting the priority applied flag;
after raising the execution thread’s priority:
in response to the preemption event priority being greater than the execution thread’s priority, preempting the execution thread; and
in response to the preemption event priority not being greater than the execution thread’s priority, allowing the execution thread to continue executing.
15. (canceled)
16. (canceled)
17. (canceled)
18. The computer program product of claim 17 wherein the method further comprises:
resetting the critical section flag within the user mode accessible data indicating that the execution thread is no longer in the critical section;
receiving a second preemption event at the kernel process;
determining that the critical section flag is no longer set and that the priority applied flag is set;
lowering the execution thread’s priority by the priority offset amount in response to the determination that the critical section flag is no longer set and that the priority flag is set; and
resetting the priority applied flag indicating that the execution thread’s priority is no longer raised.
19. (canceled)
20. The computer program product of claim 14 wherein the indicating that the execution thread needs a higher priority is performed in response to the execution thread entering the critical code section, and wherein the critical code section utilizes a shared system resource.