Linux内核
文章平均质量分 57
linux内核相关机制
无名_1989
1、每天坚持读书1小时;2、坚持提升专业,成为单位专业权威;3、战胜两个坏毛病——拖延与抱怨;4、先从形象上改变,提升你的自信;5、时常反省自己,但不诋毁自己;6、向优秀的人学习;7、坚持早睡早起;8、坚持体育锻炼;9、保持微笑;10、帮助他人
展开
-
Linux 中task_struct和文件系统的关系
在内核进程运行的时候,有current 宏对应目前进程task_struct结构Linux进程主要数据结构之间的关系。一个进程文件位置是有fs_struct描述的,进程打开的文件是有files_struct描述的,具体打开的文件描述符是有file控制的一:fs_structcount 域表示共享同一 fs_struct 表的进程数目。 umask 域由 umask( ) 系统调用使用,用于为新创建...转载 2018-02-27 19:21:37 · 432 阅读 · 0 评论 -
内核定时器timer_list使用
1. 包含的头文件:linux/timer.h2. 数据类型:struct timer_list;包含的主要成员:a. data:传递到超时处理函数的参数,主要在多个定时器同时使用时,区别是哪个timer超时。b. expires:定时器超时的时间,以linux的jiffies来衡量。c. void (*function)(unsigned long):定时器超时处理函数。3. 主要相关的A...转载 2018-02-26 12:13:25 · 378 阅读 · 0 评论 -
linux内核内存管理(ZONE_DMA ZONE_NORMAL ZONE_HIGHMEM介绍)
CPU被划分为多个节点(node),内存则被分簇,每个CPU对应一个本地物理内存,即CPU-node队形一个内存簇bank,即每个内存簇被认为一个节点。系统的物理内存被划分为几个节点(node),一个node对应一个内存簇bank,即每个内存簇被认为一个节点。原创 2017-08-28 16:20:57 · 2508 阅读 · 0 评论 -
PCB进程控制块
include/linux/sched.hstruct task_struct { volatile long state; struct thread_info *thread_info; atomic_t usage;unsigned long flags;unsigned long ptrace; int lock_depth; int prio, static_pr转载 2017-12-26 11:23:16 · 642 阅读 · 0 评论 -
程序中用sleep和select阻塞休眠的区别
在看公司项目中发现超时控制中使用select替代sleep就行阻塞,循环检查任务是否超时,在网上找了很多资料说了select的各种好处:1:sleep不准确,只能精确到秒(这个我感觉可以使用usleep代替,不是个很好理由)。2:sleep容易受到系统信号,例如SIGALRM影响,各个系统版本实现不一,sleep是个glic库函数,不是内核调用。3:更高级的说话是,sleep浪费CPU原创 2018-01-04 11:16:11 · 9311 阅读 · 1 评论