Linux kernel
文章平均质量分 60
dreamxu
这个作者很懒,什么都没留下…
展开
-
Linux Kernel Basics from wiki
<br />Here you can find the more accurate definitions about Linux Kernel.<br /> <br />It is better to visit the link directly.<br /> <br /> http://en.wikipedia.org/wiki/Linux_kernel<br /> <br />In case of lossing the link copyed the content here.<br /> <br转载 2010-09-09 12:38:00 · 2942 阅读 · 0 评论 -
Kconfig in Linux kernel
<br /><br />核源码树的目录下都有两个文件Kconfig(2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文件中。在内核编译时,主Makefile调用这个.config,就知道了用户的选择。<br />上面的内容说明了,Kconfig就是对转载 2011-03-29 19:36:00 · 2958 阅读 · 0 评论 -
Makefile 里 -l和-L的区别
<br />-l-->指定连接时期望连接的库的名字<br />-L-->指定连接库的搜索路径<br /> <br />参见 LIBS += -Wl,-u,linuxu_app_preinit -lc -lrt -lpthread -ldl -lnlm -lfuse -L $(HPEXEC_INSTALL_DIR)/lib/<br />所以hyperexec连接时将优先连接libnlm.a里的实现,,如果在其中找不到实现,再去到newlib和libc中找实现。原创 2011-03-18 15:36:00 · 25551 阅读 · 0 评论 -
内核线程创建: kthread_create vs kernel_thread
<br />内核线程的创建,最好使用kthread_create。 kthread_create vs kernel_thread的区别就是,前者是在后者的基础上封装的内核创建接口。如果用kernel_thread创建线程,需要创建者去实现complete和wakeup。kthread_create是在内核启动时创建了一个kthreadd的线程来创建的,该线程会wait在kthread_create_list的queue上,当queue非空,kthreadd醒来用kernel_thread创建kthread转载 2011-02-16 11:52:00 · 2420 阅读 · 0 评论 -
Linux kernel config and makefile system
http://www-900.ibm.com/developerWorks/cn/linux/kernel/l-kerconf/2003 年 2 月随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核转载 2011-01-09 18:03:00 · 4239 阅读 · 0 评论 -
mounting nfs
<br />Mounting the root filesystem via NFS (nfsroot)<br />===============================================<br /><br />Written 1996 by Gero Kuhlmann <gero@gkminix.han.de><br />Updated 1997 by Martin Mares <mj@atrey.karlin.mff.cuni.cz><br /><br /><br /><br />原创 2011-01-09 18:05:00 · 1046 阅读 · 0 评论 -
Linux kernel config and makefile system
<br />http://www-900.ibm.com/developerWorks/cn/linux/kernel/l-kerconf/<br /><br />2003 年 2 月<br /><br />随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终转载 2011-01-09 18:01:00 · 887 阅读 · 0 评论 -
Opps vs Coredump
<br />1. 在内核访问了非法地址时,会在tlbexc处理中调用do_page_fault(arch/mips/mm/fault.c), do_page_fault会调用die("Opps")(arch/mips/kernel/trap.c). 在die中会调用打印现场信息并重启。在现场调试时,如果遇到opps,可以将关心的寄存器放在die中打印出来。<br />2. coredump是用户态程序访问了非法地址或者执行了非法指令,内核会发送Segfault信号给用户态程序,系统默认的信号处理函数会做Co原创 2010-12-21 18:58:00 · 901 阅读 · 0 评论 -
cgroup: Control Group 分析 转载
<br />这篇文章分析Cgroup不错, 阅读Kernel代码的start_kernel函数到cgroup_init_early时,搜了下,找到了这篇文章,大致看了下,不错,收藏。<br /> <br /> ------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一: 前言前段时间,一直在写操作系统和转载 2010-12-16 11:58:00 · 3582 阅读 · 0 评论 -
MIPS处理器下Linux调度器的调度时机
1. Linux的调度器,N多书有介绍,但是这些介绍基本都是给个大致概念,具体还要看代码。这部分的实现,不同的内核版本有一定的差异,我看的内核版本是2.6.21.7。2. 关于调度器,我的理解,无外乎3点:什么时候去检查是否需要调度(调度时机),如何选择应该运行的任务(调度策略),怎样做任务的切换。任务的切换,也就是上下文切换,相对简单。调度策略,Linux下有SCHED_RR, SCHED_FIFO,SCHED_OTHER, N多书上对他们差别的讲解足够,且易于理解。我主要学习了调度时机。3. 由于要进行原创 2010-09-29 19:31:00 · 1911 阅读 · 0 评论 -
Linux 的 completion机制
<br />一、定义:<br />linux/include/linux/completion.h13struct completion {14 unsigned int done;15wait_queue_head_twait;16};<br /> <br />二、作用:<br />虽然信号量可以用于实现同步,但往往可能会出现一些不好的结果。例如:当进程A分配了一个临时信号量变量,把它初始化为关闭的MUTEX,并把其地址传递给进程B,然后在A之上调用down(),进程A打算一旦被唤醒就撤销给转载 2010-09-06 16:29:00 · 26273 阅读 · 0 评论 -
Linux 2.6 Makefile system
Linux kernel的编译系统,结构性很好,这里是学习的一些体会和一些转载。理解的可能有错误,将来学习的时候再补充。1. 编译系统有配置和编译两部分。我们编kernel时输入的make menuconfig是在执行配置,make -j10 vmlinux是在执行编译。配置系统依赖于Kconfig文件,可以用命令find. -name "Kconfig" -exec grep -l xxx {} /; 来查找你关心的配置在哪个文件里。编译系统依赖于各个层次的Makefile。配置系统和编译系统的相关纽带是原创 2011-03-29 21:38:00 · 2741 阅读 · 0 评论