- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 虚拟化ABC - 不同OS的时钟
1. Microsoft Windows微软操作系统通常使用counting timer interrupts(ticks),系统时间精确到最近的tick,根据OS版本和的HAL使用不同的时间设备。使用PIT的,中断频率往往是100Hz,Windows 98使用200Hz。使用CMOS(RTC)时钟的,中断频率为64Hz。Microsoft Windows通过multimedia timer
2013-05-31 14:48:21 1140
原创 虚拟化ABC - x86平台时钟
PIT可编程中断/间隔时钟 -Programmable Interrupt Timer, Programmable Interval Timer较为古老的方式,1KHZ左右,接IRQ0,精度低,容易溢出,支持周期性和单次两种工作方式RTC - Real Time Clock 通常与CMOS集成,由CMOS电池供电,2-8192HZ,通常接IRQ8,支持周期和单次两种方式,还可以配置成每秒一个中断,
2013-05-31 14:42:01 1400
原创 虚拟化ABC - 内存虚拟化
内存虚拟化的目标:1)给虚拟机一个从零地址开始的连续物理内存空间。2)在各虚拟机之间有效隔离、调度以及共享内存资源。 第一代Intel-VT技术没有提供硬件支持的内存虚拟化技术,内存虚拟化采用影子也表;第二代VT技术提供了硬件支持的内存虚拟化技术:VPID和EPT。EPT(Extended PageTable)普通页表只能将客户机虚拟机地址转换成客户机物理地址。Gu
2013-05-31 14:37:55 1425
原创 虚拟化ABC - VCPU
VT-x有个概念是VCPU,VCPU其实是一个保存在内存中的结构体,包含标识、虚拟寄存器、状态等信息。在创建虚拟CPU的的时候会先创建并初始化对应的VCPU。VCPU的执行依据一定的调度算法。VT-x尽量减少上下文切换(例如浮点寄存器),并做了指令优化(例如避免陷入)VCPU可以分为两部分:1)VMCS,由硬件使用和更新,主要是虚拟寄存器;2)VMCS以外的部分,由VMM使用和更新。
2013-05-31 14:35:58 1433
原创 QEMU的几个线程
HOST将qemu当做一个普通的进程和其他进程统一调度,可以使用资源对qemu进行资源预留隔离(cpuset)和优先级提升(chrt)。qemu进程包含多个线程,分配给GUEST的每个vcpu都对应一个vcpu线程,另外qemu还有一个线程循环执行select专门处理I/O事件。QEMU的主要线程:主线程(main_loop),一个vCPU线程,一个或者多个I/O线程(aio),一个或
2013-05-31 14:34:35 5749
原创 Linux下开发Windows平台运行的程序 - MinGW
开源不乏神人,于是有了MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils一直到Win32平台下,包含一系列头文件、库和可执行文件。另有mingw64,可产生64位Windows可执行文件的GNU交叉编译器。然后很多开发者不习惯Windows下的开发环境,还是坚持Linux,就有了Linux平台的交叉编译器,MinGW-
2013-05-31 11:48:26 3979
原创 Linux中断 - APIC
APIC - 82093AA + LAPIC8259A只能用在单CPU上,故而引入APIC。该组件包含两大组成部分:一是“本地 APIC”,主要负责传递中断信号到指定的处理器;举例来说,一台具有三个处理器的机器,则它必须相对的要有三个本地 APIC。另外一个重要的部分是 I/O APIC,主要是收集来自 I/O 装置的 Interrupt 信号且在当那些装置需要中断时发送信号到本地 APIC,
2013-05-31 10:26:25 1643
原创 Linux中断 - PIC
中断处理流程PIC - 8259APIC由两片8259A级联PIC方式中断处理过程如下,- 设备的中断引脚连向PIC;- PIC监控IRQ引脚看是否有中断信号,如果有多个,根据优先级选择(小数引脚优先);- 将信号转换成对应的vector,并将该vector存在Interrupt Controller I/O port,允许CPU通过数据总线读取;(vect
2013-05-29 11:27:44 1252
原创 x2APIC
x2APIC在Native环境下是个硬件特性,早已被kernel支持,内核提供一些参数来控制x2APIChttp://support.novell.com/techcenter/sdb/en/2002/10/81_acpi.html可通过下面命令确认cat /proc/cpuinfo | grep x2apicdmesg | grep x2apicxAP
2013-05-29 11:26:07 11659
原创 qemu linux串口重定向到终端
为了省事期间,qemu启动一个Linux Guest,如果只需要这个Guest的终端,不需要图形用户界面,可将Linux Guest的输出重定向至虚拟串口(最终是重定向到终端)。下面以Fedora Guest为例说明用法。不同发行版和版本设置方法可能不同(如grub、grub2就不一样,debian这样的发行版需要配置/etc/inittab)。重定向虚拟串口到console,有两种用法
2013-05-17 11:17:05 5371
原创 编译fedora kernel
# yumdownloader PACKAGE-NAME.src.rpm# rpm -ivh XXX.src.rpmSOURCESPECcd SPEC# rpmbuild -bp kernel.spec# cd ../BUILD/kernle.....# make menuconfigconfigure kernel
2013-05-10 13:17:33 852
原创 虚拟化可用性
内存相关虚拟化领域已经成熟使用的内存复用技术:1. 共享(或者叫页共享)相同内容的内存只存一份,通过hash建立关系,经常应用在桌面云环境(Guest OS都是一样的,这样操作系统镜像还有很多应用程序的代码段都可以共享,在密度比较大的虚拟化环境里能节省很多内存)。 2. 气泡气泡技术报告里已有,需要半虚拟化支持(Guest OS上的驱动)。GuestOS运行的时候始终会
2013-05-09 22:54:00 1197
转载 Install And Configure Open VSwitch On CentOS RHEL Fedora
http://linuxdrops.com/install-and-configure-open-vswitch-on-centos-rhel-fedora/
2013-05-03 17:04:17 798
原创 lftp下载上传限速
tc可以设置系统级别的限速,需要给lftp这个应用限速的话,可以这样在 lftp.conf 中加入set net:limit-rate 100000,10000将上传和下载速度上限分别设置为100K、 10K.
2013-05-03 09:33:11 2497
华为HG522-C配置文件
2012-02-21
Linux Programming by Example
2011-11-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人