logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

[经典]Linux内核中get_free_page、kmalloc和vmalloc函数的区别(示例Module)

  对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。  进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。如下图所示:  内核空间中

#linux#x86
交叉编译D-Bus之备忘录

安装包命令:./configure CC=arm-unknown-linux-gnu-gcc --prefix=/home/qudc/nfs --host=arm-linux --cache-file=arm-linux.cache指定交叉编译工具                         指定安装路径            指定目标平台makemake install 1. 把"e

#debian
LINUX内核编译步骤详细介绍

LINUX内核编译步骤详细介绍 到www.kernel.org 下载 Linux-2.6.18.2.tar.bz2 tar –jxvf  Linux-2.6.18.2.tar.bz2 -C /usr/src/kernel  make mrproper 把原来编译产生的垃圾删除 配置内核可以根据需要与爱好使用下面命令中的一个: #make config (基于文本的最为传统的配置

Linux内存线性地址空间布局解析

 Linux内存线性地址空间大小为4GB,分为2个部分:用户空间部分(通常是3G)和内核空间部分(通常是1G)。在此我们主要关注内核地址空间部分。内核通过内核页全局目录来管理所有的物理内存,由于线性地址前3G空间为用户使用,内核页全局目录前768项(刚好3G)除0、1两项外全部为0,后256项(1G)用来管理所有的物理内存。内核页全局目录在编译时静态地定义为swapper_pg

#linux#x86
Linux 下如何强制取消 NFS 目录

上週因為有一台很舊的 Linux 伺服器需重新安裝(簡稱 A主機),因為所有資料都已經備份,且也已經確認無任何服務在這台主機了,所以也很放心的重灌了。不過,重灌了之後才發現原來還有另一台 Linux伺服器(簡稱 B 主機)還掛載(mount)著 A 主機的某個 NFS 目錄,但因為 A 主機已經移除了,進而導致 B 主機只要讀取到 NFSmount 的目錄就會整個被 hang 住,大概

#linux
Linux下汇编程序及系统调用的深入分析

一)汇编源程序分析:编写一个AT&T的汇编语言程序,使程序在运行时睡眠10秒钟源代码如下:#include "sys/syscall.h".datasleeptime:.long   10,0.text.global _start        .type _start, @function_start:        movl    $SYS_nanosleep, %ea

#linux#debian
Linux Crond执行计划任务

Linux Crond执行计划任务 1、循环执行的计划任务linux下面有atd和crond两种计划任务,其中,atd服务使用的at命令只能执行一次,而crond服务使用的crontab定义的命令,是循环作用的,所以crond才符合我们的要求。crontab支持两种状态:一、直接编写计划任务;二、使用目录的方式,放在目录里面的都会定时执行。2、可以使用的用户默认情况下,系统

#linux
lm-sensorss 设置详解

  温度检测1.使用的软件包lm-sensors ,编译并安装     make user     make user_install2.使用sensors-detect命令检测主板上的传感器类型(IPX7A ION主板需要Linux2.6.32 Kernel)根据检测到的传感器,在

#linux
iscsitarget 在Linux2.6.32内核上编译 若干编译错误与解决方法(备忘)

#makemake -C usrmake[1]: Entering directory `/work/iscsitarget-0.4.16/usrcc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include   -c -o ietd.o ietd.ccc -O2 -fno-inline -Wall -Wstrict-pr

#linux
对比 GNU Assembler(GAS)和 Netwide Assembler(NASM)

    本文解释两种最流行的 Linux  汇编器 —— GNU Assembler(GAS)和 Netwide Assembler(NASM) —— 之间一些比较重要的语法差异和语义差异,包括基本语法、变量和内存访问、宏处理、函数和外部例程、堆栈处理以及重复执行代码块的技术方面的差异。与其他语言不同,汇编语言要求开发人员了解编程所用机器的处理器体系结构。汇编程序不可移植,维护和理解常

#linux
    共 15 条
  • 1
  • 2
  • 请选择