#ifndef __LINUX_KVM_H #define __LINUX_KVM_H /* * Userspace interface for /dev/kvm - kernel based virtual machine * * Note: you must update KVM_API_VERSION if you change this interface. */ #include <linux/types.h> #include <linux/compiler.h> #i…
#ifndef __KVM_HOST_H #define __KVM_HOST_H /* * This work is licensed under the terms of the GNU GPL, version 2.  See * the COPYING file in the top-level directory. */ #include <linux/types.h> #include <linux/hardirq.h> #include <linux/list.…
/* * Kernel-based Virtual Machine driver for Linux * * This header defines architecture specific interfaces, x86 version * * This work is licensed under the terms of the GNU GPL, version 2.  See * the COPYING file in the top-level directory. * */ #if…
自己通过看代码总结的内核中包含kvm的文件夹: (1)Linux-3.17.4\Documentation\virtual\kvm\ (2)Linux-3.17.4\include\ (3)Linux-3.17.4\drivers\s390\kvm\ (4)Linux-3.17.4\virt\kvm\ (5)Linux-3.17.4\arch\*\kvm\   (*号代表以下处理器体系架构:x86.tile.s390.powerpc.mips.ia64.arm64.arm)  先研究x86体系架…
linux内核奇遇记之md源代码解读之四 转载请注明出处:http://blog.csdn.net/liumangxiong 运行阵列意味着阵列经历从无到有,建立了作为一个raid应有的属性(如同步重建),并为随后的读写做好的铺垫.那么运行阵列的时候到底做了哪些事情,让原来的磁盘像变形金刚一样组成一个新的巨无霸.现在就来看阵列运行处理流程: 5158 static int do_md_run(struct mddev *mddev) 5159 { 5160 int err; 5161 5162…
为了更加深入的学习虚拟化,因此我必须把KVM源代码搞清楚,这是一个必须要挖的坑.我会把自己的一些阅读的代码贴上来,可能会有理解不对的地方,希望和大家一起交流,请多提意见,以便于纠正错误.所用的内核版本为3.17.4.…
一.安装windows7虚拟机 linux mint 17.3是一个不错的桌面发行版本,我下载了 linux mint 17.3 for xfce 桌面版本,运行速度没得说,而且安装设置都挺简单,非常适合长期代替windows使用,现在长期工作于此系统中,也试验了许多新技术,比如linux下的kvm虚拟机,kvm已经属于linux内核的一部分了,在linux mint 17.3中安装好后,就已经有了,只不过要使用时还得安装与之配套的虚拟机管理软件qemu和图形管理软件virt-manager,在…
简单介绍 近期一直在看Apache OFbiz entity engine的源代码.为了能够更透彻得理解,也由于之前没有看人别人写过分析它的文章,所以决定自己来写一篇. 首先,我提出一个问题,假设你有兴趣能够想一下它的答案: JDBC真的给数据訪问提供了足够的抽象,以至于你能够在多个支持jdbc訪问的数据库之间随意切换而全然不须要操心你的数据訪问代码吗? 我以前在微博上有过关于该问题的思考:…
1 Win7下安装Mint双系统 Linux Mint支持直接从Win7硬盘引导安装,非常方便,不用制作U盘引导,更不用刻盘安装了.Mint有Cinnamon和Mate两种桌面,听说Mate更加简洁节省资源,所以就选择了Linux Mint 17 Mate版.安装过程主要参考百度经验. 1.1 清理磁盘空间 为Mint清理出空间.例如我的机器之前有C.D.E.F四个盘符,备份好E和F盘中的重要数据后,右键"我的电脑"=>"管理"=>"磁盘管理&…
Git commits历史是如何做到如此清爽的? - 知乎 https://www.zhihu.com/question/61283395/answer/186122300 尤雨溪 前端开发.JavaScript.前端工程师 话题的优秀回答者   多用 rebase --- 我真是服了贵乎了,楼下居然有人能从 commit 风格看出我爱慕虚荣,哈哈哈哈,只能说这葡萄是很甜了 我 rebase 纯粹是因为我不喜欢 git log --graph 的时候一堆 branch 扰乱视线.另外,难道你不知…
当我第一次阅读了这个文件的源代码的时候.我笑了,忽然想起前几周阿里电话二面的时候,问到了自己定义内存管理函数并处理8字节对齐问题. 当时无言以对,在面试官无数次的提示下才答了出来,结果显而易见,挂掉了二面.而这份源代码中函数zmalloc()和zfree()的设计思路和实现原理,正是面试官想要的答案. 源代码结构 zmalloc.c文件的内容例如以下: 主要函数 zmalloc() zfree() zcalloc() zrelloc() zstrdup() 字长与字节对齐         CPU…
用过蛮多的linux系统 linux mint是我比较喜欢和常用的一个系统,装的是linux mint xfce 64位版本,在这里记录使用中遇到的一些问题及解决的方法,备忘,方便以后查看. 1.首先装完之后要做的第一件事就是更换软件源 mint更换软件源相对来说还是比较傲简单的,有提供图形界面程序来更换. 我更换的软件源是 主要:台湾的NHPC源 基础源:国内的阿里云源 2.更新系统,让系统保持最新 可以在终端输入命令来更新 $ sudo apt-get update $ sudo apt-g…
如果大家对自己购买和使用的VPS需要检测是否为真的Xen,我们可以用如下方法进行测试.比较专业的就是用virt-what脚本进行检测.检测Linux VPS是Xen.OpenVZ还是KVM真假方法方法如下:wge thttp://people.redhat.com/~rjones/virt-what/files/virt-what-1.12.tar.gztar zxvf virt-what-1.12.tar.gzcd virt-what-1.12/./configuremake && ma…
转载:http://www.pppei.net/blog/post/690 亲测可行! 我的系统是linux mint 17.1 64位,所用wifi位小米WIFI. 以下是原文: 此方法在linuxmint 17.1下测试通过.理论上可支持小米wifi.360wifi. 具体操作如下: 1.下载安装MT7601U驱动MT7601U驱动提取密码:2r8h这里感谢下 http://bbs.xiaomi.cn/thread-10160085-1-1.html 帖子的作者. 将下载的驱动解压,进入解压…
下载Linux Mint 17镜像,放到C盘根目录:解压出mint.iso文件中casper目录下的vmliunz和initrd.lz两个文件,同样放在C盘的根目录里. 在Win7上安装EasyBCD,打开EasyBCD在左边的标签里依次点击“Add New Entry”-“NeoGrub”-”Install”-“Configure”,如下图: 点击configure之后,在弹出的编辑器里删除所有内容,输入如下内容: title Install LinuxMintroot (hd0,1)kern…
1. 怎样理解"json" 首先应该意识到,json是一种数据转换格式,既然是个"格式",就是个抽象的东西.它不是js对象,也不是字符串,它仅仅是一种格式,一种规定而已. 这个格式规定了如何将js对象转换成字符串.以及转换成如何的字符串--序列化 -- JSON.stringify 接口: 以及怎样将一个有效字符串转换成js对象--反序列化-- JSON.parse 接口: 2. 关于作者 json作者是 道格拉斯.克劳福德 ,是一位js大牛,写过一本<jav…
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之间的内容按照数学公式进行排版,从而导致评论区格式混乱.如果大家的评论中用到了$,但是又不是为了使用数学公式,就请使用\$转义一下,谢谢. 想从头阅读该系列吗?下面是传送门: Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论 Linux 桌面玩家指南:02. 以最简洁的方式打造实用的…
Linux Mint 17 Qiana Cinnamon Linux Mint 17已经发布,定名为Qiana.Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁.它携带了风格迥异的桌面环境,如Mate以及Cinnamon,并基于不同的发行版,如Ubuntu或Debian. 在本文中,我们使用的是Linux Mint 17的cinnamon版本.要获取更多关于Cinnamon版本的信息(包括下载链接),可以访问 -http://linux.cn/article-3260-1.…
关于为什么选择linuxmint17.3作为个人办公开发系统的选择说明: 编者按]提起Linux系统,大家可能最先想到的就是 Linux Mint 和 Ubuntu 两个版本了.近来,开源界貌似激进了很多,极客头条这两天也有诸多报道: K 桌面环境 KDE Plasma 5.3 发布.Debian 8 发布 代号Jessie.Ubuntu 15.04 发布……在Linux两大版本: Linux Mint 和 Ubuntu 之间到底如何?多年来争论不休,萝卜青菜各有所爱,所以不妨耐心看一个日前 R…
SparkContext的初始化 SparkContext是应用启动时创建的Spark上下文对象,是进行Spark应用开发的主要接口,是Spark上层应用与底层实现的中转站(SparkContext负责给executors发送task). SparkContext在初始化过程中,主要涉及一下内容: SparkEnv DAGScheduler TaskScheduler SchedulerBackend SparkUI 生成SparkConf SparkContext的构造函数中最重要的入參是Sp…
概述:Apache Beam WordCount编程实战及源代码解读,并通过intellij IDEA和terminal两种方式调试执行WordCount程序,Apache Beam对大数据的批处理和流处理,提供一套先进的统一的编程模型,并能够执行大数据处理引擎上.完整项目Github源代码 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZHJlYW1fYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/…
概述:Spark postgresql jdbc 数据库连接和写入操作源代码解读.具体记录了SparkSQL对数据库的操作,通过java程序.在本地开发和执行.总体为,Spark建立数据库连接,读取数据.将DataFrame数据写入还有一个数据库表中.附带完整项目源代码(完整项目源代码github). 1.首先在postgreSQL中创建一张測试表,并插入数据.(完整项目源代码Github) 1.1. 在postgreSQL中的postgres用户下,创建 products CREATE TAB…
Linux Mint 17.1 安装全配置 I. 前言 由于自己的本子出现了一些故障需要重新安装系统,就上网看看今年4,5月份发布的一些新的发行版来试试.原先电脑上安装的是opensuse13.2, 由于对KDE的无爱,所以opensuse 装的是gnome环境,时间长了略有厌烦,我又是个颜控主义者,于是把目光瞄到了Mint和ElementaryOS身上. 先说一下我的本子的设置,这是一个备用机,不是主力开发机,主力开发机上安装的是ubuntu14.04 LTS和windows 8.1 的双系统…
有转载这里的也有添加的. ################# Fix 1 ########################## Error: frameworks/base/include/utils/KeyedVector.h:193:31: note: declarations in dependent base ‘android::KeyedVector<android::String8, android::sp<AaptDir> >’ are not found by un…
高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等的复杂性和多变性,使得对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题.本章从系统人手,重点讲述由于系统软.硬件配置不当造成的性能问题,并且给出了检测系统故障和优化性能的一般方法和流程. 10.1  系统性能分析的目的 10.1.1  找到系统性能的瓶颈系统的性能是指操作…
原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看齐,不然就只能和代码为伴了的~~话说没了腊八粥但还是有代码,还有各位读者的支持呀,所以得继续写下去,静下心来,完成Linux内核的学习,坚持,加油~ 到目前为止,我们已经认识了Linux内核子系统,也探究了系统的初始化过程,并且深入探索了start_kernel()函数,同样,了解内核映像的创建也是…
Linux命令 目录 1       文件管理... 5 1.1          basename. 5 1.2          cat 5 1.3          cd. 5 1.4          chgrp. 5 1.5          chmod. 6 1.6          chown. 7 1.7          comm.. 7 1.8          cp. 7 1.9          cut 8 1.10        dd. 8 1.11        di…
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识. 当在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看上去就象树形结构,所以我们…
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识. 当 在使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc.usr.var.bin ... ... 等目录,而 在这些目录中,我们进去看看,发现也有很多的目录或文件.文件系统在Linux下看上去就象树形结构,所以…
目录 . 内核锁机制 . 同步与互斥 . 锁定内存总线原子操作 . 信号量 . 自旋锁 . RCU机制 . PERCPU变量 . 内存和优化屏障 . 读者/写者锁 . 大内核锁 . 互斥量 1. 内核锁机制 内核可以不受限制地访问整个地址空间,在多处理器系统上(或类似地,在启用了内核抢占的单处理器上),这会引起一些问题,如果几个处理器同时处于核心态(即CPU正在执行内核区代码).则理论上它们可以同时访问同一个数据结构,这会造成竞态条件为了解决这个问题,内核使用了由锁组成的细粒度网络,来明确地保护…