![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
CL_XYZ
这个作者很懒,什么都没留下…
展开
-
Linux中进程状态
linux进程描述符结构task_struct中的state域用来描述进程所处的状态,系统中的进程都必然处于这五种状态中的一种:TASK_RUNNING (运行)——进程是可执行的;它或者正在执行,或者在运行队列中等待执行。这是进程在用户空间中执行的唯一可能的状态;这种状态也可以应用到内核空间中正在执行的进程。 TASK_INTERRUPTIALBE (可中断)——进程正在睡眠(也就是说它被...原创 2019-03-31 19:19:39 · 845 阅读 · 0 评论 -
linux中的静态链接库
C++编译四个步骤,预处理,编译,汇编,链接,所谓的静态链接库就是把部分写好的代码编译到汇编结束这个步骤,然后把它们打包起来,等到再写别的程序需要用到这里的某些函数的时候,只需要把这个程序和之前的库链接起来就可以了,简化了编译的步骤。不过静态链接库链接到某个程序这是一锤子买卖,可以认为只是单纯的在你生成的程序里复制了一块当时连接的静态库的代码,之后这个静态库改不改和你已经生成的程序已经没有关系了,...原创 2019-04-03 11:15:54 · 1314 阅读 · 0 评论 -
linux中的动态链接库
在使用动态链接库的时候并不会把动态库的代码全部copy到生成的程序中,而是在程序运行的时候再去加载对应的代码,所以使用同一个动态库的程序可以共用一份代码,而且当你对动态库进行升级的时候,也不用去修改使用它的代码。以上是动态库生成使用的全过程,可是当运行的时候却出现了这种错误。用ldd命令再看一下怎么会找不到,编译的时候不是加进去了吗,而且编译的时候也没有报错。因为程序编译的...原创 2019-04-03 12:38:41 · 16398 阅读 · 1 评论 -
Linux内核计时器
linxu内核中完成的许多功能都需要感知时间的行进,比如定期把页面缓存中的数据写入磁盘,定期进行进程调度,提供获得当前时间的系统调用,还有计划任务的实现,让系统在某段时间之后执行某个程序,或者在某个时间点执行某个程序。以上这些功能对时间的把控都是由系统计时器完成的。 我们可以把系统计时器简单的看做一个按固定频率产生中断的硬件芯片,产生的中断就叫做定时器中断,而和时间相关的任务都在这个中断...原创 2019-04-09 15:10:45 · 994 阅读 · 0 评论 -
epoll详解
IO复用函数统共有三个,select,poll,epoll,但是在大并发条件下,我们一般都会使用epoll,select和poll有下边两个缺点。每次在调用之前都要把所有需要监控的socket都传给内核 无论是在内核还是在用户空间select和poll都是采用轮询的方式检查所有socket而epoll正是在这两点上做出了改进,得到了比select和poll更高的效率。epoll的原理...原创 2019-04-03 20:24:20 · 544 阅读 · 0 评论 -
LINUX中断的实现过程
大体分上半部和下半部上半部对时间要求很高要求迅速,下半部做具体工作下半部实现方式有软中断,tasklet,工作队列待填原创 2019-04-15 11:12:50 · 555 阅读 · 0 评论