Process for controlling technological operations or processes

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000

Reexamination Certificate

active

06260058

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to a process for controlling technological operations and processes.
BACKGROUND INFORMATION
A conventional process is described in an article by Bernd Ackermann, “Requirements of a real-time operating system for embedded systems,” Elektronik, no. 18 (1992) pp. 120-128, which discusses features of controllers containing real-time operating systems for microprocessors. A process manager program is responsible for sequencing control. It controls the allocation of the CPU and coordinates all the programs (tasks) being run. The process manager allows quasi-parallel processing of several tasks (multitasking). For this purpose the process manager is designed so that it can interrupt a program currently being run at any time and can start a task having a higher priority for the system as a whole. The interrupted program is continued by the process manager when the processing of higher-priority programs is concluded. In this type of sequencing control, it is important that a task currently being run can be interrupted at any time. This procedure is also known as “preemptive scheduling or preemptive multitasking.”
The sequencing control described above relates to real-time systems, e.g., control systems that must perform certain control processes within defined time limits, because this permits a rapid reaction to certain events.
However, a task can be interrupted at any point, which results in high management and memory demands. Since an interrupted task should be continued later at the point of interruption, information indicating the processing status must be saved for the interrupted task. This includes the program counter status, the contents of the status register, the contents of the computation register, etc. Furthermore, the temporary data of the interrupted task stored in the stack must be saved while extra space must be reserved in the stack memory for temporary data of the interrupting task. Since there can be several nested interruptions in the sequencing control, this process requires a large amount of storage space for the stack memory.
It is also difficult to exchange information between the interrupted and interrupting tasks. If both tasks access the same memory areas for this purpose, data may be lost or corrupted in some cases, depending on the location of the interruption. These cases are often difficult to detect in practice, and providing protection against them requires complex methods for synchronizing data access. As an alternative, separate memory areas can be used, in which case it is necessary to provide communication mechanisms which are also complex.
SUMMARY OF THE INVENTION
The process according to the present invention is advantageous since the management and storage requirements for interruptions in tasks are greatly reduced. Due to the fact that tasks from a stipulated priority range are subdivided into subtasks that are uninterruptible for tasks of the same priority range and thus mutual interruptions in the tasks can occur only between subtasks, very little information has to be stored in the stack memory for such interruptions. The memory required for this information does not depend on the number of temporary stack memory variables used in the subtasks or the nesting depth of the interruptions and thus it does not depend on the number of priority levels of the respective priority range. The stack memory required is therefore smaller than in preemptive multitasking.
Cooperative multitasking is a method of quasi-parallel processing of several tasks and thus allowing higher-priority tasks to interrupt lower-priority tasks only at certain program locations to be determined by the user when setting up the program. It has been found in practice that many tasks in an overall control program can be processed in cooperative multitasking with low demands regarding memory and computation time, while the more demanding preemptive multitasking can be limited to a few high-priority tasks.
The problem of possible data loss in accessing shared memory areas that occurs in preemptive multitasking is less critical with such process. In cooperative multitasking it is no longer possible to interrupt access to data also being accessed by the interrupting task because access is completed within the non-interruptible subtask, i.e., access to data is now automatically synchronized correctly. For the same reason, this also eliminates the problem of unrestricted reversal of priority which occurs in the preemptive system when a task is blocked in accessing a resource that can be assessed only by mutual exclusion because it is already busy with an interrupted low-priority task. The effects of task interruptions are thus transparent and easily reproduced. This is advantageous for programming tasks in higher programming languages because it is generally impossible to tell whether or not a high-level language construct is an interruptible operation.
Additional advantages for the development phase of a controller are also apparent. In particular, a complex control program can be simulated more easily. In contrast with preemptive multitasking, the chronological sequence of program processing and in particular the effects of interruptions can be largely simulated in the process according to the present invention without having to simulate the behavior of the computer itself. Thus, a running time must also be specified for each subtask in addition to the function. It is also advantageous that the tasks consist of a series of subtasks put together according to sequencing criteria. Sequencing criteria taken into account include the reason for the task processing request (activation event), the associated urgency (priority) and synchronization conditions between the subtasks. The configuration of many different subtasks according to sequencing criteria in processing sequences that are assigned to a few tasks with the respective priorities and reason for processing also reduces the running time required for sequencing control within the operating system which must be coordinated by processing the competing subtasks. A significant amount of the information on sequencing control is thus already made available in writing the program and need not be determined while the program is running, so that it adds to the running time. However, the complex controller program is divided into subtasks according to functional criteria. This increases transparency and simplifies the writing and management of programs.
It is further advantageous that the size of each subtask be designed so that the time for processing the subtask by the microprocessor does not exceed a predetermined limit. As a result, the process can also be used for control processes where strict real-time conditions must be taken into account within the predetermined time limit. Execution of an activated higher-priority task can then be delayed by at most the maximum processing time of a subtask plus the processing time of any interrupt programs.
The additional make it possible to easily change the processing sequence of subtasks while the program is running. To do so, a table pointer is simply loaded with the address of a subtask pointer from a subtask pointer table, so the subtask selected by this subtask pointer is called up with the next subtask change. Furthermore, changing between task is accomplished easily by loading the table pointer with the address of the first subtask pointer from the respective subtask pointer table of the task.
Introducing a descriptive data structure for a task (task descriptor) is advantageous since a task can be unambiguously identified with the address of a descriptive data structure and the latter permits simple and prompt access to all important information via this task and its processing status.
It is also advantageous if the status of the respective task can be characterized by one of the three status: “dormant,” “ready” and “computing.” Various problems of known operation systems are avoided since there is no “blocked” status for a task. A task

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Process for controlling technological operations or processes does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Process for controlling technological operations or processes, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Process for controlling technological operations or processes will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2531603

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.