随笔分类 -  linux内核

摘要:简介 本文分析linux内核exec系统调用执行过程中可执行文件的加载过程和栈的设置,内核代码版本为2.6.32 分析 \arch\ia64\kernel\process.c中有sys_exec函数的实现,是exec的系统调用服务例程 long sys_execve (char __user *fi 阅读全文
posted @ 2019-07-16 22:35 番茄汁汁 阅读(3483) 评论(0) 推荐(0)
摘要:简介 在普通的电脑上,想使用USB设备,必须将插入到主机。USBIP却可以通过网络,让主机访问其他主机上的外部设备,而用户程序完全感知不到区别。 usbip的文章在这里:https://pdfs.semanticscholar.org/c7c4/cb054d75810fdb0a2affa11c288 阅读全文
posted @ 2019-05-30 19:46 番茄汁汁 阅读(4718) 评论(2) 推荐(0)
摘要:一、中断初始化 中断的一些硬件机制不做过多的描述,只介绍一些和linux实现比较贴近的机制,便于理解代码。 1.1 关于intel和linux几种门的简介 intel提供了4种门:系统门,中断门,陷阱门,调用门。 调用门:不同特权级之间实现受控的程序控制转移,它是放在GDT或LDT之中。使用调用门需 阅读全文
posted @ 2019-03-12 14:06 番茄汁汁 阅读(340) 评论(0) 推荐(0)
摘要:一、进程重要字段描述 在目录include\linux\sched.h下定义了进程描述符task_struct,关注如下字段: 进程状态 volatile long state:表示进程状态,在该文件头部有几种状态的取值。 long exit_state:表示进程退出状态,下面的定义中前缀为EXIT 阅读全文
posted @ 2019-02-10 14:02 番茄汁汁 阅读(753) 评论(0) 推荐(0)
摘要:一、相关数据结构及其位置(大致浏览即可,介绍流程时再来仔细看) 1.1 进程描述符struct task_struct所在目录:include\linux\sched.h 关注task_struct中如下字段: struct sigpending pending;存放着实时信号,位于include\ 阅读全文
posted @ 2018-03-26 20:07 番茄汁汁 阅读(1245) 评论(0) 推荐(0)
摘要:原文地址 /arch。arch是architecture的缩写。arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文件都在arch/x86目录下。 /block。是块的意思,在linux中block表示块设备,块设备是以数据 阅读全文
posted @ 2018-03-04 15:07 番茄汁汁 阅读(447) 评论(0) 推荐(0)