一、得到一个可执行程序1. 预处理、编译、链接gcc hello.c -o hello.exegcc编译源代码生成最终可执行的二进制程序,GCC后台隐含执行了四个阶段步骤。预处理 => 编译 => 汇编 => 链接预处理:编译器将C源代码中包含的头文件编译进来和执行宏替换等工作。gcc -E hello.c -o hello.i编译:gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言。gcc –S hello.i &n...
自学linux指令分析-head 1·命令格式head 【参数】【文件】 2·命令参数-q 隐藏文件名-v 显示文件名-c<字节> 显示字节数-n<行数> 显示的行数 3、命令功能 头部 显示文件头部-n, 行数,默认显示头部10行 4、命令范列[root@ban ~]# head -5 ett.txt 12345原文:http://www.cnblogs.com/linuxfreedom/p/6697172.html
#ifndef _SCHED_H#define
_SCHED_H#define NR_TASKS 64 //
系统中同时最多任务(进程)数。#define HZ 100 // 定义系统时钟滴答频率(1
百赫兹,每个滴答10ms)#define FIRST_TASK task[0] // 任务0
比较特殊,所以特意给它单独定义一个符号。#define LAST_TASK task[NR_TASKS-1] //
任务数组中的最后一项任务。#include <linux/head.h> // head
头文件,定义了段描述符的简单结构,和几个选择...
Linux及安全 内核分析计算机是如何工作的 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
一、实验内容: 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的二、实验过程: 在Linux模拟器上,打开一个shell命令运行器,在Code文件夹中建立一个c文件,用vi命令运行,打开main.c文件,输入一个简单的c程序,用gcc -S -o main.s main.c -m32,将C程...
初接解LINUX的,同样都是for linux,但rpm、tar.gz、deb包还是有很大区别的,这种区别可使安装过程进行不下去。那我们应该下载什么格式的包呢?rpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装,但在Ubuntu中却无法识别; deb包-是Ubuntu的专利,在Ubuntu中双击deb包就可以进入自动安装进程; tar.gz包-在所有的Linux版本中都能使用,但安装过程也最麻烦。要先解压缩,然后在“终端”里用cd 命令进入刚才解压的目录,再找到安装链...
在编译LINUX内核时,首先要修改内核源码顶层目录下的makefile文件,将其中ARCH ?= $(SUBARCH)修改为ARCH ?= arm,将CROSS_COMPILE ?= 修改为CROSS_COMPILE ?= arm-linux-gcc,或者不修改,而是将ARCH和CROSS_COMPILE的值通过命令行传入。然后在linux内核源码目录下,执行make menuconfig,那之后发生了什么?make命令在未指定文件的情况下,默认寻找名为Makefile或GNUMakefile的文件(文件名不区分大小写,无后缀名)。make ...
一、影响Linux服务器性能的因素1、操作系统级 (CPU 内存 磁盘I/O性能 网络带宽)2、程序应用级二、系统性能评估标准 好 坏极差cpuuser% +sys% <70%user% +sys% =85%user% +sys% >=90%内存Swap In(si)=0 Swap Out(si)=0Per CPU with 10 page/sMore Swap In &Swap Out磁盘iowait <20%iowait =35% iowait >=50% %user:表示CPU处在用户模式下的时间百分比。%sys:表示CPU处在系统模式下的时间百分比。%iowait:表示CPU等待输入...
嵌入式 Linux开发Kernel移植(三)——Kernel工程Makefile分析 本文选择三星发布的基于SMDKV210开发板的linux 2.6.35.7版本kernel。一、Kernel Makefle体系简介1、Kernel Makefile体系组成 Kernel Makefile体系包含Kconfig和Kbuild两个系统。Kconfig系统 Kconfig 对应的是内核配置阶段,make xxconfig就是在使用Kconfig系统。Kconfig由三部分组成:scripts/kconfig/*Kconfig文件解析程序kconfig 各个内核源代码目录中的...
1、 掌握NOP、JNE、JE、JMP、CMP汇编指令的机器码NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)JNE:条件转移指令,如果不相等则跳转。(机器码:75)JE:条件转移指令,如果相等则跳转。(机器码:74)JMP:无条件转移指令。段内直接短转Jmp short(机器码:EB) 段内直接近转移Jmp near(机器码:E9) 段内间接转移 Jmp word(机器码:FF)...
摘要:原来的版本:http://blog.csdn.net/bigbug_zju/article/details/39892129 原版本中的问题主要在于调试过程中,蛮力的痕迹太重,没有很好地体现常用的调试准则;本文在原版本的基础上,融入参考文献中提及的调试原则,重新审视和操练该问题,希望尽量体现出调试中常用的思维法则。测试的平台:1. ubuntu 9; gcc 4.4.1; Gdb 7.0-ubuntu2. ubuntu系统安装在virtual box 3.2.8虚拟机上;问题重述:此处简要地描述下原来的问...
网络流量分析利器-可视化网络-netflow【1】-基础原理网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置网络流量分析利器-可视化网络-netflow【3】-netflow版本5和版本9区别网络流量分析利器-可视化网络-netflow【4】-接收器nfdump简介网络流量分析利器-可视化网络-netflow【5】-linux下数据采集器fprobe网络流量分析利器-可视化网络-netflow【6】-生产网流量监控架构设计fprobe参数 -efprobe参数 -n -k交...
链表简介:链表是一种常用的数据结构,它通过指针将一系列数据节点连接成一条数据链。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可以随机分配空间,可以高效地在链表中的任意位置实时插入或者删除数据。链表的开销主要是访问的顺序性和组织链的空间损失。内核链表的好主要体现为两点,1是可扩展性,2是封装。可扩展性肯定是必须的,内核一直都是在发展中的,所以代码都不能写成死代码,要方便修改和追加...
所谓的软件问题,绝大部分就是 IP 参数设定错误啊,路由不对啊,还有 DNS 的 IP 设定错误等等的, 这些问题都是属于软件设定啦!只要将设定改一改,利用一些侦测软件查一查,就知道问题出在哪里了!基本的问题有:网络卡的 IP/netmask 设定错误:例如:同一个 IP 在同一个网段中出现造成 IP 冲突、子网掩码设定错误、网络卡的驱动程序使用错误、网络卡的 IRQ、 I/O Address 的设定冲突等等;路由的问题 (route table):最常见的就是...
原创作品转载请注明出处参考:https://github.com/mengning/linuxkernel/软件学院编号:3721.用到的工具内核代码:点此前往Github查看 (感谢孟宁老师提供的myKernel精简内核。)Ubuntu虚拟机:运行环境,本次使用VM Ware安装的Ubuntu14。QEMU:本次使用的模拟器,运行内核代码。2.相关知识及过程??中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安...
Linux系统IO分析工具之iotstat常用参数介绍 作者:尹正杰版权声明:原创作品,谢绝转载!否则将追究法律责任。 1>.安装iostat[root@flume115 ~]# yum -y install sysstat2>.查看iostat的帮助信息[root@flume115 ~]# man iostat
3>.查看部分cpu状态信息[root@flume115 ~]# iostat -c
4>.某些使用block为单位的列强制使用Kilobytes为单...