Explore chapters and articles related to this topic
Concurrent Programming and Scheduling Algorithms
Published in Gedare Bloom, Joel Sherrill, Tingting Hu, Ivan Cibrario Bertolotti, Real-Time Systems Development with RTEMS and Multicore Processors, 2020
Gedare Bloom, Joel Sherrill, Tingting Hu, Ivan Cibrario Bertolotti
When the interrupt handler terminates, often by executing a special “return from interrupt” instruction, the processor resumes from where it left when the interrupt request was accepted. Even though technical details may vary from one computer to another, an important characteristic of interrupt handling is that it is transparent from the point of view of the interrupted code. In other words, the acceptance of one or more interrupt requests while a certain piece of code is being executed does not change its functional semantics in any way and, when looking at the system at a higher level of abstraction, it gives the illusion that ordinary program execution and interrupt handling proceed concurrently.
Force-System Resultants and Equilibrium
Published in Richard C. Dorf, The Engineering Handbook, 2018
Application-specific control devices Polling. Polling is a simple I/O control technique by which the operating system periodically checks the status of the device until it is ready before any I/O operation is carried out.Interrupt. Interrupt is an advanced I/O control technique that lets the I/O device or control equipment notifies the CPU or system interrupt controller whenever an I/O request occurs or a waiting event is ready. When an interrupt is detected, the operating system saves the current execution environment, dispatches a corresponding interrupt handler to process the required interrupt, and then returns to the interrupted program. Interrupts can be divided into different priorities on the basis of processor structures in order to handle complicated and concurrent interrupt requests.DMA. Direct memory access (DMA) is used to transfer a batch of large amount of data between the CPU and I/O devices, such as disks or communication ports. A DMA controller is handled by the operating system to carry out a DMA data transfer between an I/O device and the CPU.Network sockets. Most operating systems use a socket interface to control network communications. When requested in networking, the operating system creates a local socket and asks the target machine to be connected to establish a remote socket. Then, the pair of computers may communicate by a given communication protocol.
I
Published in Phillip A. Laplante, Dictionary of Computer Science, Engineering, and Technology, 2017
interrupt handler a piece of code designated to handle an interrupt, which is usually an asynchronous request to process an event generated outside of the control of the program (for example, the completion of an I/O operation). Although an interrupt handler often has many of the characteristics of a function, the exact linkage to the interrupt handler is usually determined by the underlying hardware and can be substantially different from the linkage used for ordinary function calls. Many languages support the necessary linkages for writing an interrupt handler within the language.
Challenges in Design, Data Placement, Migration and Power-Performance Trade-offs in DRAM-NVM-based Hybrid Memory Systems
Published in IETE Technical Review, 2023
Sadhana Rai, Basavaraj Talawar
Operating system-based migration often suffers from drawbacks such as: This method is generally costlier because of the additional cost involved in invoking interrupt/handler, sorting the counters, modifying the page tables and flushing the TLB [24];Another drawback of this approach is that OS triggers migration at the granularity of pages which may lead to poor utilization of bandwidth [24,32,52,74];Also operating system has less visibility of application access pattern and may miss a lot of hot pages which are used for a short duration [26,52];Sometimes applications are paused leading to performance loss [52].
Exploration for Software Mitigation to Spectre Attacks of Poisoning Indirect Branches
Published in IETE Technical Review, 2018
Baozi Chen, Qingbo Wu, Yusong Tan, Liu Yang, Peng Zou
Processed by the kernel, a packet arrives at the network card's interrupt handler. As soon as the driver acknowledges the interrupt controller, the remainder of the work may well be performed in a tasklet. Later, the core network processing happens in another software interrupt which would consist of different stages in multiple layers. In the end, the data are copied to the userspace resulting in context switch. A whole network transaction would cover a series of packet exchanges through multiple system calls which includes not only I/O functions but also security audits. This process would pass through much more indirect branches than others. Thus, it suffers more regression from Retpoline which prevents speculation of indirect branches. In this case, we propose to use a userspace network stack to alleviate such regression. Netmap maps NIC buffers directly into userspace memory and avoids the memory copy between the kernel and userspace applications. Thus, the application can access a packet as simple as reading from the buffer in the mapped region. Once the buffers are ready for the NIC, the application can then initiate DMA operations of the NIC through ioctl. To certify our proposal, we measure the throughput of Netmap under the two kernels. Figure 9 shows the network throughput when applied Netmap network stack. Netmap with in-kernel Retpoline achieves almost the same throughput compared to the non-Retpoline system.