目录 . 系统调用简介 . 系统调用跟踪调试 . 系统调用内核源码分析 1. 系统调用简介 关于系统调用的基本原理,请参阅另一篇文章,本文的主要目标是从内核源代码的角度来学习一下系统调用在底层的内核中是如何实现的 Relevant Link: http://www.cnblogs.com/LittleHann/p/3850653.html http://www.kerneltravel.net/journal/iv/syscall.htm http://zjuedward.blog.51cto.…
目录 . 系统调用简介 . Linux系统调用实现方式的演进 . 通过INT 0x80中断方式进入系统调用 . 通过sysenter指令方式直接进入系统调用 . sysenter/sysexit编程示例 . Linux SCI 1. 系统调用简介 由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(Application Programming Interface,API).是应用程序同系统之间的接口 \linux-3.15.5\arch\x86\kernel\entry_32…
http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环…
Linux平台延时之sleep.usleep.nanosleep.select比较 标签: 嵌入式thread线程cpu多线程 2015-05-05 15:28 369人阅读 评论(0) 收藏 举报  分类: C基础(39)  Linux平台延时之sleep.usleep.nanosleep.select比较 1.sleep的精度是秒 2.usleep的精度是微妙,不精确 3.select的精度是微妙,精确 struct timevaldelay; delay.tv_sec =0; delay.…
目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor> <I/O模型之四:Java 浅析I/O模型> 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. 本文讨论的背景是Linux环境下的network…
转自:http://www.cnblogs.com/hnrainll/archive/2011/06/10/2077469.html 转自:http://blog.chinaunix.net/space.php?uid=20543672&do=blog&cuid=460882 热插拔有 2 个不同角度来看待热插拔:   从内核角度看,热插拔是在硬件.内核和内核驱动之间的交互.   从用户角度看,热插拔是内核和用户空间之间,通过调用用户空间程序(如hotplug.udev 和 mdev)的交…
目录 一.API 对比 1.1 select API 1.2 poll API 1.3 epoll API 二.总结 2.1 支持一个进程打开的 socket 描述符(FD)不受限制(仅受限于操作系统的最大文件句柄数) 2.2 I/O 效率不会随着 FD 数目的増加而线性下降 2.3 使用 mmap 加速内核与用户空间的消息传递 2.4 epoll API 更加简单 附表1: select/poll/epoll 区别 Linux NIO 系列(04-4) select.poll.epoll 对比…
Linux设备驱动程序学习(13) -Linux设备模型(总线.设备.驱动程序和类)[转] 文章的例子和实验使用<LDD3>所配的lddbus模块(稍作修改). 提示:在学习这部分内容是一定要分析所有介绍的源代码,知道他们与上一部分内容(kobject.kset.attribute等等)的关系,最好要分析一个实际的“flatform device”设备,不然会只学到表象,到后面会不知所云的. 总线 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的…
获得Unix/Linux系统中的IP.MAC地址等信息 中高级  |  2010-07-13 16:03  |  分类:①C语言. Unix/Linux. 网络编程 ②手册  |  4,471 次阅读 作者:diaoyf  |  文章来源:http://programmerdigest.cn 实际环境和特殊需求往往会将简单问题复杂化,比如计算机IP地址,对于一个连接中socket,可以直接获得本端和对端的IP.端口信息.但在一些特殊场合我们可能需要更多的信息,比如系统中有几块网卡,他们的Mac地…
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),虽然功能未必很强大,但因它的免费开源而广受欢迎. 这次,接着上一篇<CentOs minimal安装和开发环境部署>,讲下Linux环境mysql的安装.初始化配置.以及参数优化,中间会穿插在实际操作过程中遇到的新知识扩展.有些是承接上面的知识,如果不太清楚,可以到上一篇去看下. 一.安装准备 下载得到安装包很简单. 1.rpm安装:A.在linux下使用wget获取 B.在虚拟机所在的宿主机windows下,在网络上下载Rpm安…