![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 68
xiaoxiaomuyu2010
这个作者很懒,什么都没留下…
展开
-
Linux延时函数
前言代码编写经常会涉及到延时处理,而Linux环境下系统最常用的延时函数不过如下几个sleep/usleep/nanosleep,分别提供秒级、微秒级、纳秒级延时功能,这几个函数我们几乎天天都在使用,但我们是否准确安全的使用了他们? 先来看一下几个函数的原型:unsigned int sleep(unsigned int seconds);int usleep(useconds转载 2013-08-28 20:19:19 · 11552 阅读 · 0 评论 -
进程和线程的联系和区别
进程和线程的联系和区别定义:一、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。二、线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:转载 2013-08-28 20:22:22 · 757 阅读 · 0 评论 -
进程上下文、中断上下文、内核代表…
《LKD2》P21对于进程上下文的解释是:当程序执行系统调用或触发了某个异常,陷入内核空间。此时我们称“内核代表进程执行”并处于进程上下文。对于此段我的理解是进程的程序代码只能运行于用户空间,只有当执行了系统调用时才会在内核空间执行。程序执行到一半的时候由于并没有结束,会产生一些资源使用情况,中间数据等,这些需要一并传递到内核空间。所以要暂存为一个进程上下文到某个地方,程序代码在内核空间执转载 2013-08-28 09:09:17 · 1126 阅读 · 3 评论 -
Linux中断的沿触发和电平触发
Linux中断的沿触发和电平触发 初始化中断向量表时,有一个重要的操作就是set_irq_handler。这个函数参数一般为handle_edge_irq或者handle_level_irq。对于边缘中断,使用handle_edge_irq作参数;对于电平中断,使用handle_level_irq作为中断。那这两个函数有什么区别呢?1. handle_edge_irqkernel源原创 2013-09-29 14:28:18 · 10995 阅读 · 0 评论 -
Linux内核下的同步
内核中的同步摘自《Linux内核之旅》内核只要存在任务交错执行,就必然会存在对共享数据的并发问题,也就必然存在对数据的保护。而内核中任务交错执行的原因归根结底还是由于内核任务调度造成的。我们下面归纳一下内核中同步的原因。同步原因l 中断——中断几乎可以在任何时刻异步发生,也就可能随时打断当前正在执行的代码。l 睡眠及与用户空间的同步——在内核执行的进程可能会睡眠,这就会唤醒原创 2013-09-23 16:00:22 · 1080 阅读 · 0 评论 -
Linux内核下进程切换
Linux内核进程切换 本文主要参考了Understanding The LinuxKernel 和水木精华区的分析进程切换宏 switch_to 。感谢相关的作者!本文中有部分内容直接从上面提到的文章中重复,仅仅是为了方便大家阅读。本文中提到的所有内核代码可以到LinuxCross Reference上查阅。欢迎转载本文,转载请保留这份声明。 本文仅讨论内核进程的切换,而不涉原创 2013-09-23 16:04:00 · 8207 阅读 · 0 评论