- 博客(223)
- 资源 (8)
- 收藏
- 关注
转载 漫步线性代数二——线性方程的几何形状
漫步线性代数二——线性方程的几何形状2016年08月15日 23:10:10会敲键盘的猩猩阅读数:1818几何形状理解这个主题的方法是举例说明。我们以两个极其简单的方程开始,可以说大家在没有学习线性代数课程的情况下都能解决。不过我希望可以给高斯一个机会:2x−yx+y=1=5我们可以按行或按列看待这个方程组。我希望大家两方面都能明白。第一种方法主要看每个方程(行...
2019-03-23 23:01:22 856
转载 步线性代数十一—— 四个基本子空间
(转)步线性代数十一—— 四个基本子空间2016年08月27日 15:59:20会敲键盘的猩猩阅读数:3641标签:基本子空间 逆 更多个人分类:漫步线性代数 上篇文章处理了定义而不是,我们知道基是什么,但不知道如何找到他们。现在,从一个明确描述的子空间开始,我们开始计算显式的基。子空间能用两种方式描述。第一,我们可以给出一个生成空间的向量集合。(例如:列生成列空间)第...
2019-03-23 22:46:17 1407
转载 linux 调度总结
linux 调度总结 2014-01-13 10:35:45分类: LINUX调度:操作系统的调度程序的两项任务:1: 调度:实现调度策略,决定就绪的进程、线程竞争cpu的次序的裁决原则。说白了就是进程和线程何时应该放弃cpu和选择那个就绪进程、线程来执行。2: 分派:原来实现调度机制如何时分复用cpu,处理好上下文交换的细节、完成进程、线程
2017-07-28 17:15:13 574
转载 linux RamDisk 使用简介
1、Ram Disk介绍1.1 什么是Ram DiskRam Disk 就是将内存中的一块区域作为物理磁盘来使用的一种技术。对于用户来说,可以把RAM disk与通常的硬盘分区(如/dev/hda1)同等对待来使用。1.2 Ramdisk与硬盘分区的不同RAM disk不适合作为长期保存文件的介质,掉电后Ramdisk的内容会随内存内容的消失而消失。R
2013-01-23 10:21:17 819
转载 Linux逻辑卷管理(LVM)详细教程
测试环境:RHEL5.3;硬盘8G,1000M一个分区分成6个一、创建逻辑卷的步骤:1)通过pvcreate命令将linux分区处理成物理卷(PV);2)通过vgcreate命令将创建好的物理卷处理成卷组(Vg);3)通过lvcreate命令将卷组分成若干个逻辑卷(Lv);之后我们可以对逻辑卷进行格式化,挂载,删除等操作,我们可以动态的调整逻辑卷的大小,并且该操作不会影响我
2013-01-14 10:33:30 861
转载 Linux 进程间通信 - 共享内存shmget方式(转)
共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同
2013-01-06 11:07:50 865
转载 参数处理
Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt() 是一个专门设计来减轻命令行处理负担的库函数。1、命令行参数命令行程序设计的首要任务是解析命令行参数,GUI派的程序员很少关心这
2013-01-06 10:49:03 636
转载 How Linux iostat computes its results
with one commentiostat is one of the most important tools for measuring disk performance, which of course is very relevant for database administrators, whether your chosen database is Postgres,
2012-12-28 10:46:14 609
转载 Explicit block device plugging
http://lwn.net/Articles/438256/Since the dawn of time, or for at least as long as I have been involved, the Linux kernel has deployed a concept called "plugging" on block devices. When I/O is queued
2012-12-24 16:08:50 1135
转载 Elf32_auxv_t
==Phrack Inc.== Volume 0x0b, Issue 0x3a, Phile #0x05 of 0x0e[ Armouring the ELF: Binary encryption on the UNIX platform ][grugq , scut ]--[ Contents - Introductio
2012-12-24 10:36:51 10006
转载 linux kernel测试初探
前言 Linux基金会在4月3日公布了Linux开发年报,向我们展示了linux kernel作为世上最大开源合作项目之一的魅力。自2005年以来,共有800家公司7800名开发人员参与Linux kernel开发,最近一年也有200家公司共1000名开发人员参与。目前在Linus Torvalds的监督之下,Linux核心约2到3个月发布一个新的稳定版本,每次更新大约包含8000到120
2012-12-21 20:15:11 1290
转载 调试器工作原理——基础篇
调试器工作原理——基础篇http://eli.thegreenplace.net/2011/01/23/how-debuggers-work-part-1/http://www.hellogcc.org/英文原文:Eli Bendersky 编译:伯乐在线— 陈舸本文是一系列探究调试器工作原理的文章的第一篇。我还不确定这个系列需要包括多少篇文章以及它们所涵盖的主题,但我打算从
2012-12-21 17:53:09 656
转载 使用call_usermodehelper在Linux内核中直接运行用户空间程序
系统初始化时kernel_init在内核态创建和运行应用程序以完成系统初始化. 内核刚刚启动时,只有内核态的代码,后来在init过程中,在内核态运行了一些初始化系统的程序,才产生了工作在用户空间的进程。/* This is a non __init function. Force it to be noinline otherwise gcc 736 * makes it
2012-12-11 16:59:57 705
转载 向linux内核版本号会自动添加“+”号
1. 引子编译2.6.35.7 kernel版本的时候发现,“2.6.35.7“的内核版本编译成功后生成的版本号变成了“2.6.35.7+”,为什么后面会多一个加号呢?问题出现在linux的版本控制这一块:打开Makefile我们可以在文件的最上面可以发现VERSION = 2PATCHLEVEL = 6SUBLEVEL = 35EXTRAVERSION = .7
2012-12-11 14:33:37 607
转载 Analyzing I/O performance
Analyzing I/O performanceThere are probably thousands of articles on the Internet about disk statistics in Linux, what various columns mean, how accurate the information is, and so on. I decided to
2012-12-07 17:05:54 851
原创 proc sys
struct pid_namespace { struct kref kref; struct pidmap pidmap[PIDMAP_ENTRIES]; int last_pid; struct task_struct *child_reaper; struct kmem_cache *pid_cachep; unsigned int
2012-11-07 14:42:27 765
转载 转-挂载raw和qcow2格式的KVM硬盘镜像
<!--#favor_form {width:200px}#favor_form p {color:#666}#favor_form form {height:60px; width:200px}#favor_form form ._favor_input {display:block; margin:2px 0; width:199px}#favo
2012-09-11 11:41:55 1589
原创 ubunt-12.04-LTS root登录
因开发需要直接root登录,按照:1、执行sudo dpkg-reconfigure gdm 将登录管理器修改为gdm, lightdm当前已经把root用户给屏蔽了,没有找到解开的方法。gdm还保留着other的选择。2、修改/etc/pam.d/login文件:将auth [success=ok new_authtok_reqd=ok ignore=ignore user_un
2012-04-28 17:14:54 585
原创 vim-ide
http://code.google.com/p/vimide/ubuntu 12.04 LTS vim-ide 0.5 安装ok winmanger:http://www.vim.org/scripts/script.php?script_id=95 map :FirstExplorerWindowmap :BottomExplorerWindowmap :W
2012-04-28 14:38:01 719
转载 系统调用及参数传递过程
sys_clone 参数是从ebx开始的,奇怪了,eax干嘛去了?于是通过google温习了一下Linux系统调用的参数传递过程,此篇文章不错,转载于此。1.系统调用函数接口是如何转化为陷入命令系统调用是通过一条陷入指令进入核心态,然后根据传给核心的系统调用号为索引在系统调用表中找到相映的处理函数入口地址。这里将详细介绍这一过程。我们以x86为例说明:由于陷入指令是一条特殊
2012-03-25 17:02:56 1828
转载 透過 User-Mode-Linux 來學習核心設計 (1)
« GCC 函式追蹤功能 |回到主頁面|透過 User-Mode-Linux 來學習核心設計 (2) »January 11, 2007透過 User-Mode-Linux 來學習核心設計 (1)因為收到不少網友來信指教,小弟決定整理過去的心得與筆記,分享如何透過 [User-Mode Linux] (以下簡寫 UML,注意該術語與軟體工程的 Unified Modeling
2012-03-07 22:37:27 767
转载 Linux下异步IO(libaio)的使用以及性能
March 21st, 2011 Yu FengLeave a comment Go to comments原创文章,转载请注明: 转载自Erlang非业余研究本文链接地址: Linux下异步IO(libaio)的使用以及性能Linux下异步IO是比较新的内核里面才有的,异步io的好处可以参考这里.但是文章中aio_*系列的调用是glibc提供的,是
2012-03-03 22:30:53 4102
转载 Unix调试的瑞士军刀:lsof
http://heikezhi.com/2011/06/19/swiss-army-knife-of-unix-debugging-lsof/这是“你应该知道的Unix和Linux命令”系列的第三篇,在这篇文章中,我会介绍lsof这个工具,如果说netcat是进行网络诊断的瑞士军刀,那么lsof就是Unix调试的瑞士军刀。Lsof是遵从Unix哲学的典范,它只做一件事情,并且做的相当完美—
2012-03-03 21:58:53 850
转载 slabtop简单的用途
http://blog.yufeng.info/archives/1960我们知道内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。我们通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。linux系统透过/proc/slabinfo来向用户暴露slab的使用情况的,我们来看下:
2012-03-03 21:39:38 5094
转载 Btrfs Code documentation
Btrfs Code documentation (2010-08-15 23:28) 转载 分类: Linux Filesystem Kernel and Utilities 尽最大的可能在内核和应用程序之间共享代码。他们代码主要的不同在于启动和跟踪IO的代码。Btrfs内的任何一个项目都应该试着来保持内核和应用程序的更新,并且保持他们之间的代码通用。对于Btrf
2012-03-02 00:25:52 1042
原创 files_struct
44struct files_struct {48 atomic_t count;49 struct fdtable *fdt;50 struct fdtable fdtab;54 spinlock_t file_lock ____cacheline_aligned_in_smp;55 int next_fd;
2012-02-29 10:59:52 1874
转载 ftrace 的实现
ftrace 的实现研究 tracer 的实现是非常有乐趣的。理解 ftrace 的实现能够启发我们在自己的系统中设计更好的 trace 功能。ftrace 的整体构架Ftrace 的整体构架:图 1. ftrace 组成Ftrace 有两大组成部分,一是 framework,另外就是一系列的 tracer 。每个 tracer 完成不同的功能,它们统一由 fram
2012-02-24 14:47:09 1627
转载 Debugfs
http://lwn.net/Articles/115405/[Posted December 13, 2004 by corbet]Kernel hackers often need to be able to export debugging information to user space. This information is not needed for the re
2012-02-24 14:45:49 595
转载 调查用户空间程序某函数最常调用路径
原创文章,转载请注明: 转载自Erlang非业余研究本文链接地址: 调查用户空间程序某函数最常调用路径在做系统调优或者调查性能问题的的时候,比如说调查一个锁的性能问题。 这把锁的代码会有很多路径会调用, 我们可以在锁的地方设个probe点,但是我们无法知道那个路径是最经常调用的。 所以我就写了个stap脚本来解决这个问题,代码在RHEL 5.4/6下都调试没有问题的。
2012-02-24 13:46:17 686
转载 调研内核调用栈方便的工具 kmalloc-top
原创文章,转载请注明:转载自Erlang非业余研究本文链接地址:调研内核调用栈方便的工具 kmalloc-top我们在研究内核的时候,看了内核代码后,就想着某个函数被谁谁调用。 调用路径有很多条,有热门的,有偏门的,但从代码不大容易看出。 如果我们能和gdb那样在函数上设个断点,看下内核函数的调用栈就清楚了。 但是如何统计热门路线呢?用systemtap就可以,参看这里,这里。
2012-02-24 13:44:44 1435
转载 Linux Call Trace原理分析
Linux Call Trace原理分析 分类: Linux 2011-01-03 21:01 1891人阅读评论(0) 收藏 举报 本文介绍了在Linux环境下根据EABI标准进行call trace调试的一般性原理。本文所说的call trace是指程序出问题时能把当前的函数调用栈打印出来。本文只介绍了得到函数调用栈的一般性原理,没有涉及Linux的core dum
2012-02-24 13:22:57 1371
转载 gprof使用详细介绍 linux下c/c++编程
2008-11-03 16:11gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。基本用法:1. 使用-p
2012-02-24 10:57:57 731
转载 possible SYN flooding on port 80. Sending cookies
possible SYN flooding on port 80. Sending cookies2010-07-30 13:45#dmesgpossible SYN flooding on port 80. Sending cookies.possible SYN flooding on port 80. Sending cookies.possible
2012-02-23 16:00:32 21064 1
转载 possible SYN flooding on port 7000. Sending cookies
COOKIE MUELLERCookie Mueller was an actress. She was born in 1939 and died in 1989. Research Cookie MuellerCOOKIEIn computing, cookies are temporary files written to the local hard dis
2012-02-23 15:43:27 2173
转载 用Ftrace跟踪内核模块
转载自:http://blog.csdn.net/defeattroy/archive/2010/05/23/5618099.aspx对一个名为epl.ko的内核模块进行trace的过程如下:1 首先确保你打开相应的内核选项: kernel_hacking/Trace下面。如果需要重编内核。注意重编内核后重编你的模块。2 设置ftracemount -t debugfs
2012-01-30 13:21:41 819
转载 Linux i386+源码中常见宏标识tag的定义
这些宏包括 __init、__initdata、__initfunc()、asmlinkage、ENTRY()、FASTCALL()等等。它们的定义主要位于Include\linux\linkage.h和 include\asm-i386\Init.h以及其他一些.h文件中。1) __init位置:include\asm-i386\Init.h 定义:#define __init __
2011-11-23 19:33:11 412
转载 Linux 三次握手图
服务器端的基本操作流程:1.建立socket-》2.绑定bind-》3.监听listen-》4.接收accept-》5.传输数据read/write-》6.关闭close客户端的操作流程:1.建立socket-》2.建立链接connect-》3.传送数据read/write-》4.关闭close
2011-11-02 10:22:28 566
转载 linux中断处理浅析
2009-06-21 11:51最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~第一阶段--获取中断号每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序.在进入中断服务程序时, CPU已经自动禁止了本CPU
2011-10-27 18:29:57 589
转载 内存机制的建立 (2011-04-24 17:34)
分类: Linuxkernel是怎么管理内存的呢?从启动的角度来看,怎么看kernel怎么建立内存管理模块。还是需要从全局变量的角度来看。1. early_ioremap--固定映射FIXMAPioremap的作用是将IO和BIOS以及物理地址空间映射到在
2011-09-26 18:38:31 1840
原创 BP_scratch那段代码
CALL做了什么那么一条CALL指令做了什么事情呢?它做的就是对CPU执行指令所需要的充要条件相关因素进行处理,从而保证下一条指令能够正确执行。CALL指令执行需要知道下一步调用的函数的地址(最简单跳转指令JMP需要知道的东东),而在它将CPU执行点给下一步需要执行的函数
2011-08-31 09:48:04 960
ubuntu9.04,10.04,10.10 下kscope安装资源
2010-12-02
Linux实用学习教程
2008-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人