【Atitit. 查找linux 项目源码位置】教程文章相关的互联网学习教程文章

linux内核源码“双向链表list_head”续

上篇博文《linux内核源码“双向链表list_head”》中以一个实例介绍了list_head双向链表的用法,只有实例的代码,并没有list_head链表的代码,考虑到各位好学博友的强烈愿望,今天把list_head的代码即list.h头文件粘贴到此,供各位好学博友使用。一、list.h头文件源码[root@bdkyr cstudy]# cat list.h #list.h头文件 #ifndef _LINUX_LIST_H #define _LINUX_LIST_H #include <stdlib.h> #undef offsetof #ifdef __compil...

linux内核源码结构【图】

一、概述  Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立。 二、源码结构表目录名描述arch体系结构相关的代码,对于每个架构的CPU,arch目录下有一个对应的子目录,比如arch/arm、arch/i386block块设备的通用函数crypto常用的加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法drivers所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设...

从linux源码看socket的阻塞和非阻塞【代码】【图】

从linux源码看socket的阻塞和非阻塞笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(non_block)的区别。 本文源码均来自采用Linux-2.6.24内核版本。一个TCP非阻塞client端简单的例子如果我们要产生一个非阻塞的socket,在C语言中如下代码所示:// 创建socket int sock_fd = socket(AF_IN...

Linux下通过源码编译安装程序【图】

ASK: Linux下通过源码编译安装程序(configure/make/make install的作用)configureLinux 平台有各种不同的配置,安装时需要通过 configure 来确定,如:编译器用的是 cc 还是 gcc、不同库文件所在目录等。执行 configure 后会生成 Makefile,Makefile 规定了用什么编译器、编译参数等信息。make根据 Makefile 中规定的内容进行编译,生成的可执行文件放在当前目录或某个子目录。make install将 make 生成的文件安装到系统目录中,如...

Linux源码安装MySQL【代码】

MySQL的安装方式有很多,最简单最适用的就是二进制方法安装。1.创建数据目录: mkdir /data/{server,soft} -p2.解压软件并制定解压路径: tar -xvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /data/server3.名字过长,创建软连接: ln -s mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz mysql-5.6.354.创建专用用户: useradd -s /sbin/nologin -M mysql5.初始化MySQL: /data/server/mysql-5.6.35/scripts/mysql_install_db --b...

Linux内核 -- 内核源码结构【图】

Linux 内核源代码的目录结构Linux 内核源代码包含如下目● arch:包含和硬件体系结构相关的代码,每个架构的CPU都对应一个目录,如i386、arm、    arm64、powerpc、mips 等。Linux 内核目前已经支持30 种左右的体系结构。在arch    目录下,存放的是各个平台以及各个平台的芯片对Linux 内核进程调度、内存管理、    中断等的支持,以及每个具体的SoC 和电路板的板级支持代码。● block:块设备的通用函数,驱动程序I/O...

linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转)

linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86可以有4种模式RING0~RING3 RING0特权模式给LINUX内核空间RING3给用户空间linux内核是如何组成的?答:linux内核由SCI(System Call Interface)系统调用接口、PM(Process Management)进程管理、MM(Memory Management)内存管理、Arch、...

Linux/Unix分配进程ID的方法以及源码实现

在Linux/Unix系统中,每个进程都有一个非负整型表示的唯一进程ID。虽然是唯一的,但是进程的ID可以重用。当一个进程终止后,其进程ID就可以再次使用了。大多数Linux/Unix系统采用延迟重用的算法,使得赋予新建进程ID不同于最近终止进程所使用的ID,这主要是为了防止将新进程误认为是使用同一ID的某个已终止的先前进程。本文讨论了Linux/Unix分配进程ID的方法以及源码实现。分配进程ID的方法 在大多数Linux/Unix系统中,生成一...

linux环境安装svn并进行多个源码库区分管理【图】

关于svn的文档有很多大部分已Windows为例子,因公司没有Windows服务器经过一天的曲折终于初步安装了解了svn。下面一些经验希望能帮助新手本文采用的yum安装(简单快速没必要源码)1、yum install subversion2、监测是否安装成功svnserve --version3、创建你想要建立的代码库 代码:svnadmin create +路径4、在相应的路径下会生成如下几个文件5、这就生成了一个代码库,关于用户密码和权限设置全部在conf下,首先修改配置文件svnse...

2.15.2.linux内核源码目录结构2

本节接上节讲解内核源码根目录下的各个文件夹,并且把一些重要文件夹的作用简单讲解。(1)arch。arch是architecture的缩写,意思是架构。arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文件都在arch/x86目录下。 (2)block。英文是块的意思,在linux中block表示块设备(以块(多个字节组成的整体,类似于扇区)为单位来整体访问),譬如说SD卡、iNand、Nand、硬盘等都是块设...

LinuxMint下Apache Http源码安装过程【代码】【图】

1. 源码包下载Apache Http安装要求必须安装APR、APR-Util、PCRE等包。Apache Http包下载地址:http://httpd.apache.org/download.cgiAPR和APR-Util包下载地址:http://apr.apache.org/download.cgiPCRE包下载地址:http://sourceforge.net/projects/pcre/files/pcre/2. 安装APR和APR-Util先安装APR,$ tar -zxf apr-1.5.2.tar.gz $ cd apr-1.5.2 $ sudomkdir -p /usr/local/apr $ ./configure --prefix=/usr/local/apr $ make $ s...

从Linux源码看Socket(TCP)的bind【代码】【图】

从Linux源码看Socket(TCP)的bind前言笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行bind的时候到底做了哪些事情(基于Linux 3.10内核)。一个最简单的Server端例子众所周知,一个Server端Socket的建立,需要socket、bind、listen、accept四个步骤。 代码如下:void start_server(){// server fdint sockfd_server;// accept fd int s...

Linux 源码的安装 3个步骤

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。如果配置--pre...

Linux下源码安装编译mysql数据库【图】

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。下面是mysql数据库源码安装的具体步骤:环境:redhat6.5所需要的包:mysql-boost-5.7.11.tar.gz cmake-2.8.12.2-4.el6.x86_64.rpm #要求cmake版本2.8及其以上 ##########mysql############下载安装包并进行解压缩:mysql-boost-5.7.11.tar.gz cmake-2.8.12.2-4.el6.x8...

linux小白 mysql5.0源码安装配置

安装mysql-5.0.45.tar.gz(该软件包下载地址:http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261-0.html)# groupadd mysql #添加mysql组# useradd -g mysql mysql #添加mysql用户,且加入mysql组--------------------编译过程----------------------------------# tar zxvf mysql-5.0.45.tar.gz #解压后在当前目录下ls下,会出现mysql-5.0.45目录# cd mysql-5.0.45 ...