【linux CentOS 7 mysql pt-query-digest 分析慢sql + profiling 分析具体SQL】教程文章相关的互联网学习教程文章

Linux内核原理与分析-第二周作业

写之前回看了一遍秒速五厘米:如果

20189220 余超《Linux内核原理与分析》第二周作业【图】

计算机如何工作的 一.存储程序计算机工作模型 冯诺依曼体系结构:核心思想为存储程序计算机。两个层面: (1)硬件的角度(计算机主板):一个CPU,一块内存,之间有总线连接。CPU内部有一个IP计算器,IP指向内存中的指令,并依次加一执行; (2)另一个层面,程序员的角度:存储程序计算机工作模型(如下图)解释:CPU抽象为for循环,总是执行下一条指令,内存保存指令和数据,CPU来解释和执行这些指令。 API:应用程序编程接口(...

Linux网络编程案例分析【代码】

本代码来自于博主:辉夜星辰? 本篇主要对运行代码中出现的问题进行分析,代码本身的内容后续展开讨论。服务器端代码1 /*2 Linux网络编程之TCP编程,服务器端读数据3 socket函数之后,返回值serfd,作为后面所有网络编程函数的第一个参数4 */5 #include <stdio.h>6 #include <stdlib.h>7 #include <string.h>8 #include <strings.h>9 #include <unistd.h>10 #include <sys/types.h>11 #include <sys/socket.h>12 #include <arpa/ine...

《Linux内核原理与分析》第二周作业【代码】【图】

反汇编一个简单的C程序 1、实验要求 使用: gcc –S –o test.s test.c -m32 命令编译成汇编代码,对汇编代码进行分析总结。其中test.c的具体内容如下: int g(int x) {return x + 3; }int f(int x) {return g(x); }int main(void) {return f(8) + 1; } 2、实验过程使用vim对test.c进行编辑,将上述代码键入 使用gcc对test.c编译,产生test.s文件gcc -S -o test.s test.c -m32 如下图所示:使用vim查看test.s文件 查看test.s文件,...

linux 系统 UDP 丢包问题分析思路【代码】【图】

在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。首先网络报文通过物理网线发送到网卡网络驱动程序会把网络中的报文读出来放到 ring buffer 中,这个过程使用 DMA(Direct Memory Access),不需要 CPU 参与内核从 ring buffer 中读取报文进行处理,执行 IP 和 TCP/UDP 层的逻辑,最后把报文放到应用程序的 socket buffer 中应用程序从 socket buffer 中读取报文进行处理在接收 UDP 报文的过程中,图中任何一个过程...

分析Linux上程序执行时,是怎么跳到main函数的

main()函数,想必大家都不陌生了,从刚开始写程序的时候,大家便开始写main(),我们都知道main是程序的入口。那main作为一个函数,又是谁调用的它,它是怎么被调用的,返回给谁,返回的又是什么?这次我们来探讨一下这个问题。 1. main()函数的形式先来说说main函数的定义,较早开始写C程序的肯定都用过这样的定义void main(){},其实翻翻C/C++标准,从来没有定义过void main()。在C标准中main的定义只有两种: int main(void...

Linux内核原理与分析——第一周作业【图】

Linux内核原理与分析 - 第一周作业实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂贵,于是他基于MINIX开发了初版的Linux。在之后越来越多的人加入其中,开发Linux。 Linux与Windows的不同 Linux:免费 支持开源自由软件 安全性较强 主要使用命令行 系统可定制 多用户和用户和用户组的规划Linux学习步骤Linux初级Linux系统安装 Linux图形界面使用 Linux常用命令...

20189220 余超《Linux内核原理与分析》第一周作业【代码】【图】

实验一 Linux系统简介 通过实验一主要是学习到了Linux 的历史简介,linux与windows之间的区别,主要是免费和收费,软件和支持,安全性,使用习惯,可制定性,应用范畴等。linux具有稳定的系统,安全性和漏洞的快速修补,多用户,用户和用户组的规划,相对较少的系统资源占用,可定制裁剪,移植到嵌入式平台(如安卓设备),可选择的多种图形用户界面(如 GNOME,KDE)等优点。因为是第一次接触到Luinx的操作系统,直观感受就是luinx上许多...

46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)【代码】【图】

内核版本 : Linux 3.10.14 rc红外接收类型: GPIO 类型的NEC红外编码本章内容1) rc体系结构分析 2) 分析红外platform_driver平台驱动框架 3) 分析内核自带的NEC红外解码过程 4) 修改内核自带的NEC红外解码BUG,实现按键重复按下下章内容1) 自己创建一个红外platform_device平台设备 2) 试验 在分析之前,先来复习下NEC红外编码的发送波形(在后面分析NEC解码会用到) 基本数据格式如下: 如果一直按住一个按钮时,会每隔100...

linux中断处理原理分析

转自http://blog.chinaunix.net/uid-20528014-id-3068412.html Tasklet作为一种新机制,显然可以承担更多的优点。正好这时候SMP越来越火了,因此又在tasklet中加入了SMP机制,保证同种中断只能在一个cpu上执行。在软中断时代,显然没有这种考虑。因此同一种中断可以在两个cpu上同时执行,很可能造成冲突。 Linux中断下半部处理有三种方式:软中断、tasklet、工作队列。 曾经有人问我为什么要分这几种,该怎么用。当时用书上的东西...

Linux字符设备驱动注册三种方法以及内核分析【图】

Linux驱动是用户访问底层硬件的桥梁,驱动有可以简单分成三类:字符设备、块设备、网络设备。其中最多的是字符设备,其中字符设备的注册方法主要有三种:杂项设备注册、早期字符设备注册、标准字符设备注册。以及详细介绍各类方法注册。 开发环境: PC:WMworkstation 12 运行Ubuntu12 32位虚拟机 开发板:友善之臂Tiny4412 (EXYNOS4412 Cortex-A9) Linux内核版本:Linux 3.5 PC内核阅读器:SourceInsight 一、杂项设备(mis...

Linux系统内存管理之伙伴系统分析【图】

1.伙伴系统概念伙伴系统是一种经典的内存管理方法。Linux伙伴系统的引入为内核提供了一种用于分配一组连续的页而建立的一种高效的分配策略,并有效的解决了外碎片问题。2.伙伴系统的组织结构Linux中的内存管理的“页”大小为4KB。把所有的空闲页分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512和1024个连续页框的页块。最大可以申请1024个连续页,对应4MB大小的连续内存。每个页块的第一个页的物...

linux-shell数据重定向详细分析

在了解重定向之前,我们先来看看linux 的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值。linux启动后,会默认打开3个文件描述符,分别是:标准输入standard input 0,正确输出standard output 1,错误输出:...

分析Linux内核创建一个新进程的过程

分析Linux内核创建一个新进程的过程 前言说明 本篇为网易云课堂Linux内核分析课程的第六周作业,本次作业我们将具体来分析fork系统调用,来分析Linux内核创建新进程的过程 关键词:fork, 系统调用,进程 *运行环境:** Ubuntu 14.04 LTS x64 gcc 4.9.2 gdb 7.8 vim 7.4 with vundle 分析 分析方法说明 PCB包含了一个进程的重要运行信息,所以我们将围绕在创建一个新进程时,如何来建立一个新的PCB的这一个过程来进行分析,在Linux系...