![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k-kernel
文章平均质量分 86
Morphad
这个作者很懒,什么都没留下…
展开
-
linux cred管理
I.credential管理linux系统中,一个对象操作另一个对象时通常要做安全性检查。如一个进程操作一个文件,要检查进程是否有权限操作该文件。linux内核中,credential机制的引入,正是对象间访问所需权限的抽象;主体提供自己权限的证书,客体提供访问自己所需权限的证书,根据主客体提供的证书及操作做安全性检查。证书管理术语:客体:指用户空间程序直接可以操作的系统对象,如进原创 2013-06-13 20:43:43 · 7573 阅读 · 0 评论 -
linux 系统调用fork vfork clone
fork:通过fork创建新进程vfork:主要用于马上执行exec的情况,因为马上就exec装入新的程序,所以可以去掉fork中分配新的地址空间等操作,进而加速进程创建clone:功能更强,参数更多;主要用于创建线程/父子进程资源共享等,可以通过设置相应的参数实现fork、vfork的功能 I.系统调用i.系统调用arch/x86/kernel/syscall_table原创 2013-06-29 12:02:18 · 2852 阅读 · 0 评论 -
linux 信号signal实现
信号是发送给进程或进程组的非常小的消息,通常只包含信号编号;现在的系统可以附带siginfo信息,见sigaction的SA_SIGINFO标识。信号主要有以下两个目的:1.让进程知道出现某异步事件2.出现异步事件,让进程能做出相应的处理(通过提供信号处理函数,由内核自动调用) I.信号生命周期i.信号生命周期1.信号产生:内核更新目标进程数据结构,表示出现某异步事件原创 2013-07-03 19:16:25 · 2833 阅读 · 0 评论 -
linux signal产生(发送)
不论是内核发送信号(硬件异常-SIGSEGV等、软件通知-SIGPIPE等、终端键-SIGINT等),还是用户进程发送信号(kill系统调用),都要由内核将信号记录到相应(轻量级)进程描述符中的信号相关结构中、唤醒被阻塞的目标进程等。在信号发送阶段,内核将信号添加到信号pending队列中;在信号传递阶段,内核将信号从pending队列中取出,并处理(包括调用用户自定义处理、SIG_DFL默认原创 2013-07-04 23:07:19 · 5100 阅读 · 0 评论 -
linux signal传递(处理)
内核版本:2.6.32.60linux信号传递阶段发生在异常/中断返回到用户态时;当内核由内核态返回到用户态时,如果有信号pending到当前进程,内核就将信号传递给进程并做信号处理I.异常/中断返回i.信号传递由以下注释可以看出异常/中断或系统调用(特殊的中断)退出时,都会去检测pending的信号并做处理/* arch/x86/kernel/entry_32.S */原创 2013-07-05 23:03:58 · 2505 阅读 · 0 评论 -
ata驱动框架
这里所说的ATA Disk包含两大类:一类是传统的并行ATA(PATA),即IDE接口;另一类是目前流行的串行ATA(SATA)。对于IDE的驱动,Linux-2.6.28还进行了保留,其可以驱成传统的HD设备,也可以驱成流行的SD设备。对于SATA设备,Linux的标准做法是驱成SD设备,下面对传统ATA的驱动架构和目前流行ATA的驱动架构进行对比分析说明。 传统ATA转载 2014-03-21 09:39:36 · 4486 阅读 · 0 评论