Linux内核概念
国境之南Fantasy
Coder
展开
-
进程组,会话,控制终端
from: http://chongsoft.blogchina.com/chongsoft/6275856.html阐述如下几个概念 1) 进程组 2) 会话 3) 控制终端 前面的概念来源于前人,我只是站在前人的肩膀上结合内核中的实现加深概念理解。 1.概念: a)进程组 Shell 上的一条命令行形成一转载 2012-11-21 17:47:31 · 725 阅读 · 0 评论 -
Linux内核2.6和2.4中内核堆栈的比较
Linux内核 2.4和2.6的进程内核堆栈和task描述符存储不太一样,这儿总结一下。在内核2.4中堆栈是这么定义的:union task_union { struct task_struct task; unsigned long stack[INIT_TASK_SIZE/sizeof(long)]; };而INIT_TASK_SI转载 2016-11-08 09:51:04 · 754 阅读 · 0 评论 -
深入探索 Kdump,第 1 部分:带你走进 Kdump 的世界
Kdump 是一种基于 kexec 的 Linux 内核崩溃捕获机制,将 kernel 崩溃前的内存镜像保存,程序员通过分析该文件找出 kernel 崩溃的原因,从而进行系统改进。本文首先介绍了 kdump 的基本概念,其次以 RHE6.2 和 SLES11 为例介绍如何安装和配置 kdump。2 评论:岳 乐, 软件工程师, IBM张 艳, 软件工程师,转载 2016-03-14 14:22:02 · 3197 阅读 · 0 评论 -
kthread_stop引起的OOP
1 使用kthread_create创建线程: struct task_struct *kthread_create(int (*threadfn)(void *data), void *data,转载 2015-12-15 14:58:23 · 1923 阅读 · 0 评论 -
Linux kernel多线程的几种实现
驱动开发中常常会启动几个内核线程,在整个驱动生命周期期间执行某些操作,比如USB驱动的控制线程,一直等待SCSI命令,没有命令的话睡眠,有命令的话就唤醒线程,解析执行相关的命令。还有USB驱动中的扫描线程,如果有新的设备连接到USB总线,则会启动扫描过程,平时时候让出CPU资源休眠。常用的内核线程创建方法有3个,kernel_thread, kthread_create和kthread_r转载 2015-11-23 19:47:48 · 1562 阅读 · 0 评论 -
几种linux内核Image文件的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别转载 2015-10-08 19:11:54 · 10895 阅读 · 0 评论 -
在内核窥视用户态
在内核窥视用户态首先,环境:VMware Server上运行的ubuntu10.4,arch为x86_64。先看下面这个程序:#include #include #include int dataA;char bufA[1000];int main(){ int d转载 2014-07-01 15:07:56 · 816 阅读 · 0 评论 -
从 Linux 内核访问用户空间内存
Linux 内存和用户空间 API 简介因为内核和用户空间存在于不同的虚拟地址空间中,在它们之间移动数据需要特别注意。研究虚拟地址空间和内核 API 理念,用于将数据移入或移出用户空间,并学习其他的一些用于映射内存的映射技术。Linux 内存在 Linux 中,用户内存和内核内存是独立的,在各自的地址空间实现。地址空间是虚拟的,就是说地址是从物理内存中抽转载 2014-07-01 15:49:27 · 1056 阅读 · 0 评论 -
第六章 Linux内核的Softirq机制
Copyright © 2003 by 詹荣开 E-mail:zhanrk@sohu.com Linux-2.4.0 Version 1.0.0,2003-2-14 摘要:本文主要从内核实现的角度分析了Linux 2.4.0内核的Softirq机制。本文是为那些想要了解Linux I/O子系统的读者和Linux驱动程序开发人员而写的。 关键词:Linu转载 2014-04-29 10:48:39 · 1617 阅读 · 0 评论 -
浅析Linux的软中断的实现
作者:独孤九贱平台:2.6.31.13 + x86 32位供仅讨论学习之处,不对错误之处负责,转载请注明出处。1、软中断软中断的原理就略过了,讲内核的书上都有,此处省略1500字。。。。。。1.1 注册还是以我最熟悉的两个老朋友做为开篇: open_softirq(NET_TX_SOFTIRQ, net_tx_action);转载 2014-04-29 10:37:50 · 2457 阅读 · 0 评论 -
Linux软中断原理浅析
构成软中断机制的核心元素包括: 1、 软中断状态寄存器soft interrupt state(irq_stat)2、 软中断向量表(softirq_vec)3、 软中断守护daemon转载 2014-04-29 10:37:01 · 4413 阅读 · 0 评论 -
跟踪Linux进程打开文件数和解决方法
1,如何查看当前的进程打开的文件个数(这个数是实时波动) 下面以ccps为例说明1)取得程序对应的PID(进程号)ps –ef | grep ccps 执行[root@vvmocmp1 ccps]# ps -ef | grep ccpsroot 5661 1 0 20:33 pts/2 00:00:00 /bin/sh /opt/OC/ccps/jboss-4.2.3.GA/bin转载 2014-04-23 16:19:43 · 3547 阅读 · 0 评论 -
Linux最大打开文件描述符数
1. 系统最大打开文件描述符数:/proc/sys/fs/file-maxa. 查看$ cat /proc/sys/fs/file-max1864052. 设置a. 临时性# echo 1000000 > /proc/sys/fs/file-max2. 永久性:在/etc/sysctl.conf中设置fs.file-max = 1000000转载 2014-04-23 16:18:49 · 904 阅读 · 0 评论 -
linux内核分析--中断的分类
写在前面:这篇文章比较宽泛的写了关于中断的一些内容,包括中断的定义,中断的分类,计算机内部硬件产生中断的过程,以及中断的未来展望。但是并没有详细介绍中断处理过程。什么是中断Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。如果要管理这些设备,首先得和它们互相通信才行,一般有两种方案可实现这种功能:轮询(polling) 让内核定期对设备的状态进转载 2014-04-22 14:57:23 · 958 阅读 · 0 评论 -
文件描述符和文件指针的区别
文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。 文件指针:C语言中使用文件指针做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符。而文件转载 2012-11-23 10:51:32 · 857 阅读 · 0 评论 -
Linux0.11内核--系统中断处理程序int 0x80实现原理
系统调用是一个软中断,中断号是0x80,它是上层应用程序与Linux系统内核进行交互通信的唯一接口。这个中断的设置在kernel/sched.c中441行函数中[cpp] view plain copyvoid sched_init(void) { int i; struct desc_struc转载 2016-11-16 11:42:54 · 2629 阅读 · 0 评论