面试知识-常见问题

系统

1.进程和线程的区别?

1. 本质区别: 进程是资源调度以及分配的单位; 线程是CPU调度的基本单位;
2. 所属关系: 一个线程属于一个进程。一个进程可以拥有多个线程。
3. 地址空间:进程有独立的虚拟地址空间;线程没有独立的地址空间,线程有栈,程序计数器(TC),本地存储(TLS)等少量独立空间;
4. 内存: 系统会为每个进程分配不同的内存空间;系统不会为线程分配内存;线程所使用的资源来自其所属的进程资源。
5. 并发性: 进程的并发性较低;线程的并发性较高;比较基准是(CPU 会切换执行,切换执行不同的实体)切换效率。进程切换效率低,他所属的资源多。线程切换效率高。 都会涉及到上下文的切换。 上下文就是进程所属的资源。 对于单个CPU,系统会将cpu运行时间划分为多个时间段,再将时间段分配给各个线程执行。这个就是单位时间内的de并发的数量。
6. 健壮性:一个进程崩溃后,不会影响其他进程;一个线程崩溃后,导致整个进程崩溃。进程的健壮性高,线程的健壮性低。进程具备独立的运行环境,进程隔离性强一些。

虚拟地址空间, 会有一个页表,通过页表查找真实的地址空间。

实时系统的特点

1. 必须在有限时间内完成的任务叫做实时任务,用来完成实时任务的系统叫做实时系统。
2. 实时任务具有确切的完成期限,实时系统分为软实时系统和硬实时系统,硬实时系统对时间要求严格,对于超时零容忍。
3. 实时任务的后动是不可逆的。
4. 实时任务大多由外部事件激活的。

static 有什么用途?

1. 修饰对象: 变量和函数
2. 作用范围: static 修饰的变量,修改了变量的存储位置,生命周期和作用范围;存储位置是内存的静态存储区,生命周期是程序的运行周期,在.c文件内,函数内部的局部 左右范围是函数内部。文件内全局变量,作用范围是整个文件。在头文件中的作用范围是包含该头文件模块。
3. 函数,在文件内部,作用范围是整个文件。 在模块内部避免命名重复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值