
内核
linuxheik
这个作者很懒,什么都没留下…
展开
-
Linux中的中断机制 2
Linux中的中断机制 2009-06-11 23:03:44分类: LINUXLinux中的中断机制X86里面中断发生时CPU控制单元工作流程(也就是硬件需要做的事情),在CPU执行下一条instruction之前,首先判断有没有发生异常和中断。如果发生了,那么进行一下步骤:1. 查看所发生的中断(异常)向量i。(0-255)2. 根据转载 2013-04-24 17:34:04 · 661 阅读 · 0 评论 -
new 对象加括号和不加括号的区别
还有pod PLAIN OLD DATA plain old data 的缩写(POD)一个普通的古老的数据结构(POD)是一种数据结构。它仅作为被动的收藏的字段值,不使用封包或者otherobject-oriented特征。(A plain old data structure(POD) is a data structurethat is repres转载 2016-12-06 16:38:30 · 1601 阅读 · 0 评论 -
Linux环境下通过c代码获取本机IP
之前用gethostname和gethostbyname获取本机IP地址运行没有问题,今天把程序部署到另一台机器上就出问题了。在网上找了些例子一样用不了。最后找了个能用的,创建一个SOCKET然后获取套接字参数。代码如下:#include #include #include #include #include #include #include #include转载 2014-04-16 11:38:15 · 781 阅读 · 0 评论 -
dup and dup2的剖析
dup and dup2的剖析dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是2。如果两次open同一文件得到两个文件描述符,则每个描述符对应一个不同的file结构体,可以有不同的File St转载 2014-03-05 20:01:04 · 614 阅读 · 0 评论 -
Linux系统对IO端口和IO内存的管理
http://blog.youkuaiyun.com/ce123_zhouwei/article/details/7204458Linux系统对IO端口和IO内存的管理一、I/O端口 端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存转载 2014-02-23 10:26:48 · 801 阅读 · 0 评论 -
Linux From Scratch
http://lfs.linuxsir.org/doc/lfs5.0/index.htmlLinux From Scratch版本 5.0Gerard Beekmans译者: 莫佳宁 堵光磊 郝歆葵版权 © 1999-2003 Gerard BeekmansLFS 安装指导书将讲解,如何通过编译从网上下载的源码包,来建立一个LINUX系统。转载 2014-01-13 11:10:50 · 642 阅读 · 0 评论 -
解析 Linux 内核可装载模块的版本检查机制
解析 Linux 内核可装载模块的版本检查机制王 华东, 系统工程师, 自由职业者简介: 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性。内核可装载模块就是可在内核运行时加载到内核的一组代码。通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上。这是因为内核在引转载 2013-11-25 17:05:26 · 811 阅读 · 0 评论 -
Linux的IO端口和IO内存
Linux的IO端口和IO内存分类: linux编程2011-01-14 13:22 866人阅读 评论(1) 收藏 举报iolinuxlinux内核struct平台x86CPU对外设端口物理地址的编址方式有两种:一种是IO映射方式,另一种是内存映射方式。 Linux将基于IO映射方式的和内存映射方式的IO端口统称为IO区域(IO region)。IO reg转载 2013-07-03 10:49:16 · 748 阅读 · 0 评论 -
Linux 中断学习之小试牛刀篇
Linux中断内核编程前言在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入来了解内核中断的执行过程一.内核中断程序:我们还是来看一看成程序:在看程序之前,要熟悉如何进行模块编程,和了解module_pararm()的用法。如果不熟悉的话请大家看,module_param()的学习和Linux内核模块编程,在此不作解释。转载 2013-07-18 15:20:43 · 700 阅读 · 0 评论 -
copy_to_user和copy_from_user两个函数的分析
copy_to_user和copy_from_user两个函数的分析(转)在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数。copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数。由于内核空间与用户空间的内存不能直接互访,因此借助函数copy_to_user()完成用户空间到内核空间的复制,函数c转载 2013-04-26 16:50:15 · 581 阅读 · 0 评论 -
Linux用户空间与内核空间
Linux用户空间与内核空间2012-08-30 15:39 1969人阅读 评论(1) 收藏 举报linuxlinux内核structusersystemallocationLinux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,转载 2013-04-27 12:55:44 · 653 阅读 · 0 评论 -
Linux用户空间和内核空间的内存互访
Linux用户空间和内核空间的内存互访标签: 虚拟内存 安全性 Linux 用户 2012-11-13 15:55Linux 内存 在 Linux 中,用户内存和内核内存是独立的,在各自的地址空间实现。地址空间是虚拟的,就是说地址是从物理内存中抽象出来的(通过一个简短描述的过程)。由于地址空 间是虚拟的,所以可以存在很多。事实上,内核本身驻留在一个地址空间中转载 2013-04-26 16:47:48 · 1140 阅读 · 0 评论 -
put_user
Linux设备驱动开发笔记(1) [复制链接]00skyily白手起家帖子108主题105精华0可用积分6专家积分0在线时间1 小时注册时间2007-09-26最后登录2010-05-31串门好友博客消息转载 2013-04-26 16:38:10 · 3446 阅读 · 0 评论 -
中断调用过程
2)具体的切换操作从触发方式上看,可以认为存在前述3种不同的类型,但是从最终实际完成由用户态到内核态的切换操作上来说,涉及的关键步骤是完全一致的,没有任何区别,都相当于执行了一个中断响应的过程,因为系统调用实际上最终是中断机制实现的,而异常和中断的处理机制基本上也是一致的,关于它们的具体区别这里不再赘述。关于中断处理机制的细节和步骤这里也不做过多分析,涉及到由用户态切换到内核态的步骤主要包括:转载 2013-04-25 14:56:35 · 1381 阅读 · 0 评论 -
浅谈 C++ 中的 new/delete 和 new[]/delete[]
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…如果你对这些问题都有疑问的话,不妨看看我这篇文...转载 2018-05-25 11:06:03 · 296 阅读 · 1 评论