- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 linux根文件系统的挂载过程
linux/fs/namespace.c中的void __init mnt_init(unsigned long mempages)linux/fs/ramfs/inode.c中的int __init init_rootfs(void)linux/fs/namespace.c中的static void __init init_mount_tree(void)linux/init/main.c中的...
2011-02-14 17:33:00 114
原创 读MTD分区表
通过/proc虚拟文件系统读取MTD分区表:cat /proc/mtd具体由linux/drivers/mtd下的mtdcore.c文件中的mtd_read_proc函数来实现:static inline int mtd_proc_info (char *buf, int i){ struct mtd_info *this = mtd_table[i]; if (!this) return 0...
2011-02-12 14:59:00 602
原创 【转】init进程的建立(init进程的执行过程)
Linux将要建立的第一个进程是init进程,建立该进程是以调用kernel_thread(init ,NULL,0)这个函数的形式进行的。init进程是很特殊的——它是Linux的第一个进程,也是其它所有进程的父进程。让我们来看一下它是怎样产生的。在调用kernel_thread(init,NULL,0)函数时,会调用main.c中的另外一个函数——init()。请注意init()函数和ini...
2011-02-10 01:38:00 358
原创 进程调度的依据
调度程序运行时,要在所有处于可运行状态的进程之中选择最值得运行的进程投入运行。选择进程的依据是什么呢?在每个进程的task_struct结构中有这么五项:need_resched、nice、counter、policy 及rt_priority(1) need_resched: 在调度时机到来时,检测这个域的值,如果为1,则调用schedule() 。(2)counter: 进程处于运行...
2011-02-10 01:03:00 415
原创 Linux进程调度时机
调度程序虽然特别重要,但它不过是一个存在于内核空间中的函数而已,并不神秘。Linux的调度程序是一个叫Schedule()的函数,这个函数被调用的频率很高,由它来决定是否要进行进程的切换,如果要切换的话,切换到哪个进程等等。我们先来看在什么情况下要执行调度程序,我们把这种情况叫做调度时机。Linux调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;2、当前进程的时间片用完时(curre...
2011-02-10 00:28:00 197
原创 内核线程
内核线程(thread)或叫守护进程(daemon),在操作系统中占据相当大的比例,当Linux操作系统启动以后,尤其是Xwindow也启动以后,你可以用”ps”命令查看系统中的进程,这时会发现很多以”d”结尾的进程名,这些进程就是内核线程 内核线程也可以叫内核任务,它们周期性地执行,例如,磁盘高速缓存的刷新,网络连接的维护,页面的换入换出等等。在Linux中,内核线程与普通进程有一些本质的...
2011-02-09 17:19:00 62
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人