- 博客(6)
- 收藏
- 关注
原创 多线程知识
但还有很多情况其实子线程 和主线程是相互独立的,因此不需要显示等待子线程运行结束,这时候用detach说明 是分离的,使用detache之后子线程运行结束会自动回收。你会发现完全就是一样的。:当创建一个新线程时,操作系统会为这个线程分配一个全新的、独立的栈。新线程的栈从头开始,并不包含原有线程的调用栈。pthread_join : 等待其他线程终止,需要指定等待的线程,不能想wait一样等待任意的。:新线程从指定的起始函数开始执行,因此它的栈一开始只包含这个起始函数的栈帧,而不包括原线程的栈帧。
2024-08-09 09:03:58
673
原创 busybox之内核线程init
在某些情况下,即使init进程遇到了致命错误,它仍然可以通过进入休眠状态来保持系统的基本稳定性,这样即使不能立即解决问题,系统也不会立即崩溃。
2024-08-07 20:23:38
878
原创 从uboot启动到linux内核挂载rootfs
/获取kernel_entry 函数,函数kernel_entry 并不是uboot 定义的,而是Linux 内核定义的,Linux 内核镜像文件的第一行代码就是函数kernel_entry,而images->ep 保存着Linux内核镜像的起始地址,起始地址保存的正是Linux 内核第一行代码,所以images->ep 就是函数kernel_entry 的地址。挂载后的数据存储:挂载成功后,根文件系统的关键数据结构(如超级块、inode等)会被存储在内核管理的内存区域中,而不是之前分配的临时页面中。
2024-08-05 09:10:20
1038
原创 boot阶段设备树及其重定位
定义: 设备树(Device Tree)是一种用于描述硬件平台和系统设备的数据结构,通常以文本形式表现,整合了硬件的层次结构、设备的属性和资源配置等信息。作用在操作系统引导启动阶段,设备树信息被检测并传递给操作系统,以确保操作系统能够正确地识别和管理硬件设备。硬件描述内容CPU信息:数量、类型、主频等。内存信息:基地址、大小、类型等。外设信息:中断控制器、总线和桥、GPIO控制器、串口、I2C设备、SPI设备等的类型、地址、中断号等。总线信息:总线的类型、速度、连接的设备等。
2024-07-30 10:43:12
465
原创 dtb反汇编分析
3. **Interrupt Controller**: 包含了ARM Cortex-A9 GIC(Generic Interrupt Controller)的配置。11. **Chosen** 和 **Aliases**: 定义了特定的选择节点和别名,以便于操作系统或启动加载器更容易地引用特定的设备。4. **Timers**: 包含了多个计时器设备,例如ARM Cortex-A9私有的看门狗定时器和系统定时器。9. **HSB (High-Speed Bus)**: 高速总线,连接了多个设备。
2024-07-30 10:29:51
452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人