E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux内核学习
Linux内核学习
第6天
5.代码和数据段描述符类型 *当段描述符中S标志被置位(1),则该描述符用于代码或数据段。(位11决定是数据段还是代码段的描述符) A(Accessed)用于表示已访问 W(Write-Enable)可写 E(Expansion-direction)扩展方向 *堆栈段必须是可读/写的数据段6.系统描述符类型:
luoyhang003
·
2014-05-13 20:00
linux内核
Linux内核学习
第5天
3.段选择符:是段的一个16位标识符 *段选择符结构: 请求特权级RPL(RequestedPrivilegeLevel):提供了段保护信息 表指示标志TI(TableIndex):用来指出包含指定段描述符的段描述表GDT或LDT表中的索引项号 索引值(Index):描述符索引
luoyhang003
·
2014-05-10 23:00
linux内核
Linux内核学习
第4天
保护模式内存管理分页机制(支持虚拟存储技术) (1)虚拟存储:是一种内存管理技术,“虚拟化”线性地址空间的方法 (2)使用分页将段划分成页面(通常为4K),页面存储于物理内存或硬盘上,操作系统通过维护页表或页目录来管理,当程序访问线性地址空间的一个地址位置时,处理器会使用页目录和页表来转换为物理地址。如果访问的页面不在物理内存上,处理器会产生一个中断,然后将该页面载入到物理内存。 *段
luoyhang003
·
2014-04-30 22:00
linux内核
Linux内核学习
第3天
保护模式内存管理内存寻址:对存储在内存中的某个数据对象的地址进行定位 80X86CPU中,一条操作由操作码和操作数组成段:一种内存寻址技术把内存分为一个或多个线性区域(段) 80X86有6个存放段选择符的段寄存器:CS、DS、ES、SS、FS、GS CS:总是用于寻址代码段,由CS寻址代码段称为当前代码段 SS:堆栈段使用SS寄存器,栈顶由ESP寄存器内容内容指定,堆栈顶的
luoyhang003
·
2014-04-27 15:00
linux内核
Linux内核学习
第2天
80X86保护模式及其编程1. 标志寄存器:标志用于控制I/o访问、可屏蔽硬件中断、调试、任务切换、虚拟8086模式 2. 内存管理寄存器GDTR:全局描述符表寄存器IDTR:终端描述符表寄存器LDTR:局部描述符表寄存器TR:任务寄存器 3. 控制寄存器CR0:用于控制和确定处理器的操作模式以及当前执行任务的特性CR1:保留不用CR2:含有导致页错误的线性地址
luoyhang003
·
2014-04-25 14:00
linux内核
Linux内核学习
第1天
内核编程语言和环境1. as86汇编器 语法:as[option]–oobjfilesrcfile.表示编译过程中的位置计数器Objfile分为三个段(区):正文段(.text):程序的执行代码和只读数据数据段(.data):可读/写的数据未初始化数据段(.bss) 2. GNUas汇编格式:as[option][-oobjfile][srcfile.s] 3. 指
luoyhang003
·
2014-04-22 21:33
linux内核
linux内核学习
——工作队列
由于CPU要处理中断,而且中断都要求尽快执行结束,所以对于大量的程序处理都会放到下半部去执行。常用的下半部有:软中断、任务队列、工作队列等。其中工作队列是一个比较好用,也比较常用的方法。工作队列使用时我觉得一般会有以下几部分来共同使用。structworkqueue_structmy_wq;//工作队列,用于通知工作者工作 structwork_structmy_work;//工作者,用于处理具体
wangyuling1234567890
·
2014-03-19 23:00
链表
linux内核
工作队列
linux内核学习
书籍
1,关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、内存的关系(很粗略即可),等等。2,关于C语言。不需要已经很精通C语言,只要能熟练编写C程序,能看懂链表、散列表等数据结构的C实现,用过gcc编译器,就可以了。当然,如果已经精通C语言显然
xiaocainiaoshangxiao
·
2014-03-17 16:00
Linux内核学习
四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel四库全书1.Linux内核设计与实现Edition2 2.Linux设备驱动Edition3 3.Linux内核源代码情景分析
wconvey
·
2014-03-12 08:00
我的
Linux内核学习
之路
现在回首看看,接触Linux已经很长时间了。在大三的时候开始学习Java,但是一直学Java的话,感觉有点腻,就尝试找点其他东西来学习。所以当时就选择学习了Linux。至于为什么要学习Linux,有以下三个原因。一是我比较喜欢开源的东西,当时学习Java就是因为它开源,以后选择学习Android很大一部分原因也是因为它开源。现在已经工作了大半年,每当有搞不懂的问题,通过翻看源代码解决了这个问题,我
张纪刚
·
2014-03-02 18:28
程序人生
Linux
我的
Linux内核学习
之路
现在回首看看,接触Linux已经很长时间了。在大三的时候开始学习Java,但是一直学Java的话,感觉有点腻,就尝试找点其他东西来学习。所以当时就选择学习了Linux。至于为什么要学习Linux,有以下三个原因。 一是我比较喜欢开源的东西,当时学习Java就是因为它开源,以后选择学习Android很大一部分原因也是因为它开源。现在已经工作了大半年,每当有搞不懂的问题,通过翻看源代码解决了这个问题,
brave2211
·
2014-03-02 18:00
linux
学习
linux内核
Linux内核学习
四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel 四库全书1.Linux内核设计与实现 Edition2 2.Linux设备驱动 Edition3 3.Linux内核源代码情景分
redouba
·
2014-02-18 21:00
linux
kernel
驱动开发
linux内核
谈谈如何学习Linux内核 (二) —— 站在系统的角度去学习
这次讨论的主题是如何从系统的角度切入
Linux内核学习
。
wearenoth
·
2014-02-14 17:00
Linux内核学习
之四-内存管理
一、虚拟存储器内存管理最基础的概念,恐怕是虚拟存储器(VirtualMemory,简称VM)了,它是计算机系统(注意我没写操作系统,因为其中还有部分硬件功能)在物理存储之上的一套机制。它将物理地址(PhysicalAddress,简称PA)转换为虚拟地址(VirtualAddress,简称VA),来访问存储。正是因为有了虚拟存储器,才有了后面的内存转换、页表等机制。看到这里我就有疑问了,有了物理地
黄亿华
·
2014-01-28 17:00
linux
内存
页
tlb
Linux内核学习
之三-进程的调度
一、调度的总体流程进程的调度是进程部分的核心-很显然,如果没有调度,我们也不需要进程了!我们在上一篇文章的第二部分实现了一个最简单的按照时间片的调度算法,每个进程都平均执行100毫秒。while(true){ processing=nextProcessing(); processing.run(); wait(100);//每100毫秒分片 processing.interrupt(); } 那
黄亿华
·
2014-01-27 22:00
c
linux
kernel
进程
Linux内核学习
之二-进程与线程
一、操作系统的功能根据维基百科的解释,一个操作系统大概包括以下几个功能:进程管理(Processingmanagement)安全机制(Security)内存管理(Memorymanagement)用户界面(Userinterface)文件系统(Filesystem)驱动程序(Devicedrivers)网络通信(Networking)可以看到,这些功能彼此之间关系并不大,所以操作系统其实是这么些功
黄亿华
·
2014-01-27 14:00
linux
进程
fork
Linux内核学习
之一-Take It Easy!
起-做个了解底层的码农节前上班的日子总是那么悠闲,这么集中的时间,正好集中学习一下。一直以来都做的是Java开发,对不了解底层,总觉得心有不安。听到别人说起“进程切换”、“内存管理”、“内核态和用户态”,也总是觉得似懂非懂。所以就干脆把目标定大一点,学学Linux内核吧!承-下载Linux内核及编译下载其实如果你使用Linux系统,那么内核的源码就直接在/usr/src目录下了。不过还是建议去下载
黄亿华
·
2014-01-26 23:00
c
linux
内核
2014-1-5_
linux内核学习
(1)_C语言基础
学习Linux的内核模块化编程,参考资料中有几个基础的语法觉得很陌生。1、结构体的初始化看“字符设备驱动”(http://www.tldp.org/LDP/lkmpg/2.6/html/x569.html)里面有这样的代码:staticstructfile_operationsfops={ .read=device_read, .write=device_write, .open=devic
sbp810050504
·
2014-01-05 16:16
linux
内核
函数指针
结构体初始化
linux内核学习
——内核学习资料
刚开始学习内核,建议用早期版本的源码。因为内核也一直在修改,最新的版本可能会和某些早期的内核学习书籍上内容有出入。内核官网:https://www.kernel.org/内核早期版本源码:https://www.kernel.org/pub/linux/kernel/
wangyuling1234567890
·
2014-01-01 11:00
源码
linux
内核
linux内核学习
——进程管理
进程就是处于执行期的程序。包括可执行代码和其他资源,如:打开的文件,挂起的信号,内核内部数据,处理器状态,内存映射空间和一个或多个执行线程等。进程描述符内核把进程的列表存放在叫做任务队列的双向链表中,链表中的每一项都是类型为task_struct(进程描述符)的结构,该结构定义在文件中。进程描述符包含一个进程的所有信息。其内核定义如下:structtask_struct{ volatilel
wangyuling1234567890
·
2014-01-01 11:00
多线程
linux
进程
内核
fork
Linux内核学习
经验总结
开篇学习内核,每个人都有自己的学习方法,仁者见仁智者见智。以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下。内核学习,一偏之见;疏漏难免,恳请指正。为什么写这篇博客 刚开始学内核的时候,不要执着于一个方面,不要专注于一个子系统就一头扎到实际的代码行中去,因为这样的话,牵涉的面会很广,会碰到很多困难,容易产生挫败感,一个函数体中(假设刚开始的时候正在学习某
u012903992
·
2013-12-24 18:00
Linux内核学习
四库全书
原文出处:http://blog.csdn.net/21aspnet/article/details/6585602关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel四库全书1.Lin
linux_embedded
·
2013-12-20 19:00
[置顶] Android系统RPC与Binder
一、RPC与IPC关系 Binder机制对于Android系统学习就犹如根文件系统挂载部分对于
Linux内核学习
;是一座不得不翻越的大山(指其复杂程度与重要性)。
tankai19880619
·
2013-12-18 14:00
linux内核学习
——list链表
链表使用基础:链表是linux内核中最简单,最普遍的数据结构。刚开始接触内核的人可能会对linux的链表操作有点不习惯。因为内核链表与大家平时用的链表不同,它不是把数据结构放到链表里面,而是把链表节点放到数据结构里面。linux内核的链表代码在中声明。链表代码在头文件中声明,其数据结构很简单:structlist_head{ structlist_head*next; structlist_hea
wangyuling1234567890
·
2013-12-15 20:00
数据结构
linux
链表
list
内核
linux内核学习
——内核同步
一、内核同步基础概念共享数据:能够被多个代码段访问的数据,一般指全局变量和静态变量临界区:访问和操作共享数据的代码段竞争条件:如果两个执行线程可能处于同一个临界区中同时执行,就被称为竞争条件发生了同步:避免并发和防止竞争条件成为同步内核中可能造成并发执行的原因:中断——中断几乎可以在任何时刻异步发生,也就可能随时打断当前正在执行的代码。内核抢占——因为内核具有抢占性,所以内核中的任务可能会被另一任
wangyuling1234567890
·
2013-12-15 15:00
linux
并发
同步
内核
竞争
linux内核学习
——内存管理
一、内核内存管理基础:页:内核把物理页作为内存管理的基本单位。32位系统:4K/页64位系统:8K/页区:由于硬件限制,内核不能对所有页一视同仁。linux必须处理如下硬件存在的缺陷而引起的内存寻址问题:一些硬件只能用某些特定内存地址来执行DMA(直接内存寻址)一些体系结构的内存物理寻址范围比虚拟寻址范围大得多。这样一些内存就不能永久映射到内核空间。linux主要使用了四种区:ZONE_DMA——
wangyuling1234567890
·
2013-12-14 23:00
linux
内存管理
Linux内核学习
四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel四库全书1.Linux内核设计与实现Edition2 2.Linux设备驱动Edition3 3.Linux内核源代码情景分析
zkaipmoo
·
2013-12-10 00:00
linux
内核
Linux内核学习
四库全书
http://blog.csdn.net/21aspnet/article/details/6585602关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel四库全书1.Linux内核设
sunzeduo
·
2013-12-08 10:38
linux
源代码
四库全书
嵌入式
linux内核学习
之系统框架
本人学习嵌入式linux已经有一年半了,因为还是个学生,所以学习的时候断断续续,也没有时间来得及总结,但是在本子有做过笔记,每次忘记了,翻翻笔记,感觉都会有新的不同体会。现在我报嵌入式实训班了,决定把自己学习过程中的一些心得体会写下来,因为本人刚刚入门,难免有错误的地方,希望大家帮忙指出,本人不胜感激。
zhang911025
·
2013-11-22 13:00
框架
内存管理
内核
Linux内核学习
全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel全书1.Linux内核设计与实现Edition2 2.Linux设备驱动Edition3 3.Linux内核源代码情景分析 4.
A09211008
·
2013-11-19 20:00
linux
linux
kernel
linux内核
Linux内核学习
笔记十——虚拟文件系统概念
虚拟文件系统虚拟文件系统:内核子系统VFS,VFS是内核中文件系统的抽象层,为用户空间提供文件系统相关接口;通过虚拟文件系统,程序可以利用标准Linux文件系统调用在不同的文件系统中进行交互和操作。VFS作为抽象层:文件系统被安装在一个特定的安装点上,该安装点在全局层次结构中被称作命名空间,所有的已安装文件系统都作为根文件系统树的枝叶出现在系统中。文件系统主要的对象:超级块对象:代表一个已安装文件
Yeaman_Yang
·
2013-11-13 21:21
Linux内核学习
实践之GPIO面板按键
说明:本分析基于AM6C平台Linux3.0.8内核,其他内核版本仅供参考。一、platform设备注册的按键映射common/customer/boards/board-m6tv-h32.cstaticstructadc_keyadc_kp_key[]={ {KEY_UP,"vol+",CHAN_0,821,60},//k3//
[email protected]
{KEY_LEFT,"vo
tankai19880619
·
2013-11-13 17:00
Linux内核学习
实践之红外驱动分析—RCA38KHz软解码
说明:本分析基于AM6C平台Linux3.0.8内核,其他内核版本仅供参考。本文以Amlogic的红外驱动代码片段为例;对之前内核学习有一个很好的实践:1.平台总线、设备及驱动部分;《Linux总线、设备与驱动》uvc设备分析,主要是总线驱动的match函数、设备和驱动的互相发现机制等。2.中断处理部分,中断处理底半部;《Linux中断编程》中断处理底半部,复习中断的注册、使用,中断底半部的实现。
tankai19880619
·
2013-11-04 10:00
写给Linux内核新手-关于
Linux内核学习
的误区
写给Linux内核新手-关于
Linux内核学习
的误区 先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。
pinghegood
·
2013-10-10 11:00
史上最经典的
Linux内核学习
方法论
(声明下,转载的地址好像也是转别人的,看来好东东大家都在转) 待到山花烂漫时,还是那些经典在微笑。有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作(个人概括为“2+1+2”,第一个2是指2本全面讲解内核的书,中间的1指1本讲解驱动开发的书,后面的2则指2本有关内核具体子系统的书,你是否想到了某某广告里三个人突然站起单臂齐举高呼“1比1比1”的场
xuesong13
·
2013-09-23 20:00
linux内核
Linux内核学习
趣谈
本文原创是freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/9304991 从大二开始学习Linux内核,到现在已经4年了。在大学的时候,学习Linux内核仅仅是作为一种爱好,因为国内罕有人能在本科毕业之后直接从事Linux内核研发工作,而哦也从未打算读研。 学习内核是一件很有趣的事情。仅仅是出
·
2013-07-12 18:00
linux
史上最经典的
Linux内核学习
方法论
http://tech.it168.com/a2010/0510/884/000000884174_all.shtml
sanchuyayun
·
2013-07-04 11:00
linux内核学习
笔记----进程状态
进程描述符中的state字段描述了进程当前所处的状态,它有一组标志组成,每个标志描述一种可能的进程状态,这些状态是互斥的,也就是说在同一时刻,只能设置一个状态 一、运行状态:TASK_RUNNING,进程要么在CPU上运行,要么准备执行二、可中断的等待状态:TASK_INTERRUPTIBLE,进程被挂起,直到收到某个消息,唤醒该进程三、不可中断的等待状态:TASK_UNINTERRUPTIBLE
xue815020462
·
2013-06-06 14:00
linux
kernel
内核
linux内核学习
经典书籍及网络资源推荐
待到山花烂漫时,还是那些经典在微笑。有关内核的书籍可以用汗牛充栋来形容,不过只有一些经典的神作经住了考验。首先是5本久经考验的神作(个人概括为“2+1+2”,第一个2是指2本全面讲解内核的书,中间的1指1本讲解驱动开发的书,后面的2则指2本有关内核具体子系统的书,你是否想到了某某广告里三个人突然站起单臂齐举高呼“1比1比1”的场景?)。 《Linux内核设计与实现》
eric41050808
·
2013-05-14 23:00
linux
资源
内核
经典
linux内核学习
namespaces
坑爹的命名空间。好难理解。错误之处,还请指出。----------------------------------------------------------------------------------------1、为什么要使用命名空间。A、不同用户之间的隔离。B、让不同用户感觉自己在独占主机。C、未完待补充。2、什么是命名空间。根据“命名空间”四个字,大致猜测,是根据不同的命名,将不同
wwdlk
·
2013-05-12 21:00
linux内核学习
进程类型
典型的UNIX进程包括:由二进制代码组成的应用程序、单线程(计算机沿单一路径通过代码,不会有其他路径同时运行)、分配给应用程序的一组资源(如内存、文件等)。新进程是使用fork和exec系统调用产生的。1、fork生成当前进程的一个相同副本,该副本称之为子进程。原进程的所有资源都以适当的方式复制到子进程,因此该系统调用之后,原来的进程就有了两个独立的实例。这两个实例的联系包括:同一组打开文件、同样
wwdlk
·
2013-05-12 20:00
linux内核学习
进程表示
稍微学习一下linux进程有关的东东,做一下记录----------------------------------------------------------------------------首先看一下进程表示的核心,task_struct结构体,进程管理的所有算法都是围绕此结构体展开的。structtask_struct{ volatilelongstate;/*-1unrunnable
wwdlk
·
2013-05-12 19:00
linux
kernel
linux内核学习
1 start_kernel()
默认为3.9.1版本内核为什么要从这个函数开始?个人习惯吧,我比较懒,就从内核初始化入口开始。-----------------------------------------------------------------------------------------------------先看一张图,start_kernel函数调用关系图:为啥要看这个?我想知道谁掉用了它!挨个看一下比较好~
wwdlk
·
2013-05-11 18:00
Linux内核学习
四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。LinuxKernel四库全书1.Linux内核设计与实现Edition2 2.Linux设备驱动Edition3 3.Linux内核源代码情景分析
bugouyonggan
·
2013-03-26 10:00
linux
linux内核
linux内核学习
笔记之——list_for_each_entry
http://bbs.chinaunix.net/thread-1981115-1-1.htmlhttp://blog.chinaunix.net/uid-14114479-id-2932024.html
yxnyxnyxnyxnyxn
·
2013-03-11 11:00
Linux内核同步
Linux内核学习
从零单排(四)1.所谓临界区(临界段)就是访问和操作共享数据的代码段。避免并发和防止竞争条件成为同步。
qinggebuyao
·
2013-03-04 14:00
linux内核之中断
Linux内核学习
从零单排之三:中断1.不同的设备对应的中断不同,每个中断都有一个唯一的数字标识,这些中断值通常称为中断请求线(IRQ)。
qinggebuyao
·
2013-02-25 20:00
Linux内核学习
从零单排(二)
系统调用:在Linux中,每个系统调用都有一个系统调用号,独一无二,且一旦分配就不能改变,即使一个系统调用被删除,该系统调用号也不允许收回。sys_ni_syscall()专门填补无效的系统调用。内核记录了系统调用表中的所有已注册过的系统调用的列表,存储在sys_call_table中。系统调用执行速度快:其一,上下文切换时间短,其二,系统调用处理程序和系统调用本身简洁。应用程序需要执行系统调用时
qinggebuyao
·
2013-02-23 16:00
linux内核学习
从零单排(一)
guanxi@Ubuntu11:~$uname-aLinuxUbuntu11.10-b4093.0.0-12-generic#20-UbuntuSMPFriOct714:50:42UTC2011i686i686i386GNU/Linux本人所用linux系统版本号。从http://www.kernel.org/网站上下载自己对应的内核版本源码,解压缩,不重新编译。内核源码输由很多目录组成,arch
qinggebuyao
·
2013-02-22 12:00
Linux串口编程(中断方式和select方式)
frankzfz博客访问:307054博文数量:207博客积分:5347博客等级:大校用户组:普通用户注册时间:2009-09-3010:13文章分类全部博文(207)转载好文(5)
Linux内核学习
(
linuxheik
·
2013-02-19 11:00
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他