1. An analysis system with a reagent cartridge opening module with rotational movement of a reagent vessel lid, the analysis system comprising: a carrier comprising a catch element; a centering unit positioned and moveable within the carrier; a first drive unit coupled to the carrier in such a way that the catch element of the carrier can be driven in a rotational movement by the drive unit; a second drive unit coupled to the centering unit to drive the centering unit in such a way that the centering unit moves essentially perpendicular to the plane of the rotational movement of the carrier, a control unit matching the movements of the carrier and of the centering unit to one another.
2. The analysis system according to claim 1, wherein the analysis system is suitable for opening a reagent vessel that is closed with a reagent vessel lid.
3. The analysis system according to claim 1, wherein the first drive unit and the second drive unit are the same drive unit.
4. The analysis system according to claim 1, further comprising: the reagent cartridge opening module comprising the carrier which, at its lower end, has the catch element which can lock securely against rotation with another catch element positioned on a reagent vessel lid so that rotational movement of the carrier catch element causes rotational movement of the reagent vessel lid, and the centering unit positioned within the carrier, the centering unit having, at its lower end, a snap-in element to engage in a snap-fit connection of the reagent vessel lid so that the reagent vessel lid clings to the snap-in element and at least partially follows the movement of the snap-in element; wherein the snap-fit connection of the reagent vessel lid is released from the snap-fit element of the centering unit by relative movement between the carrier and the centering unit.
5. The analysis system according to claim 4, wherein the reagent vessel lid is retained after release of the snap-fit element.
6. The analysis system according to claim 4, wherein the reagent vessel lid is discarded after release of the snap-fit element.
7. The analysis system according to claim 4, wherein the relative movement between the carrier and the centering unit is triggered by the carrier moving against a positionally fixed limit stop.
8. The analysis system according to claim 1, wherein: the carrier, at its lower end, has the catch element which can lock securely against rotation with another catch element positioned on the reagent vessel lid so that rotational movement of the carrier catch element causes rotational movement of the reagent vessel lid; and the centering unit, at its lower end, has a snap-in element to engage a snap-fit connection.
9. The analysis system according to claim 1, wherein the centering unit is essentially guidable within the carrier.
10. The analysis system according to claim 8, wherein the snap-in element in part has a concave shape.
11. The analysis system according to claim 8, wherein the snap-in element in part has a convex shape.
12. The analysis system according to claim 8, wherein the snap-in element essentially has a conical shape.
13. The analysis system according to claim 1, wherein the catch element of the carrier is a tooth structure.
14. The analysis system according to claim 13, wherein the toothed structure has obliquely positioned teeth.
15. The analysis system according to claim 8, wherein the snap-in element is slotted.
16. The analysis system according to claim 15, wherein the slotted snap-in element is designed conically or cylindrically above a snap-fit groove and has a tapered end.
17. The analysis system according to claim 8, wherein the snap-in element is divided into two halves.
18. The analysis system according to claim 17, wherein the snap-in element halves are connected to one another in a hinged manner.
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. A method for performing thread scheduling in an electronic device having a hardware processor configured for executing an operating system, wherein the operating system comprises a thread scheduler and a queue manager, the method comprising:
determining whether at least one of a plurality of predefined conditions is met;
in response to one of the plurality of predefined conditions is met, enabling a virtual manager executed by the hardware processor;
receiving a request by the thread scheduler for scheduling a thread to be executed;
masking the scheduler by the virtual manager from accessing a first queue comprising a plurality of first threads in a runnable state;
directing the scheduler to a first virtual queue comprising a first portion of the plurality of first threads in the first queue for selecting the thread to be executed, the first portion of the first threads associated with at least one application currently running; and
scheduling execution of the selected thread by the hardware processor.
2. The method of claim 1, further comprising:
generating a white list comprising processes associated the application currently running by the virtual manager; and
mapping by the virtual manager the plurality of first threads to the first virtual queue and a second virtual queue according to their dependency on the white list.
3. The method of claim 2, wherein the white list comprises at least one process associated with foreground application, system critical service, timing critical background application or services.
4. The method of claim 2, further comprising:
updating the white list according to applications currently running on the electronic device.
5. The method of claim 2, further comprising:
receiving a request for inserting a thread by a queue manager;
masking the queue manager from accessing the first queue by the virtual manager;
determining threads in the second virtual queue associated with the inserted thread according to the white list by the virtual manager; and
moving the inserted thread and associated threads in the second virtual queue into the first virtual queue by the virtual manager.
6. The method of claim 2, further comprising:
receiving a request to a thread in the first queue by the scheduler;
intercepting the request by the virtual manager;
determining whether the requested thread is in the second virtual queue
in response to the requested thread being in the second virtual queue, determining threads in the second virtual queue associated with the requested thread according to the white list by the virtual manager; and
moving the requested thread and associated threads in the second virtual queue into the first virtual queue by the virtual manager.
7. The method of claim 2, further comprising
determining a foreground application currently running on the electronic device;
in response to the foreground application currently running being switched, updating the white list according to a new foreground application; and
updating the first virtual queue and the second virtual queue according to the updated white list.
8. The method of claim 2, further comprising:
determining status change of a plurality of second threads in the second queue by the scheduler, the plurality of second threads being in a sleep state;
in response to status of at least one of the second threads being changed, sending a request for inserting the second thread with status change to the queue manager;
intercepting the request for inserting the second thread with status change from the queue manager by the virtual manager; and
inserting the second thread with status change into the first virtual queue or the second virtual queue according to the white list.
9. The method of claim 1, wherein the predefined conditions comprises at least one of usage of the hardware processor above a predetermined threshold, demand of timing critical application or service, traffic of a bus coupled to the hardware processor, and throughput of the hardware processor.
10. The method of claim 1, further comprising:
receiving a request for deleting a thread by the queue manager;
masking the queue manager from accessing the first queue by the virtual manager; and
removing the deleted thread from the first virtual queue.
11. The method of claim 1, further comprising:
determining whether the plurality of predefined conditions are released;
in response to the predefined conditions being released, mapping threads in the first virtual queue and the second virtual queue back to the first queue by the virtual manager; and
disabling the virtual manager.
12. A thread scheduling system for use in an electronic device, comprising:
a system queue comprising a first queue for maintaining a plurality of first threads in a first state and a second queue for maintaining a plurality of second threads in a second state;
a thread scheduler, configured to receive request for scheduling execution of at least one of the first threads and updating status of the second threads;
a queue manager, configured to receive request for updating threads in the first queue and the second queue; and
a virtual manager, configured to intercept the request received by the thread scheduler and the queue manager for accessing the first queue, update threads in the first queue and the second queue, and configured to map the first threads in the first queue into a first virtual queue and a second virtual queue according to a white list associated with at least one application currently running.
13. The thread scheduling system of claim 12, wherein the virtual manager further comprises:
a switch module configured to detect a plurality of predefined conditions; and
a control unit configured to be enabled in response to at least one of the plurality of predefined conditions being met, and configured to intercept the request.
14. The thread scheduling system of claim 13, wherein the plurality of predefined conditions comprises at least one of usage of the hardware processor above a predetermined threshold, demand of timing critical application or service, traffic of a bus coupled to the hardware processor, and throughput of the hardware processor.
15. The thread scheduling system of claim 13, wherein the control unit is further configured to mask the thread scheduler from accessing the first queue in response to the thread scheduler receiving the request for scheduling execution of at least one of the first threads, and direct the thread scheduler to the first virtual queue for selecting the first thread to be executed.
16. The thread scheduling system of claim 13, wherein the control unit is further configured to intercept request received by the queue manager for inserting a new thread, mask the queue manager from accessing the first queue, and move into the first virtual queue the new thread and the first threads in the second virtual queue that are associated with the new thread according to the white list.
17. The thread scheduling system of claim 13, wherein the control unit is further configured to update the first virtual queue and the second virtual queue back to the first queue, and configured to be disabled in response to the plurality of predefined conditions are released.
18. The thread scheduling system of claim 12, wherein the white list comprises at least one process associated with foreground application, system critical service, timing critical background application or services.
19. The thread scheduling system of claim 12, wherein the virtual manager is further configured to determine status of the at least one application currently running, and update the white list in response to the at least one application being switched.
20. A method for performing thread scheduling in an electronic device having a hardware processor configured for executing an operating system, wherein the operating system comprises a run queue and a sleep queue, the method comprising:
generating a white list comprising processes associated with applications currently running by the hardware processor;
scheduling execution of threads in the run queue according to the white list by the hardware processor; and
updating threads in the sleep queue into the run queue according to the white list by the hardware processor.
21. The method of claim 20, further comprising:
mapping threads in the run queue to a virtual run queue and a virtual block queue according to the white list;
selecting a thread to be scheduled for execution from the virtual run queue; and
blocking scheduling of the threads in the virtual block queue temporarily.
22. The method of claim 20, wherein the white list comprises at least one process associated with foreground application, system critical service, timing critical background application or services.