- 博客(3)
- 问答 (1)
- 收藏
- 关注
原创 操作系统学习总结
1、进程管理 1、进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或执行单元。 进程和线程的区别: (a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。 (b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。...
2018-10-05 21:26:11
211
原创 非抢占系统的编程注意事项
非抢占系统中,必须程序中主动放权或任务挂起,其他任务才得以调度。 基于此,我们在非抢占系统中编写自己的任务需要注意一下几点: 及时放权,使其他任务得到调度;队列调用时,可以选择读取指定数目消息后,进行放权; 避免任务中出现大循环,使得任务长时间占用cpu资源,饿死其他任务; 放权过程需要程序开发者自己设计,需要注意调用栈中指针的保护,尽量在较外层的函数中进行放权;经常在项目实践中出现隐性放权(调...
2018-10-05 20:24:32
290
原创 函数使用前未申明,导致返回值在64位系统被截断
我们写main函数时,可以直接写成mian();不用定义返回值,那是因为我们对返回值不关注,编译器会默认返回值类型为整型。 若我们关注返回值类型,一定要显性定义返回值类型。否则,编译器会使用默认返回值类型,出现非预想的结果。 例: int main() { int p = NULL; intq = NULL; p = (int *)malloc(sizeof(int)); if(NULL == p...
2018-10-05 11:56:01
1066
1
空空如也
由于存储会损失精度,0.1的存储直接输出还是0.1而不是0.099999呢
2018-10-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人