• Wakeup in XNU


    Author: Duan Jiashun When Apple launched IOS 13, it added a new performance measure to the kernelwakeupAt the same time, there are countless applications killed by the system due to this indicator, including wechat Taobao, which we often use. This index is completely counted by the XNU kernel, so it is difficult for us to […]

  • [original] analysis of Linux PCI Driver Framework (3)


    Background Read the fucking source code!–By Lu Xun A picture is worth a thousand words.–By Golgi explain: Kernel version: 4.14 Arm64 processor Tools used: source insight 3.5, Visio 1. General First review the PCIe architecture diagram: This article will talk about the driver of PCIe host, which corresponds toRoot ComplexPart, equivalent to PCIHost Bridgepart; This […]

  • Use shell scripts to create scenarios where connections are frequently interrupted


    Raising questions Recently, during the preparation of the new version of the client, a strange dump was found in the internal grayscale process. By checking the log and stack, it can be determined that it was disconnected by the background every time it was connected to the background, resulting in a random crash after multiple […]

  • STM32 interrupts and events


    Metaphors of event, interrupt event and interrupt For example, a teacher teaches students in the classroom. Students in the classroom may make various behaviors, such as taking notes, huffing, turning schoolbags, talking small words, etc. we call these behaviors events. Some of them are often ignored by the teacher and continue his class; Some behaviors […]

  • STM32 interrupt details


    Interrupt plays a very important role in MCU. The code is executed from top to bottom by default. In case of conditions or other statements, it will jump to the specified place. In the process of single chip microcomputer executing code, it is inevitable that there will be some emergencies to deal with, which will […]

  • Nsoperation and nsoptionqueue of IOS multithreading


    Before talking about nsoperation, let’s talk about GCD. GCD technology is a lightweight and hidden magic technology. We can easily realize multi-threaded programming through GCD and block. Sometimes GCD is more effective than the multi-threaded methods provided by other systems. Of course, sometimes GCD is not the best choice, Another multi-threaded programming technology, nsoptionqueue, allows […]

  • Keil C51 learning 4 key external interrupt


    Motherboard introduction: P3 ^ 2 ~ p ^ 5 are four keys; P1 ^ 0 ~ P1 ^ 7 are 8 LED lights #Include “reg52. H” / / this file defines some special function registers of MCU The key take-off light is on or off Counter (P3 ^ 4 button for counter 0 and P3 […]

  • React source code part6 — how to implement status update


    summary This question mainly introduces how to update the react application after triggering the status update in react, that is, the principle of status update First, you need to know how to trigger status update What is the function triggered after status update? What is concurrency mode and its advantages over the current mode? How […]

  • Understand the elegant restart and update of the service


    When the server program is updated or restarted, if we directlykill -9Kill the old process and start the new process, there will be the following problems: The old request has not been processed. If the server process exits directly, the client link will be interrupted (received)RST) A new request has been called, but the service […]

  • [operating system] what are interrupts, exceptions, and system calls


      ***     interrupt abnormal system call source Caused by peripherals, It is random and sudden Unexpected behavior of the application, Is predictable The application actively requests the operating system to provide services Response mode asynchronous synchronization Asynchronous / synchronous Processing mechanism Continuous and transparent to applications Kill or re execute unexpected application instructions […]

  • STM32 watchdog details


    1、IWDG 1.1 introduction to independent watchdog Iwdg (independent watchdog) can be used to detect and solve faults caused by software errors. When the counter reaches a given timeout value, it will trigger an interrupt or generate system reset The independent watchdog clock is its dedicated low-speed clock (LSI), so it can keep working in time […]

  • Read JDK source code: AQS implementation of condition


    The first two articles respectively introduce the exclusive mode and shared mode in AQS framework. This article will introduce the implementation of condition interface in AQS.Before reading this article, it is recommended to understandImplementation principle of data structure and exclusive mode in AQS。 JUC implements monitor through lock and condition interfaces. Lock is used to […]