LINUX
文章平均质量分 72
蔡泽基✔℡
不积跬步,无以至千里
展开
-
(推荐)进程详细讲解(二)
接下来有7000字的进程总结,让我们开始吧!! 20.利用SIGCHLD 信号防止僵尸进程 当发生以下两种情况时,父进程会收到该SIGCHLD信号: ⚫ 当父进程的某个子进程终止时,父进程会收到 SIGCHLD 信号; ⚫ 当父进程的某个子进程因收到信号而停止(暂停运行)或恢复时,内核也可能向父进程发送该信号。 我们知道,子进程结束时,我们要回收子进程,避免僵尸进程的出现。子进程结束会产生一个SIGCHLD信号,然后我们用wait()来监控子进程是否结束,最后将其回收,回收完毕再再回到父进程自己的工作流程中原创 2021-12-17 22:36:31 · 523 阅读 · 0 评论 -
Linux的I/O文件系统
1.在 Linux 系统中,内核会为每个进程(关于进程的概念,这是后面的内容,我们可以简单地理解为一个运行的程序就是一个进程,运行了多个程序那就是存在多个进程)设置一个专门的数据结构用于管理该进程,譬如用于记录进程的状态信息、运行特征等,我们把这个称为进程控制块(Process control block,缩写PCB)。PCB 数据结构体中有一个指针指向了文件描述符表(File descriptors),文件描述符表中的每一个元素索引到对应的文件表(File table),文件表也是一个数据结构体,其中记录原创 2021-12-13 20:07:26 · 396 阅读 · 0 评论 -
MX6U-MINI官方 SDK 移植实验(LED)
官方 SDK 移植实验(LED) 前言:我们就来讲解如何移植 SDK 包里面重要的文件,方便我们的开发。但不是所有的半导体厂商都会为 Cortex-A 架构的芯片编写裸机 SDK 包,极少,所以我们只是借助SDK里的三个重要文件来开发,不能完全依赖SDK开发。在 Cotex-A 芯片下基本都需要我们自行编写,比如.s 启动文件、寄存器定义等等。 我们重点是需要 SDK 包里面与寄存器定义相关的文件,一共需要如下三个文件: fsl_common.h:SDK_2.2_MCIM6ULL\devices\MCIMX原创 2021-12-02 16:31:58 · 219 阅读 · 0 评论 -
MX6U-MINI语言版开发流程(LED)
C语言版开发流程(LED) 前言:本章我们就来学习如何用汇编来完成 C 语言环境的初始化工作,然后从汇编跳转到 C 语言代码里面去。比如初始化 DDR、设置堆栈指针 SP 等等,当这些工作都做完以后就可以进入 C 语言环境,也就是运行 C 语言代码,一般都是进入 main 函数。所以我们有两部分文件要做: ①、汇编文件 汇编文件只是用来完成 C 语言环境搭建。 ②、C 语言文件 C 语言文件就是完成我们的业务层代码。 实验程序编写:新建 VScode 工程,工程名字为“ledc”,新建三个文件:start.原创 2021-12-02 16:28:11 · 109 阅读 · 0 评论