Real-Time Embedded Multithreading Using ThreadX and MIPS- P8

Real-Time Embedded Multithreading Using ThreadX and MIPS- P8:Although the history of embedded systems is relatively short, 1 the advances and successes of this fi eld have been profound. Embedded systems are found in a vast array of applications such as consumer electronics, “ smart ” devices, communication equipment, automobiles, desktop computers, and medical equipment. | 140 Chapter 9 Each memory block pool is a public resource. ThreadX imposes no constraints as to how pools may be used. Applications may create memory block pools either during initialization or during run-time from within application threads. There is no limit to the number of memory block pools an application may use. As noted earlier memory block pools contain a number of fixed-size blocks. The block size in bytes is specified during creation of the pool. Each memory block in the pool imposes a small amount of overhead the size of a C pointer. In addition ThreadX may pad the block size in order to keep the beginning of each memory block on proper alignment. The number of memory blocks in a pool depends on the block size and the total number of bytes in the memory area supplied during creation. To calculate the capacity of a pool number of blocks that will be available divide the block size including padding and the pointer overhead bytes into the total number of bytes in the supplied memory area. The memory area for the block pool is specified during creation and can be located anywhere in the target s address space. This is an important feature because of the considerable flexibility it gives the application. For example suppose that a communication product has a high-speed memory area for I O. You can easily manage this memory area by making it a memory block pool. Application threads can suspend while waiting for a memory block from an empty pool. When a block is returned to the pool ThreadX gives this block to the suspended thread and resumes the thread. If multiple threads are suspended on the same memory block pool ThreadX resumes them in the order that they occur on the suspend thread list usually FIFO . However an application can also cause the highest-priority thread to be resumed. To accomplish this the application calls tx_block_pool_prioritize prior to the block release call that lifts thread suspension. The block pool prioritize service places the .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.