`
longxj
  • 浏览: 101911 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

内核中的stack

阅读更多

linux下每个进程都有一个kernel stack,位于process descriptor的接下来的两个page frame(也可能会是一个,可以在编译内核时进行配置),包含一个kernel stack和thread_info。
如果被用来执行kcp(kernel control path)的进程的thread_union(kernel statck和thread_info的union结构)的大小为8k,则系统使用进程的kernel stack来处理kcp;如果
进程thread_union的大小为4k,则使用每个cpu的一个hard IRQ stack和soft IRQ stack用来处理相应的irq,而exception则是在每个进程的kernel stack的处理。
2009/01/21 三

分享到:
评论

相关推荐

    thread_info 与内核栈 stack 关系.pdf

    在Linux内核中,`thread_info`结构是一个关键的数据结构,它存储了关于线程(或称为轻量级进程)的一些关键信息。由于其体积相对较小,被称作迷你进程描述符。`thread_info`并不直接包含进程的具体信息,而是通过`...

    Android下各语言加callStack示例

    在Android系统中,理解和分析调用堆栈(call stack)对于开发者来说至关重要,尤其是在调试和性能优化时。本文将深入探讨如何在Android环境下为不同语言(C语言、C++、Java以及内核空间)添加并打印调用堆栈信息。 ...

    linux内核调试方法总结

    二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG_ON() 2 dump_stack() 五 printk() 1 printk函数的健壮性 2 printk函数脆弱之处 3 LOG等级 4 记录缓冲区 5 ...

    基于Z-Stack的点对点通信_zigbeecc2530_z-stack_

    在Z-Stack中,每个设备都有一个唯一的64位网络地址和一个16位设备地址。对于点对点通信,两个设备可以配置为端点设备,并使用相同的网络ID和通道,但必须有不同的设备地址。 Z-Stack提供了多种API函数,用于发送和...

    Z-Stack 3.0.2.rar

    在这个场景中,我们讨论的是Z-Stack 3.0.2版本,这是针对CC2530微控制器的特定实现。 CC2530是TI公司推出的一款具有集成RF收发器的8位微控制器,特别适合无线传感器网络和Zigbee应用。它结合了高效的8051内核与高...

    sdio stack v2.0

    "SDIO stack v2.0" 指的是一个针对 Linux 2.6.24 内核版本的 SDIO 子系统实现,它提供了与 SDIO 设备交互所需的驱动层和框架。这个版本的 SDIO 堆栈可能对其他内核版本不兼容,特别是在编译时可能会遇到错误。同时,...

    IRP与IO_STACK_LOCATION

    `StackSize`来源于DEVICE_OBJECT结构体中的`StackSize`字段,该字段在设备驱动程序的加载过程中确定。 ```c IoAllocateIrp( StackSize, ChargeQuota ) ``` 分配IRP的大小计算公式为: ``` #define ...

    Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    在Linux系统中,栈可以分为进程栈、线程栈、内核栈以及中断栈。 首先,我们需要了解栈(Stack)的基本概念。栈是一种后进先出(LIFO, Last In First Out)的数据结构,它允许数据被存储和检索,但只允许在一段称为...

    Ubuntu18.04升级内核并安装AX210无线网卡驱动

    可以安装HWE(Hardware Enablement Stack)的最新版本,它提供了一个与新硬件兼容的内核。运行以下命令: ``` sudo apt install linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 ``` 这将安装针对18.04的硬件...

    疯狂内核之——内核初始化

    - **内核引导程序**: 引导程序是计算机启动过程中的第一步,负责加载操作系统内核到内存中并执行。对于Linux来说,常见的引导程序有GRUB和LILO等。 #### 2. 内核映像的形成 - **MakeFile预备知识**: - **Makefile...

    f-stack-server-client.rar

    在F-stack中,DPDK被用来构建高效的数据传输路径,尤其是对于UDP(User Datagram Protocol)这样的无连接协议。 【描述】中的“f-stack的客户端服务端实现方法代码”意味着我们可以在压缩包内的文件中找到F-stack...

    ZigBee的Z-Stack操作系统

    在Z-Stack中,有七个主要任务,它们按照优先级进行排序,MAC层的任务具有最高的优先级。这意味着当MAC层有任务需要处理时,其他较低优先级的任务将被挂起,直到MAC层的任务完成。这样的设计确保了ZigBee网络的关键...

    光敏传感器数据采集开发_传感器_cc2530zigbee_z-stack_

    6. **设备认证与安全**:在Z-stack中,设备认证和密钥交换确保数据在传输过程中的安全性,防止未经授权的访问。 7. **数据解析与应用**:在接收端,接收到的光强数据会被解析并用于特定的应用场景,比如光照强度...

    FreeRTOS实时内核使用指南中文

    3. **任务优先级**:在FreeRTOS中,每个任务都有一个优先级,内核会根据优先级调度任务的执行。优先级用无符号整型变量`uxPriority`表示,优先级数值越高,表示优先级越高。需要注意的是,高优先级的任务总是能够...

    Z-Stack Home 1.2.0

    1. 强大的处理能力:Cortex-M3内核能高效执行协议栈的计算任务。 2. 优秀的无线性能:内置的ZigBee射频模块提供稳定的无线通信。 3. 低功耗设计:适应长时间运行的IoT设备,降低电池更换需求。 4. 扩展性强:丰富的...

    Linux内核启动过程分析

    Linux内核启动过程是计算机启动过程中的核心部分,它涉及到从机器上电到操作系统完全就绪的全过程。在Linux操作系统的发展历程中,不同版本的内核在启动过程中会采用不同的内存布局和装载方法。本文将主要分析2.4...

    JVM内核架构--JVM规范

    JVM内核的各个组成部分 Runtime data areas shared among all threads: Method area: holds the details of each class loaded by the class loader subsystem. Heap: holds every object being created by the ...

    LINUX-1.2.13 network_stack_kernel_source_analysis

    本文将深入探讨Linux 1.2.13内核中的网络栈实现,通过对源代码的解析,揭示其工作原理和关键功能。 1. **网络层(Network Layer)** Linux内核中的网络层遵循OSI模型的第三层,主要处理IP协议。在这个版本中,主要...

    CC2540 BLE stack 1.3.1

    - **高性能CPU**:内置8051内核,处理能力强,支持复杂的BLE应用。 - **闪存和RAM**:内部包含可编程闪存和RAM,方便存储程序和数据。 - **多种外设接口**:如UART、SPI、I2C等,方便与其他硬件交互。 2. **BLE ...

    The Linux TCPIP Stack.pdf

    它解释了网络数据包是如何通过物理层、链路层到达网络层的,同时深入探讨了Linux内核如何管理和控制网络硬件,以便高效地处理网络通信。 ### 5. Linux套接字(Sockets) 第五章专注于Linux套接字编程,这是实现...

Global site tag (gtag.js) - Google Analytics