91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KVM并不是想象中那么難

Linux閱碼場(chǎng) ? 來(lái)源:Linuxer ? 作者:沈丹 ? 2020-09-16 13:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

那些不能銘記過(guò)去的人注定要重蹈覆轍。你還記得當(dāng)年用Windows隱藏文件夾藏片嗎?

作為一個(gè)屌絲,虛擬化技術(shù)確實(shí)意義非常重大。這個(gè)最顯著的作用顯然就是藏片,作為一個(gè)程序員,如果還用Windows文件隱藏功能來(lái)藏片,這實(shí)在是污辱自己和女朋友的智商,讓廣大碼農(nóng)抬不起頭來(lái)做人。最早可以幫你實(shí)質(zhì)藏片的手段來(lái)自VMware。
VMware這個(gè)名字就是一種牛逼,VM就是virtual machine,ware是取自Software中的ware,1999年VMware發(fā)布了它的第一款產(chǎn)品VMware Workstation,在那個(gè)賽揚(yáng)333和白衣飄飄的時(shí)代。

上面一幅圖看起來(lái)比較嗨皮,但是技術(shù)含量確實(shí)不低。你想在一個(gè)電腦上面,虛擬出來(lái)一個(gè)“假”電腦,但是一定要“假”到什么程序呢?就是蒼老師在跑的時(shí)候,她意識(shí)不到這是個(gè)“假”電腦。造假?gòu)膩?lái)都不是那么容易的事情。會(huì)面臨來(lái)自CPU、內(nèi)存、I/O的全方位障礙。

先說(shuō)CPU方面,為了避免應(yīng)用弄死整個(gè)系統(tǒng),除了一些裸奔的RTOS(實(shí)時(shí)操作系統(tǒng))以外,現(xiàn)代操作系統(tǒng)一般借助CPU的不同模式來(lái)將操作系統(tǒng)內(nèi)運(yùn)行的軟件切割為用戶態(tài)和內(nèi)核態(tài)。用戶態(tài)只能執(zhí)行常規(guī)的CPU指令如運(yùn)算,但凡涉及到訪問(wèn)特定的硬件,如MMU、I/O等,用戶態(tài)的應(yīng)用就需要陷入內(nèi)核態(tài),調(diào)用內(nèi)核的系統(tǒng)服務(wù)來(lái)完成。

比如下面最簡(jiǎn)單一段程序:

int main(int argc, char **argv)
{
int i;

for(i=0;i<10000;i++);?
write(1, “hello ”, 6);
for(i=0;i<10000;i++);

return 0;
}

其中for(i=0;i<10000;i++);這樣的語(yǔ)句是在用戶態(tài)執(zhí)行的,而write(1, “hello ”, 6);則通過(guò)系統(tǒng)調(diào)用陷入到內(nèi)核態(tài)。?
這個(gè)陷入,不僅是軟件的一種變化,也是硬件模式的一種跨越。X86的處理器模式也從ring3非特權(quán)模式切換到了ring0特權(quán)模式了。非特權(quán)這樣的模式,可以保證用戶空間想干壞事也干不了,干了壞事就現(xiàn)場(chǎng)被抓。

那么問(wèn)題就來(lái)了,沒(méi)有虛擬機(jī)guest的情況下,ring0只有主機(jī)操作系統(tǒng)一個(gè)人玩,這個(gè)是絲毫沒(méi)有什么問(wèn)題的。有多個(gè)guest OS的情況下,guest OS的內(nèi)核也想在ring0玩(至少它要覺得自己在ring0玩),但是事實(shí)上是它不能占據(jù)ring0,否則就變成了宋哲,控制了不該控制的資源。這個(gè)時(shí)候,我們必須給guest OS做“特權(quán)解除(De-privileging)”,比如把guest OS的kernel放入權(quán)限更低的ring1。但是,我們必須給它模擬出還是在ring3和ring0跑的樣子,因?yàn)镺S原本是這樣理解的,全虛擬化的本質(zhì)讓它感知不到被虛擬化了,就是追求這個(gè)等價(jià)性。既然蒼老師喜歡看到guest OS的內(nèi)核在ring0建設(shè)社會(huì)主義的樣子,我們就要把蒼老師給蒙騙過(guò)去。

模擬出還是ring0和3的樣子,這個(gè)事情還真的是不簡(jiǎn)單?,F(xiàn)在guest OS用戶態(tài)和內(nèi)核態(tài)分別運(yùn)行在CPU的ring3和ring1,然后蒼老師在的Windows的內(nèi)核想讀CPU的一個(gè)寄存器知道CPU現(xiàn)在在什么狀態(tài),假設(shè)這個(gè)指令叫做ABC,由于現(xiàn)在雖然蒼老師Windows在內(nèi)核態(tài),但是CPU實(shí)際處于ring1,所以她讀到的是ring1,這顯然不符合應(yīng)有的期待,虛擬化后蒼老師應(yīng)該讀到ring0才對(duì)!

ABC這樣的指令關(guān)乎到系統(tǒng)全局資源的狀態(tài)讀取或者設(shè)置,我們一般稱呼這樣的指令為敏感指令(Sensitive instruction)。假設(shè)ABC這條敏感指令同時(shí)也是一條特權(quán)指令(Privilege instruction,在非特權(quán)模式執(zhí)行的時(shí)候會(huì)引發(fā)硬件陷入特權(quán)模式的ring0),那么蒼老師讀CPU的狀態(tài)的時(shí)候,陷入ring0,我們?cè)趓ing0的VMM(virtual machine monitor)代碼里面?zhèn)卧煲粋€(gè)ring0值給蒼老師就萬(wàn)事大吉了,這就是典型的“陷入-模擬”。只要能陷入,咱們就能模擬,就能制造幻覺。

如果所有的敏感指令都是特權(quán)指令,我們顯然是可以完美通過(guò)這種“陷入-模擬”的方法來(lái)實(shí)現(xiàn)虛擬化的。實(shí)際上,大部分敏感指令確實(shí)是特權(quán)指令。但是,無(wú)論是早期的X86,還是ARM,都有些敏感指令不是可以陷入的特權(quán)指令,我們稱呼它們?yōu)榕R界指令(critical instruction)。不陷入就無(wú)法模擬,又關(guān)乎系統(tǒng)資源的讀取和設(shè)置,系統(tǒng)資源就像全局變量,主機(jī)看虛擬機(jī)也看,這個(gè)虛擬機(jī)看,那個(gè)虛擬機(jī)也看,你看我也看,那么顯然是無(wú)法實(shí)現(xiàn)邏輯上的隔離了。我們顯然需要把跨機(jī)器的全局變量變成虛擬機(jī)內(nèi)的模塊級(jí)變量才靠譜。

早期為了解決上述問(wèn)題,人們一般采用2種辦法:

半虛擬化(para-virtualization)

直接在guest OS里面把無(wú)法虛擬化的部分代碼改掉,把ABC指令替換成一個(gè)陷入ring0的系統(tǒng)調(diào)用,既然你不陷入,哥就強(qiáng)行拉你下水。這顯然就不是全部的虛擬化了,這種叫做半虛擬化(para-virtualization)。

二進(jìn)制翻譯( binary translation )

不改代碼,比如看到ABC這樣的指令,提前插入斷點(diǎn)來(lái)截獲之,交由 VMM 解釋執(zhí)行,我們就把它強(qiáng)行翻譯為別的東西。其實(shí)這個(gè)也有那么一點(diǎn)類似半虛擬化,你可以認(rèn)為半虛擬化的改代碼在編譯前,而二進(jìn)制翻譯的改代碼在運(yùn)行時(shí)。

通常我們認(rèn)為運(yùn)行時(shí)候改,會(huì)比編譯前改,逼格要高那么一點(diǎn)點(diǎn)。

由于半虛擬化需要系統(tǒng)內(nèi)核的深度修改,在生產(chǎn)環(huán)境中,半虛擬化在技術(shù)支持和維護(hù)上會(huì)有很大的問(wèn)題,早期的Xen就是用的這種方法。而早期的VMware用的手段則是進(jìn)行二進(jìn)制翻譯( binary translation ),把這些指令翻譯執(zhí)行,不讓它的實(shí)際指令執(zhí)行。翻譯的意思,就是類似明明我干的就是ABC,它替換為xxxx,yyyy,zzzz,然后欺騙蒼老師現(xiàn)在是ring0:

這是虛擬化的訴求,也是歷史的痛苦。當(dāng)然現(xiàn)在已經(jīng)不是蒼老師的時(shí)代了,遙想公謹(jǐn)當(dāng)年,蒼天有井獨(dú)自空,星落天川遙映瞳。小溪流泉映花彩,松江孤島一葉楓。哎,時(shí)代的車輪滾滾向前,碾壓著每一個(gè)屌絲。房子永遠(yuǎn)越來(lái)越貴,家庭成本越來(lái)越高,碼農(nóng)越來(lái)越老,外企個(gè)個(gè)在跑,每每念及此處,心里孤單又寂寞。

現(xiàn)在無(wú)論是X86還是ARM,都通過(guò)修改CPU架構(gòu),解決了上述問(wèn)題。Intel Virtualization Technology (VT-x) 和AMD’s AMD-V這樣的硬件虛擬化技術(shù),在CPU引入一個(gè)新的模式VMX Root Mode。

Guest OS運(yùn)行于non-root下的ring0,Guest OS上面的應(yīng)用運(yùn)行于non-root模式下的ring3,而host OS的內(nèi)核和VMM則運(yùn)行于root模式下。這樣做的一個(gè)好處是,對(duì)guest OS和app而言,它的軟件是透明的,內(nèi)核感覺自己是ring0, APP感覺自己是ring3,看起來(lái)沒(méi)有執(zhí)行“特權(quán)解除”一樣,也不用再去執(zhí)行前面的實(shí)際在ring1,而要假裝在ring0的樣子。

root模式之下,也分為ring0-ring3。VMM和HOST OS運(yùn)行在RING0, HOST APPs運(yùn)行在ring3。當(dāng)guest OS退出(VMExit)的時(shí)候,會(huì)進(jìn)入root;VMM調(diào)度guest OS運(yùn)行的時(shí)候,會(huì)進(jìn)入guest OS(VMEntry)。

顯然,non-root模式之下的ring 0,不具備root模式下ring0同樣的特權(quán)。所以root模式下的ring0是fully privileged ring 0,而non-root模式下的ring0是less privileged ring 0。一些non-root下的異常、I/O訪問(wèn)、指令和特定寄存器的訪問(wèn),將引發(fā)從non-root到root的切換事件。比如在non-root下執(zhí)行INVD — Invalidate Internal Caches指令,就會(huì)引發(fā)VMExit事件。

而ARM處理器也引入了類似的技術(shù),在ARM的非安全模式之下,分為EL0這個(gè)level跑guest APP,EL1這個(gè)level跑GUEST OS,而EL2這個(gè)level跑VMM,完成各個(gè)guest OS的切換。

除了CPU以外,內(nèi)存也是一個(gè)大問(wèn)題,主機(jī)OS在跑的時(shí)候,它通過(guò)CPU的MMU完成虛擬地址到物理地址的轉(zhuǎn)化。對(duì)于主機(jī)而言,它看到的物理內(nèi)存是整個(gè)內(nèi)存條。但是對(duì)于主機(jī)上面運(yùn)行的虛擬機(jī)里面的guest OS而言,它顯然不能直接看到物理的內(nèi)存條。因?yàn)樘摂M化的核心是把物理的東西邏輯化。所以蒼老師看到的物理地址,在她的眼里依然是連續(xù)的,但是它顯然不能是內(nèi)存條最終真正的物理地址。現(xiàn)代CPU一般通過(guò)提供第2級(jí)轉(zhuǎn)換來(lái)完成,一級(jí)是guest OS里面虛擬地址(VA)到guest OS的物理地址(PA),另外一級(jí)是guest OS里面的物理地址到真實(shí)內(nèi)存條的地址(MA)。第2級(jí)的PA->MA的轉(zhuǎn)化由VMM來(lái)維護(hù)。對(duì)guest OS里面運(yùn)行的app而言,VA是連續(xù)的,實(shí)際上PA是非連續(xù);對(duì)于guest OS里面運(yùn)行的kernel而言,PA是連續(xù)的,實(shí)際上MA是非連續(xù)的??傊?,不在乎是否真的連續(xù),只在乎你覺得是連續(xù)的就行!前面我已經(jīng)反復(fù)強(qiáng)調(diào),虛擬化本質(zhì)上是一種幻覺。在沒(méi)有內(nèi)存虛擬化支持的時(shí)代,VMM一般是通過(guò)給guest OS的進(jìn)程再維護(hù)一個(gè)guest OS虛擬地址到最終機(jī)器物理地址的影子頁(yè)表來(lái)完成地址轉(zhuǎn)換的。

CPU、內(nèi)存以外,接下來(lái)的大問(wèn)題就是I/O外設(shè)的一系列模擬。大家玩過(guò)VMware、Virtualbox的話,都知道我們可以在guest OS里面加假硬盤、假光驅(qū)、假網(wǎng)卡。

這些假的東西怎么造呢?需要進(jìn)行硬件的行為模擬。比如虛擬機(jī)guest OS里面有一個(gè)網(wǎng)卡X,它有如下寄存器序列來(lái)發(fā)包:

write(reg1, 0xFF)
write(reg2, 0xF0)
write(reg3, 0x1)

為了模擬這個(gè)網(wǎng)卡,我們也需要捕獲上述的IO操作并進(jìn)行模擬,由于所有的IO操作都會(huì)引發(fā)異常,最終陷入VMM,而VMM可以借由host OS之上運(yùn)行的一個(gè)應(yīng)用進(jìn)行行為級(jí)模擬并最終調(diào)用Host OS的系統(tǒng)調(diào)用來(lái)完成最后的操作。在VMware workstation中,這一步驟就由VMdriver、VMM和VMApp來(lái)協(xié)同完成。

一個(gè)典型的guest里面的網(wǎng)絡(luò)發(fā)包流程如下,顯然VMM上下文給了VMDriver,之后VMApp獲得I/O請(qǐng)求,VMApp弄清楚情況后,最終通過(guò)syscall調(diào)主機(jī)的服務(wù)把包通過(guò)主機(jī)的網(wǎng)卡發(fā)出去:

相似的,KVM 在 IO 虛擬化方面,就是使用 QEMU 這個(gè)應(yīng)用軟件的方式來(lái)模擬 IO 設(shè)備。

KVM是個(gè)什么鬼?

KVM(Kernel-based Virtual Machine)最初是由一個(gè)以色列的創(chuàng)業(yè)公司Qumranet開發(fā)的,KVM的開發(fā)人員并沒(méi)有選擇從底層開始新寫一個(gè)Hypervisor,而是選擇了基于Linux kernel,通過(guò)加載新的模塊從而使linux Kernel本身變成一個(gè)Hypervisor。從Linux kernel 2.6.20開始就包含在Linux內(nèi)核代碼之中,可以重用Linux kernel的生態(tài)鏈和現(xiàn)有基礎(chǔ)設(shè)施。
KVM運(yùn)行于帶硬件虛擬化支持的處理器,所以我們假定硬件里面的CPU虛擬化擴(kuò)展、內(nèi)存虛擬化擴(kuò)展等都是存在的。
KVM架構(gòu)中涉及到3個(gè)重要組件:

Guest:客戶機(jī)系統(tǒng),運(yùn)行在虛擬的CPU(vCPU)、內(nèi)存、虛擬的IO設(shè)備(Console、網(wǎng)卡、I/O 設(shè)備驅(qū)動(dòng)等)。

KVM:運(yùn)行在Linux內(nèi)核空間,成為內(nèi)核模塊,提供CPU 和內(nèi)存的虛級(jí)化,以及客戶機(jī)的 I/O 攔截。Guest 的 I/O 被KVM 攔截后,交給 QEMU 處理。KVM驅(qū)動(dòng)給用戶空間的QEMU提供了/dev/kvm字符設(shè)備。

QEMU:修改過(guò)的為 KVM虛擬機(jī)使用的 QEMU 代碼(稱為qemu-kvm),運(yùn)行在用戶空間,除了提供硬件 I/O 設(shè)備的模擬,還通過(guò)對(duì)/dev/kvm設(shè)備執(zhí)行IOCTL來(lái)和 KVM 交互執(zhí)行創(chuàng)建虛擬機(jī)、vCPU等對(duì)guest的控制操作。

如果要把VMware Workstation與KVM進(jìn)行一個(gè)對(duì)比的話,VMdriver、VMM有點(diǎn)類似KVM內(nèi)核模塊,而VMApp有點(diǎn)類似QEMU。

QEMU提供了guest管理的功能、I/O轉(zhuǎn)換的功能。

在ARM處理器上,KVM內(nèi)核組件的運(yùn)行情況如下圖:

而ARM V8.1 VHE支持后,則可以變成:

QEMU通過(guò)ioctl發(fā)出KVM_CREATE_VM、KVM_CREATE_VCPU等這種虛擬機(jī)、vCPU的創(chuàng)建指令,讓guest投入運(yùn)行。之后QEMU執(zhí)行KVM_RUN這樣的IOCTL,如果這個(gè)IOCTL返回,意味著VMexit。qemu根據(jù)返回的情況,確定是否是guest OS發(fā)生IO的動(dòng)作,如果是,則進(jìn)行IO模擬以及執(zhí)行主機(jī)的系統(tǒng)調(diào)用來(lái)完成IO動(dòng)作,偽代碼類似:

open(“/dev/kvm”)
ioctl(KVM_CREATE_VM)
ioctl(KVM_CREATE_VCPU)

for (;;) {
exit _reason = ioctl(KVM_RUN)
switch (exit_reason) {
case KVM_EXIT_IO: /* … */
case KVM_EXIT_HLT: /* … */
}
}

Guest OS對(duì)設(shè)備寄存器的讀寫的地址、size和數(shù)據(jù)都可以傳遞給QEMU里面的設(shè)備驅(qū)動(dòng),QEMU再進(jìn)行行為級(jí)模擬即可,比如Guest OS想讀addr位置的一個(gè)寄存器:

static int xche_ioport_read(struct kvm_io_device *this, gpa_t addr, int len, void *data)
{
/根據(jù)不同的地址執(zhí)行不同的操作/
switch (addr) {
case:
break;

}
/*將數(shù)據(jù)拷貝到讀取的數(shù)據(jù)地址/
memcpy(data, (char *)&ret, len);
return 0;
}

第一次的運(yùn)行

我們把KVM以及一些相關(guān)的管理工具都安裝了:
sudo apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils virt-manager
然后跑一個(gè)最小的Linux- Tinycore。從http://tinycorelinux.net/downloads.html下載這個(gè)最小Linux,或者直接在Ubuntu中
wgethttp://tinycorelinux.net/7.x/x86/release/TinyCore-current.iso
運(yùn)行之:
qemu-system-x86_64 -smp 2 –enable-kvm –cdrom /mnt/hgfs/Downloads/TinyCore-current.iso
這樣我們會(huì)發(fā)現(xiàn)Tinycore Linux跑起來(lái)了:

在模擬的qemu窗口中按下ctrl+alt 2,運(yùn)行info kvm,發(fā)現(xiàn)KVM已經(jīng)啟動(dòng):

這個(gè)時(shí)候我們會(huì)在host OS里面看到一個(gè)qemu的進(jìn)程:

baohua@ubuntu:~$ ps -ef | grep qemu
baohua 101655 42512 14 10:34 pts/3 0005 qemu-system-x86_64 -smp 2 –enable-kvm –cdrom /mnt/hgfs/Downloads/TinyCore-current.iso

由此可見,每個(gè)虛擬機(jī)在主機(jī)里面就是一個(gè)普通的Linux進(jìn)程。

工具和易用性的解決

用qemu-system-x86_64 -smp 2 –enable-kvm –cdrom /mnt/hgfs/Downloads/TinyCore-current.iso這樣的原始命令來(lái)運(yùn)行KVM畢竟有些naive,我們需要一套強(qiáng)大的工具來(lái)方便KVM的部署。

這個(gè)時(shí)候,我們就不得不提libvirt,libvirt是一套免費(fèi)、開源的支持Linux下主流虛擬化工具的C函數(shù)庫(kù)。其旨在為包括Xen、KVM、Virtualbox、VMware等在內(nèi)的各種虛擬化工具提供一套方便、可靠的編程接口。所以libvirt可以認(rèn)為是管理工具和具體虛擬機(jī)之間的一個(gè)紐帶。

Libvirtd是一個(gè)daemon進(jìn)程,virsh、virt-manager等工具呼叫l(wèi)ibvirtd,而Libvirtd則調(diào)用qemu-kvm操作虛擬機(jī)。

前面的Tinycore Linux,我們同樣可以在virt-manager里面進(jìn)行創(chuàng)建、啟動(dòng)和停止。一路如下:

創(chuàng)建好后,啟動(dòng)Tinycore:

我們用virsh工具來(lái)觀察一下這個(gè)虛擬機(jī):

baohua@ubuntu:~$ virsh list –all
Id Name State
3 linux running

我們現(xiàn)在強(qiáng)行用”virsh destroy linux”這個(gè)命令銷毀這個(gè)虛擬機(jī):

用virsh start再次啟動(dòng)它:

少年不管,流光如箭,因循不覺韶光換。至如今,始惜月滿、花滿、酒滿。扁舟欲解垂楊岸,尚同歡宴。日斜歌闋將分散。倚蘭橈,望水遠(yuǎn)、天遠(yuǎn)、人遠(yuǎn)。

想念那個(gè)《仙劍奇?zhèn)b傳98柔情》的時(shí)代,虛擬化啟蒙的年代。

原文標(biāo)題:KVM最初的2小時(shí)——KVM從入門到放棄

文章出處:【微信公眾號(hào):Linuxer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • VMware
    +關(guān)注

    關(guān)注

    1

    文章

    301

    瀏覽量

    23135
  • KVM
    KVM
    +關(guān)注

    關(guān)注

    0

    文章

    206

    瀏覽量

    13672

原文標(biāo)題:KVM最初的2小時(shí)——KVM從入門到放棄

文章出處:【微信號(hào):LinuxDev,微信公眾號(hào):Linux閱碼場(chǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    國(guó)產(chǎn)AI芯片:走一條而正確的路

    ”在哪里?芯片的“三重門”第一重門:技術(shù)縱深之難AI芯片設(shè)計(jì)不是畫一張圖紙那么簡(jiǎn)單。從架構(gòu)定義到RTL實(shí)現(xiàn),從物理設(shè)計(jì)到流片驗(yàn)證,任何一個(gè)環(huán)節(jié)的微小偏差都可能導(dǎo)致整顆芯片“推倒重來(lái)”。每一顆芯片
    的頭像 發(fā)表于 12-23 16:30 ?598次閱讀
    國(guó)產(chǎn)AI芯片:走一條<b class='flag-5'>難</b>而正確的路

    剖析AI對(duì)分布式KVM系統(tǒng)的革新意義

    在數(shù)字化浪潮席卷全球的當(dāng)下,分布式KVM坐席管理系統(tǒng)作為指揮中心、監(jiān)控中心、數(shù)據(jù)中心等關(guān)鍵場(chǎng)景的核心基礎(chǔ)設(shè)施,正經(jīng)歷著從"功能實(shí)現(xiàn)"到"智能決策"的范式躍遷
    的頭像 發(fā)表于 11-11 11:28 ?934次閱讀

    開源不是削弱競(jìng)爭(zhēng)力,而是新護(hù)城河的開始

    。 越來(lái)越多的企業(yè)在開源的浪潮中找到了機(jī)會(huì),也有人提出疑問(wèn): 既然代碼都開源了,護(hù)城河還從哪里來(lái)?開源軟件還有壁壘可言嗎? 事實(shí)上,開源并不是沒(méi)有護(hù)城河,它只是 把護(hù)城河從“技術(shù)代碼”轉(zhuǎn)移到了“綜合能力” 。 一、開源不是免費(fèi)的午餐,而是能力的競(jìng)技場(chǎng) 開源降低了創(chuàng)新門檻,
    的頭像 發(fā)表于 11-06 14:26 ?411次閱讀

    KVM虛擬化環(huán)境部署與性能優(yōu)化教程

    在云計(jì)算時(shí)代,虛擬化技術(shù)已經(jīng)成為企業(yè)IT基礎(chǔ)設(shè)施的核心組件。作為一名在生產(chǎn)環(huán)境管理過(guò)上千臺(tái)虛擬機(jī)的運(yùn)維工程師,我深知選擇正確的虛擬化平臺(tái)對(duì)業(yè)務(wù)的重要性。今天,我將分享我在KVM虛擬化領(lǐng)域的實(shí)戰(zhàn)經(jīng)驗(yàn),幫助你構(gòu)建一個(gè)高性能、高可用的虛擬化環(huán)境。
    的頭像 發(fā)表于 09-08 17:13 ?1542次閱讀

    極細(xì)同軸線束在高速傳輸應(yīng)用如何控制和降低信號(hào)衰減?

    極細(xì)同軸線束在高速傳輸確實(shí)存在信號(hào)衰減問(wèn)題,但這并不是決定性限制因素。只要在材料選擇、阻抗控制和結(jié)構(gòu)設(shè)計(jì)上合理規(guī)劃,完全可以滿足高帶寬應(yīng)用對(duì)穩(wěn)定性的要求。
    的頭像 發(fā)表于 09-07 14:51 ?1160次閱讀
    極細(xì)同軸線束在高速傳輸應(yīng)用<b class='flag-5'>中</b>如何控制和降低信號(hào)衰減?

    浮思特 | 不僅能測(cè)溫!紅外熱成像還有這些隱藏技能

    物體發(fā)出的紅外輻射(熱量)轉(zhuǎn)換為可見的圖像。換句話說(shuō),它并不是看“光”,而是看“溫度”。圖片來(lái)源:MERIDIANInnovation所以無(wú)論是黑夜、濃霧還是煙霧,
    的頭像 發(fā)表于 08-15 09:45 ?1173次閱讀
    浮思特 | 不僅能測(cè)溫!紅外熱成像還有這些隱藏技能

    城市熱島、森林火情監(jiān)測(cè),高光譜相機(jī)能做的遠(yuǎn)超想象

    在談?wù)摥h(huán)境監(jiān)測(cè)、氣候變化乃至生態(tài)安全時(shí),“高光譜成像”這個(gè)詞越來(lái)越頻繁地出現(xiàn)在公眾視野。但很多人可能并不了解,高光譜相機(jī)并不是傳統(tǒng)意義上的攝像設(shè)備,它背后的科學(xué)原理和實(shí)際應(yīng)用,正在重塑我們對(duì)地
    的頭像 發(fā)表于 07-28 15:31 ?487次閱讀

    電子產(chǎn)品都要做ROHS測(cè)試嗎?

    并不是所有電子產(chǎn)品都強(qiáng)制要做 RoHS 測(cè)試,但在多數(shù)情況下,如果你的電子產(chǎn)品是要在歐盟或其他實(shí)施 RoHS 法規(guī)的市場(chǎng)銷售,那么你必須符合 RoHS 要求,通常也需要通過(guò)?RoHS?測(cè)試。
    的頭像 發(fā)表于 07-25 16:19 ?1280次閱讀
    電子產(chǎn)品都要做ROHS測(cè)試嗎?

    什么是無(wú)功功率,為何直流系統(tǒng)不存在無(wú)功功率?

    無(wú)功功率并不是“無(wú)用”的功率,它只是功率的另一種表現(xiàn)形式罷了。
    的頭像 發(fā)表于 07-23 16:43 ?5219次閱讀
    什么是無(wú)功功率,為何直流系統(tǒng)<b class='flag-5'>中</b>不存在無(wú)功功率?

    只是加減速和轉(zhuǎn)彎,為啥自動(dòng)駕駛這么實(shí)現(xiàn)?

    并不是那么容易?自動(dòng)駕駛汽車為何發(fā)展這么多年,還是沒(méi)有實(shí)現(xiàn)L5?今天智駕最前沿就來(lái)和大家聊聊這個(gè)話題。 車輛的運(yùn)行軌跡看似簡(jiǎn)單,但并不是簡(jiǎn)單地“往前跑”或“停下來(lái)”那么簡(jiǎn)單。任何一次加
    的頭像 發(fā)表于 06-27 12:20 ?631次閱讀
    只是加減速和轉(zhuǎn)彎,為啥自動(dòng)駕駛這么<b class='flag-5'>難</b>實(shí)現(xiàn)?

    華秋DFM支持KiCad PCB了

    的工具除了 KiCad、FreeCad、VS Code 之外,還有華秋DFM(不是廣告)。但就我而言,使用華秋 DFM 最多的場(chǎng)景并不是 DFM 檢查,而是用來(lái)看圖或者下下訂單,DFM 功能反而是順便
    的頭像 發(fā)表于 05-23 11:16 ?2321次閱讀
    華秋DFM支持KiCad PCB了

    有關(guān)于KVM延長(zhǎng)器

    的延長(zhǎng)音頻信號(hào)的,有單純延長(zhǎng)視頻信號(hào)的,有單純延長(zhǎng)USB信號(hào)的,還有音頻和視頻同步延長(zhǎng)的等別 我們這一款TXK-D1高清HDMI&amp;DVI 無(wú)壓縮網(wǎng)線HDbaseT KVM延長(zhǎng)器由
    發(fā)表于 05-14 16:45

    rootfs鏡像制作其實(shí)沒(méi)那么

    在嵌入式Linux開發(fā),文件系統(tǒng)的打包和鏡像制作是關(guān)鍵步驟。本文介紹了Linux核心板文件系統(tǒng)的打包與鏡像制作方法,適合嵌入式開發(fā)人員快速上手。前言致遠(yuǎn)電子Linux核心板提供的系統(tǒng)固件里,除了
    的頭像 發(fā)表于 04-03 11:37 ?1104次閱讀
    rootfs鏡像制作其實(shí)沒(méi)<b class='flag-5'>那么</b><b class='flag-5'>難</b>

    深蕾半導(dǎo)體IP-KVM產(chǎn)品方案解析

    隨著信息技術(shù)的蓬勃發(fā)展,遠(yuǎn)程訪問(wèn)與控制技術(shù)逐漸成為各行各業(yè)不可或缺的一部分。深蕾半導(dǎo)體, 憑借其在芯片設(shè)計(jì)領(lǐng)域的深厚積累,推出了創(chuàng)新的IP-KVM產(chǎn)品方案,旨在為用戶提供高效、 安全的遠(yuǎn)程訪問(wèn)與控制解決方案。以下是對(duì)該方案的詳細(xì)解析。
    的頭像 發(fā)表于 03-19 17:50 ?1178次閱讀
    深蕾半導(dǎo)體IP-<b class='flag-5'>KVM</b>產(chǎn)品方案解析

    PCB Layout的三種走線策略

    的EMI。也許目前的儀器性能,測(cè)試水平制約了測(cè)試的精確性,但至少說(shuō)明了一個(gè)問(wèn)題,直角走線的輻射已經(jīng)小于儀器本身的測(cè)量誤差??偟恼f(shuō)來(lái),直角走線并不是想象那么可怕。至少在GHz以下的應(yīng)
    發(fā)表于 03-13 11:35