2018年9月10日

内存申请 GFP_KERNEL GFP_ATOMIC

摘要: 在 Linux 内核空间申请内存涉及的函数主要包括 kmalloc()、_ _get_free_pages()和vmalloc()等 使用 GFP_ KERNEL 标志申请内存时,若暂时不能满足,则进程会睡眠等待页,即会引起阻塞,因此不能在中断上下文或持有自旋锁的时候使用GFP_KERNE 申请内存 阅读全文

posted @ 2018-09-10 17:42 紫枫术河 阅读(6204) 评论(0) 推荐(0)

中断

摘要: 1.进程上下文: 2.中断上下文: 3、中断上半部、下半部 三.为什么要进行不同之间状态的切换 在现在操作系统中,内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,其所拥有的资源也不同;在较低的级别中将禁止使用某些处理器 阅读全文

posted @ 2018-09-10 15:31 紫枫术河 阅读(332) 评论(0) 推荐(0)

select机制的原理

摘要: 应用程序中最广泛用到的是 BSD UNIX 中引入的 select()系统调用,其原型如下 其中 readfds、writefds、exceptfds 分别是被 select()监视的读、写和异常处理的文件描述符集合,numfds 的值是需要检查的号码最高的文件描述符加 1。timeout 参数是一 阅读全文

posted @ 2018-09-10 13:07 紫枫术河 阅读(1875) 评论(0) 推荐(0)

并发与竞态

摘要: 并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race conditions) 一、中断(硬中断、软中断、Tasklet、底半部)与进程之间 解决竞态问题的途径是保证对共享资源的互斥访问  阅读全文

posted @ 2018-09-10 10:18 紫枫术河 阅读(990) 评论(0) 推荐(0)

导航