原文:嵌入式100题(005):进程的空间模型

进程的空间模型 Linux下使用虚拟内存空间给每一个进程, 位操作系统下,每个进程都有独立的 G虚拟内存空间。其中包括: 内核区:用户代码不可见的区域,页表就存放在这个区域中。 用户区:a 代码段:只可读,不可写,程序代码段。b 数据段:保存全局变量,静态变量的区域。c 堆区:就是动态内存,通过malloc,new申请内存,有一个堆指针,可以通过brk系统调用调整堆指针。d 文件映射区域:通过mm ...

2021-02-25 08:25 0 275 推荐指数:

查看详情

嵌入式100(007):父进程、子进程的关系以及区别

进程、子进程的关系以及区别 关系:fork出子进程后,子进程都会继承父进程以下信息: 文件描述符 实际用户ID,实际组ID,有效用户ID,有效组ID 进程组ID 添加组ID 对话期ID 控制终端 设置-用户-ID标志和设置-组-ID标志 当前工作目录 ...

Thu Feb 25 16:29:00 CST 2021 0 570
嵌入式100(004):多进程、多线程同步(通讯)的方法

进程、多线程同步(通讯)的方法 进程间通讯: 管道( pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系 有名管道 (named pipeline) :有名管道也是半双工的通信方式,但是它允许无亲缘关系 ...

Thu Feb 25 16:24:00 CST 2021 0 381
嵌入式100(008):什么是进程上下文、中断上下文

什么是进程上下文、中断上下文 进程上下文: 进程上文:其是指进程由用户态切换到内核态是需要保存用户态时cpu寄存器中的值,进程状态以及堆栈上的内容,即保存当前进程进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。 进程下文:其是指切换到内核态后执行的程序,即进程运行 ...

Thu Feb 25 16:30:00 CST 2021 0 264
嵌入式100(009):一个进程可以创建多少线程,和什么有关

一个进程可以创建多少线程,和什么有关 理论上,一个进程可用虚拟空间是2G,默认情况下,线程的栈的大小是1MB,所以理论上最多只能创建2048个线程。如果要创建多于2048的话,必须修改编译器的设置。一个进程可以创建的线程数由可用虚拟空间和线程的栈的大小共同决定,只要虚拟空间足够,那么新线程的建立 ...

Thu Feb 25 16:31:00 CST 2021 0 468
嵌入式100(76):中断和异常的区别

中断和异常的区别 1、异常:   是指CPU内部出现的中断,即在CPU执行特定指令时出现的非法情况。同时异常也称为同步中断,因此只有在一条指令执行后才会发出中断,不可能在指令执行期间发生异常。 ...

Sat Feb 27 01:24:00 CST 2021 0 325
嵌入式100(88):什么是异步串口和同步串口

什么是异步串口和同步串口   串行通信进行数据传送时是将要传送的数据按二进制位,依据一定的顺序逐位发送到接收方。其有两种通信方式:异步通信和同步通信。   异步通信,是指数据传送以字符为单位,字符 ...

Sat Feb 27 23:14:00 CST 2021 0 310
嵌入式100(90):嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?   一、while(1) { } 没有划定初始化、更新区域的代码块(位置)。这两项代码的书写,就由作者来随意设置(完成)。后人接手程序,就要花精力查找,无形中增添了工作量。 用圆括号括起的判断部分,要求的不是代码块,而是一个 ...

Wed Mar 03 01:09:00 CST 2021 0 276
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM