[转贴]用户态和内核共享内存--最简单的例子
作者:wheelz来自:http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=linuxK&Number=587187&page=0&view=collapsed&sb=5&o=all&
Linux2.6内核进程创建过程分析
创建时间:2007-10-18文章属性:原创文章提交:pr0cess(pr0cess_at_cnbct.org)Linux2.6内核进程创建过程分析/*Kernelversion:linux-2.6.22.9*作者:旋木木*日期:2007/10/17*E-mail:xuanmumu@gmail.co
PAE机制分析
刚写的关于物理地址扩展的分析,基本是从ULK3rd和intelvolume3里总结出来的,不过还是希望对大家有用有错误的地方希望大家指正,谢谢!文章来源CU社区:PAE机制分析
写了一个内核模块 实现简单的类似ps命令.
内核模块创建在proc文件系统上建立_ps文件.遍例进程内核链表task_struct.将遍例结果存入缓冲区.影射到/proc/_ps文件中.用户态的程序去读取这个文件.打印显示当前进程的的pid,ppid和进程名.#include<linux/kernel.h>#include<
Linux 2.4 内核说明文档(进程与中断管理篇)(7)
再有一节:2.10.原子操作2.10.原子操作目前有两种类型的原子操作:bitmaps和atomic_t。对于维护“已分配”或者“释放”单位(这些单位来自于某些大型的以数字标识每个单位的集合)的概念,bitmaps非常便利。释放inodes和块就是例子。这也在某些简单锁中有广泛的应用,例如提供打开设
Linux 2.4 内核说明文档(进程与中断管理篇)(6)
[quote]原帖由"SirFang"]我怎么记得linux下进程数是有限制的,不仅仅要足够的内存分配task_struct结构,还关系到GDT表,Linux不使用LDT,所以,GDT中的entry个数也就决定了进程总数。其中第0项不用,1~4项被指定为KernelCS/DS,Useractive.
Linux 2.4 内核说明文档(进程与中断管理篇)(5)
2.6.内核时钟现在我们来看看内核时钟。内核时钟常用来为细节函数(时钟处理函数)分派执行时间。主数据结构timer_list定义在include/linux/timer.h文件中:structtimer_list{structlist_headlist;unsignedlongexpires;uns
Linux 2.4 内核说明文档(进程与中断管理篇)(4)
2.5.等待队列当进程要求内核完成一件当前不会发生但稍后可能发生的事情时,它就进入休眠并在事件条件符合时被唤醒。内核实现机制的其中之一就被称为“等待队列”。Linux实现允许通过TASK_EXCLUSIVE标记来唤醒。对于等待队列,你可以采用通用的队列,然后简单地sleep_on/sleep_on_
Linux 2.4 内核说明文档(进程与中断管理篇)(3)
2.3.Linux调度程序调度程序的任务就是从多个进程中挑选一个访问当前CPU,它在kernel/sched.c中实现,对应的被每个内核源文件都引用的头文件定义在include/linux/sched.h。任务结构中对应调度的字段为:p->;need_resched:如果schedule()
Linux 2.4 内核说明文档(进程与中断管理篇)(2)
2.2.创建和中止任务与内核线程不同的操作系统书籍,从一个“正在执行的程序的实例”到“由clone或者fork系统调用产生的任务”等不同方式定义了“进程”。在linux下,共有三种类型程序:空线程;内核线程;用户任务;空线程在为第一个CPU引导时创建,然后依靠定义在arch/i386/kern
Linux 2.4 内核说明文档(进程与中断管理篇)(1)
[list=]本文档是《Linux2.4内核说明文档》中的第二部分。以下是整个文档大致目录:1,启动(http://bbs.chinaunix.net/forum/viewtopic.php?t=557946)2,进程和中断管理3,虚拟文件系统4,Linux页缓冲5,IPC机制本篇文档的目录为:2.
完全公平调度(CFS)(3)
组调度先说一下提纲1关于groupschedule的文档2关于组调度的认识3一些与组调度相关的数组结构4组调度结构图5具体的操作函数6后记1按照文档的解释,完全公平调度并不仅仅针对单一进程,也应该对组调度。例如有两个用户wxc1,wxc2,以用户userid来分,调度器分配给两个组的时间是公平的,w
完全公平调度(CFS)(2)
6)静悄悄地过来,看看这个经常调用的函数,到底做了啥捏?staticinlinevoid__update_curr(structcfs_rq*cfs_rq,structsched_entity*curr,unsignedlongdelta_exec)传进来的执行时间{unsignedlongdelt
完全公平调度(CFS)(1)
总结了篇关于cfs调度器的文档喜欢pdf的可以查看档案~CFS调度器--wxc200大家好哈,兄弟最近在学习调度器,有点儿心得,更多得是迷惑,写出心得来与大家分享,贴出迷惑来请大家解答。呵呵linux自2.6.23后引入了一种新的调度器,叫'CompletelyFairScheduler'(wiki
Unreliable Guide to Locking -by Rusty Russell-中文版2
第8章.加锁速度在考虑使用锁的代码的速度问题上,主要有三件事需要关注。首先是并发性:当锁被别人持有时,有多少事情是我们需要等待的。其次是,需要花多少时间来获取与释放一把无争议的锁。第三呢,是尽量使用更少的──或曰更灵活的──锁。当然,这里我已经假定锁的使用非常频繁,否则你都不用担心效率问题的。并发性
Unreliable Guide to Locking -by Rusty Russell-中文版1
KernelLocking中文版UnreliableGuideToLockingRustyRussell<rusty@rustcorp.com.au>翻译:albcamus<albcamus@163.com>Copyright©2003RustyRussellThisdocu
内核源码kfifo分析(原创)
从2.6.10开始,Linux内核提供了一个通用的环形缓存(我喜欢称为环形队列);它的头文件是<linux/kfifo.h>,kfifo.c是实现代码。在设备驱动中环形缓存出现相当多.网络适配器,特别地,常常使用环形缓存来与处理器交换数据(报文)[LDD3]。见下面的图“LDD3中描述的
基于NETLINK的内核与用户空间共享内存的实现
基于NETLINK的内核与用户空间共享内存的实现author:bripengandreEmail:bripengandre@126.com一、前言前些日子,开发中用到了netlink来实现内核与用户空间共享内存,写点笔记与大家分享。因为我对这块也不了解,写出来的东西一定存在很多错误,请大家批评指正~
Linux 用户态与内核态的交互——netlink 篇
Linux用户态与内核态的交互——netlink篇作者:Kendo2006-9-3这是一篇学习笔记,主要是对《Linux系统内核空间与用户空间通信的实现与分析》中的源码imp2的分析。其中的源码,可以到以下URL下载:http://www-128.ibm.com/developerworks/cn/
linux2.6.29 swtich_to 详细分析(一)
linux内核进程切换最重要的一个部分就是宏定义switch_to,下面从几个方面来详细讲解一下:(1)内嵌汇编(2)memory破坏描述符(编译器优化)(3)进程切换的标志是什么?(4)堆栈切换的标志是什么?(5)为什么switch_to提供了三个参数?(6)汇编参数的传递?带着这几个问题,先来大