Linux汇编语言开发指南(zt)
感觉不错,转过来大家分享一下一、简介作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿Linux内核来讲,虽然绝大部分代码是用C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在Linux的启动部分。由于
Linux内核解读入门
针对好多Linux爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制;一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是
Linux内核中的红黑树
红黑树是平衡二叉树的一种,它有很好的性质,树中的结点都是有序的,而且因为它本身就是平衡的,所以查找也不会出现非常恶劣的情况,基于二叉树的操作的时间复杂度是O(log(N))。Linux内核在管理vm_area_struct时就是采用了红黑树来维护内存块的。先到include/linux/rbtree
2.6 内核中宏定义 #define DEFINE(sym, val)的问题 ?
linux2.6.14.3内核中有如下宏定义,#defineDEFINE(sym,val)\asmvolatile("\n->"#sym"%0"#val::"i"(val))没弄清它的用法,于是用如下函数做了一下试验,所得结果更是让人不解。宏定义中从"\n->"中的"-"开始的后续部分被
怎样为Linux内核打补丁
怎样为Linux内核打补丁--------------------作者:JesperJuhl,2005年8月最后更新日期:2006-01-05译者:Jeffshia,2006年8月email:tshxiayuAT126DOTcom在Linux内核邮件列表中一个经常被问到的问题就是怎样为Linux内核
Git 中文教程
Git--Linux的内核开发版本控制工具。即使是用来管理我们自己的项目也是有个优秀的工具,主要的使用,基本都翻译整理完了。希望你有兴趣参与都git的文档翻译整理工作中来。文章来源CU社区:Git中文教程
Linux内核配置文档!!!(make menuconfig)
[这个贴子最后由HopeCao在2003/01/0812:40pm编辑]一、引言:本文档的内容大部份内容都是从网上收集而来,然后配合一些新的截图(内核版本:V2.4.19)。在每一配置项后会有一个选择指南的部份,用来指导大家怎么样根据自己的情况来做相应的选择;还有在每一个大项和文档的最后会有一个经验
调试KERNEL时,找出当前进程信息的方法
我们知道,一个常用的内核数据结构叫做current.它指向当前的进程,包括很多有用的信息,比如PID,进程名等。如果是自己写内核代码,那么可以直接引用current。但是如果是调试的话,直接在GDB里pcurrent是不行的。因为current是一个宏。那么这时如何找出current呢?在Linux
定位Oops的具体代码行
(来自LinusTorvalds的讨论:[url]https://groups.google.com/group/linux.kernel/browse_thread/thread/b70bffe9015a8c41/ed9c0a0cfcd31111[/url]又,[url]http://kernel
Solaris、Linux和FreeBSD的内核比较
1。我个人认为作者MAX对Linux的了解不像他对Solaris那样深入,我不知道也没法知道他的下列关于Linux的内容来自自己的代码阅读分析还是只是来自第三方的文档资料而未经自己实地验证;2。我已经尽量符合原意地翻译了,当然中间实在忍不住的地方也插两句自己的话;3。无论是只阅读这一篇文章,还是看其
【译】linux-2.6.31内核文档系列
翻译翻译了一下kdump.txt,总算弄明白了两个kernel的关系发出来,希望对大家有用kdump主页:http://lse.sourceforge.net/kdump/里面有让Debian支持mkinitrd的描述文章来源CU社区:【译】linux-2.6.31内核文档系列
《Segmentation Fault in Linux》
本文简单介绍了Segmentationfault发生的原因,结合实际例子描述了内核向用户态程序发送SIGSEGV信号的流程。文中以实例回答了常见的一些SIGSEGV问题,例如“为什么函数返回了栈还可以访问?”、“为什么free()后的内存仍然可以使用”、“为什么我遇到的是SIGSEGV而不是SIGI
Mysql集群如何在Kubernetes里部署及管理
背景借助Deployments和ReplicationControllers,用户可以在Kubernetes中方便地部署高可用性和可伸缩的分布式无状态服务。这些类型的应用程序不在本地存储数据。通过使用简单的负载平衡策略,它们可以实现请求传递。随着k8的普及和云原生架构的兴起,越来越多的人希望通过使用
集中mysql高可用方案关键功能对比
1.背景MySQL的cluster方案有很多官方和第三方的选择,选择多就是一种烦恼,因此,我们考虑MySQL数据库满足下三点需求,考察市面上可行的解决方案:高可用性:主服务器故障后可自动切换到后备服务器可伸缩性:可方便通过脚本增加DB服务器负载均衡:支持手动把某公司的数据请求切换到另外的服务器,可配
MySQL Fabric-分片-简单示例
在本文中,我们讨论了一个用例,该用例从单个服务器开始(单个分片设置),并随着应用程序及其数据的增长而逐步扩展。我们还将在这里描述使用MySQLFabric创建分片的不同方面及其各自的含义。注意:与前面的示例不同,本示例不适用于已经存在的数据。注意:该示例还介绍了如何修改python应用程序代码以与F
谈谈MySQL水平扩展--分库分表
问题背景工作中遇到数据库数据增长过快,单表一年之后预计到达35M行数据,可以预见MySQL性能将下降厉害,并且随着业务的规模化,担心单表将很难抗住并发压力,出现故障后恢复时间变长对业务影响也会变大,因此需要考虑数据水平扩展,目前项目采用Golang开发,一个Google开发的以简洁的语法,内建高并发
mysql5.7的xa事务的流程和特性
xa事务基于mysql5.7的xa事务的特性,其流程和特性由以下图所示:
【原创】《Linker Script in Linux》
内容提要:本文简单的介绍了理解内核链接脚本需要的链接器知识和链接脚本语法,从vmlinux_32.lds.S文件分析了内核image的构成,并着重讲解了使用自定义section配合链接脚本动态创建表的方法。这里或许有一些你经常看到但不了解原理的东西,例如“内核导出符号表是如何创建的?”、“__ini
[嵌入式] 基于S3C2410的Linux全线移植文档
基于S3C2410的Linux全线移植文档超高兴,我们团队自己的文档。已上传到附件中(editbyplatinum)欢迎转载此pdf文档,如有不明之处可以向文档当中各部分负责团队成员发邮件。目录:第一部分前言第二部分系统启动bootloader的编写(ADS)第三部分GNU交叉工具链第四部分u-bo
VMWare Workstation 6.0调试Linux Kernel,竟如此方便
刚刚在LKML上看到的。可以做到C源代码级别的内核单步调试,真是简单的无以复加了。如果不存在LICENSE方面的考虑,我觉得UML(UserModeLinux)已经可以抛弃了。一、环境:1,一台Linux机器,用于运行gdb和VMWareWorkstation6.0,我们称之为HOST机器。2,VM