搜档网
当前位置:搜档网 › Xen:Linux 虚拟机器软体

Xen:Linux 虚拟机器软体

Xen:Linux 虚拟机器软体
Xen:Linux 虚拟机器软体

Xen:Linux 虛擬機器軟體

作者:徐秉義(Albert Hsu)

本文主要介紹Xen:一種使用在Linux/Unix 系統下「虛擬機器(Virtual Machine)軟體」。

虛擬機器(Virtual Machine):將實體機器作虛擬化的動作,藉由軟體的模擬,使得一台實體機器能夠運行起來像是好多台電腦一樣,而「虛擬出來的機器」對於一般使用者來說,除非特別去調查,與「一般其他的實體機器」並不會感受到太大的差別。

底下列出一般常見的虛擬機器與其用途,提供參考:

Xen 架構

了解虛擬機器概念後,接著來談到我們的主角:『Xen』

現階段主要運行於Linux/Unix 系統的Xen 虛擬機器,是一個注重效能的平行虛擬化(Paravirtualization)系統,雖然說Xen 能夠運行在許多Unix/Linux 系統,但因為考量介紹Xen 系統的方便性,以下主要以當紅的Linux 作業系統來探討Xen。

要使得Linux 支援Xen 必須從Linux Kernel 來做改造,也就是要重新編譯

Linux Kernel,重新編譯Linux Kernel 聽起來似乎不是一件簡單的事情,所幸許多Linux Distribution 已經將支援Xen 的Linux Kernel 編譯好囉,所以我們只要直接使用Xen 的Kernel 來開機即可,另外要特別聲明Xen Kernel 有兩種『Xen0』(Domain-0)與『XenU』(Guest 系統)。

Xen0

要跑Xen 的實體電腦需先跑Xen0 的Kernel 以後,再以Xen0 為基礎來執行多個XenU Guest 系統於Xen0 系統上,簡單說Xen0 是全部XenU 的母系統。

Note:意思是若Xen0 故障損壞,會影響到所有的XenU Guest 系統。

XenU

您可以同時運行『多個』XenU Guest 系統在一個Xen0 的實體電腦上,且各個XenU 系統是獨立並且不互相影響,意思是若其中一個XenU 故障損壞亦不會影響到其他Xen 系統。

Xen 優點

相對其他的虛擬機器軟體來說,Xen 最大優勢在於『高效能』(High Performance),因為Xen 採用Paravirtualization 而不是使用模擬(Emulation)、全系統模擬(full system simulation)方式,所以能夠使得Xen 系統效能優於其他虛擬機器軟體。

Tips:全系統模擬以VMware 為例,是模擬x86 PC,可以從BIOS 開機重新安裝作業系統,缺點是「效能」上就比不上Xen 使用Paravirtualization 方式,優點是可以隨性安裝Windows、Linux 或FreeBSD 這一類x86 的作業系統。

安全(Security)

XenU Guest 系統之間除了正常管道外(例如:ssh、vnc 或NFS 這些網路服務等等),是無法互相影響彼此安全性,若是Xen0 有著多張網路介面卡,Xen 系統甚至能夠使得XenU 使用獨立網路卡(限制XenU 無法使用所有的網路卡),而且某個XenU 若是故障損壞了,也不會使得其他的XenU 或Xen0 故障。

Note:注重系統安全是虛擬機器基本功能之一。

Xen 缺點

說到Xen 缺點應該算以『不能執行Windows 作業系統』這個問題最大,原因還是在於講求效能的Xen 採用Paravirtualization 虛擬技術必須更改Windows

Kernel 才能執行Windows Guest 系統,當然Windows 並沒有提供我們來更改。

不過另外有個好消息,由CPU 大廠Intel 提供VT 技術(Virtualization

Technology),使得虛擬機器軟體(例如Xen、VMware)透過「全虛擬」動作來運行許多不同的x86 作業系統,使得Xen 藉由Intel VT 作『全虛擬』在不修改Windows 核心下,也能跑Windows Guest 系統。

使用Intel VT 技術的另一個重點是:以往在沒有Intel VT 技術時,全虛擬Guest 系統效能低落,藉由Intel VT 技術,可使Guest 系統存取硬體效能更加快速與直接,大大增進Guest 系統效能與可用度。

Note:與Intel 同為CPU 大廠之一AMD 也推出類似的技術名稱為『Pacifica』。Xen 與同性質軟體比較

與『Xen』類似的虛擬機器軟體較知名有「VMware」、「微軟Virtual PC 與Virtual Server」與「Parallels Workstation」

Xen 採用Paravirtualization 方式,主要是她主推效能至上,也就是以效能見長。

而其他採用全虛擬方式(例如VMware、Parallels Workstation)虛擬機器,主要是可以執行任何x86 作業系統,所以是以相容性見長。而微軟Virtual PC 官方網站說明只支援Windows 系列Guest 系統,故比較封閉。

Note:全部x86 的虛擬機器系統,皆期待CPU 廠商「Intel VT」與「AMD Pacifica」技術來提昇虛擬出來的Guest 系統效能,屆時虛擬機器軟體會支援以上兩項技術,應該會大大提高虛擬機器技術的實用性。

Xen 系統實戰演練

硬體準備及基本需求

一台個人電腦,搭配最少需『超過』512 MB 記憶體(256 MB 給Domain-0 的Xen0 使用、256 MB 給test 的XenU 使用),特別注意因為Linux Kernel 啟動時會使用部份記憶體,導致若剛好512 MB 記憶體會無法安裝XenU Guest 系統(記憶體不足256 MB)建議記憶體768 MB 以上。

磁碟空間建議使用20GB 以上硬碟。測試期間最大磁碟用量為:「2 個Fedora core

5 完整安裝」+「Fedora Core 5 安裝來源檔案」(2 x 9G + 3G = 21G 左右)

「Fedora Core 5 安裝來源檔案」是使用於網路安裝XenU Guest 系統。

Note:當您使用Xen Kernel 時,每個Fedora Core 5 最少需要256 MB 記憶體才能夠正常啟動,此與Fedora Core 5 預設最低需求128 MB 不同。

Tips:避免使用完整安裝,以減少安裝時所花費的測試時間。

下表為筆者此次測使所使用硬體規格表:(可以同時啟動一個Xen0 與兩個XenU)

Note:筆者測試環境有DHCP 伺服器能夠提供Xen0 與XenU 的IP 設定,若是讀者測試環境沒有DHCP 伺服器也沒有關係,只要將Xen0 與XenU 的IP 設定成同網段(NetID)能夠互相連線即可,例Xen0 192.168.2.2/24、XenU 192.168.2.3/24(24 的意思是255.255.255.0)。

Tips:另外筆者測試環境還有DNS 伺服器能夠提供Xen0 與XenU 的主機名稱解析,若是讀者測試環境沒有DNS 伺服器也沒有關係,只要將底下範本使用主機名稱的部份,將之改成IP 即可,以下筆者此次主機名稱與IP 的資訊。

軟體準備

Fedora Core 5 安裝光碟共五片,DVD 版本也可以。

操作開始-建置Xen0

第一步:以標準步驟安裝Fedora Core 5

使用光碟開機後開始安裝Fedora Core 5,大多使用預設值按下『下一步』,在軟體選擇方面可省略「Office and Productivity」(辦公與出版)軟體,以此方式安裝好Fedora Core 5 大約使用2GB 左右磁碟空間。

Note:安裝期間語系選擇「中文」或「英文」並不會影響到Xen 測試。

Tips:安裝時期關於『Firewall』、『SELinux』設定皆使用預設值即可,需注意有些早期版本Xen 必須關閉SELinux 才能運作(例如Fedora Core 4)若使用Fedora Core 5 則不需要關閉SELinux,防火牆的部份可以在有需要關閉時才關閉即可。

第二步:安裝Xen 相關軟體

Xen 相關軟體有三個,列表如下:

以上雖然列出三個與Xen 相關的套件,事實上若作為Xen0 系統只需安裝xen

與kernel-xen0 套件,操作如下:

在Xen0 主機(筆者的為r7-101.ol 主機)使用指令「rpm -ivh xen-3.0.1-4.i386.rpm bridge-utils-1.0.6-1.2.i386.rpm sysfsutils-1.3.0-1.2.1.i386.rpm」來安裝xen 套件。

Note:xen 套件相依bridge-utils 與sysfsutils 套件,請一併安裝。

接下來使用指令「rpm -ivh kernel-xen0-2.6.15-1.2054_FC5.i686.rpm」來安裝

kernel-xen0 套件。

Tips:Fedora Core 5 套件都放在光碟片Fedora/RPMS 目錄中。

Note:作為XenU 系統只需安裝kernel-xenU 稍待會在XenU 建置過程中自動安裝。

第三步:使用Xen0 核心開機

重開機於GRUB 選單下,於秒數尚未讀完前,按方向鍵『上下鍵』,會發現多一

個選擇,即『Xen0 核心開機』選項。接下來選擇『Xen0』核心開機。

特別注意:筆者嘗試三台電腦,有兩台電腦使用Xen0 核心開機都會卡在「Checking for hardware changes」(檢查硬體變更)猜測是此版Xen0 臭蟲,或許更新到新版Xen0 可解決這個問題。筆者的解決方法是先換回原本預設核心開機後,輸入指令「chkconfig kudzu off」關閉開機硬體檢查的動作後,再度重新開機使用Xen0 核心即可。

Note:「Checking for hardware changes」動作是由『kudzu』這個服務啟動。

第四步:設定開機預設使用Xen0 核心(建議)

已經使用Xen0 核心正常開機成功後,建議您將開機預設值改成使用『Xen0 核心』。使用指令「vim /boot/grub/menu.lst」修改GRUB 設定檔案,將「default=1」改成「default=0」。

Tips:GRUB 設定檔menu.lst 的default 參數若是0 代表第一個title(Xen0 核心)、若是 1 代表第二個title(Fedora Core 5 預設核心)。

進階學習:您可使用指令「uname -a」來確認正在使用的核心版本號碼。

準備XenU 之網路安裝伺服器

Fedora Core 5 安裝XenU Guest 系統已支援從anaconda 安裝(「anaconda」是RedHat、Fedora 預設使用的圖形安裝程式),接下來使用網路安裝(透過NFS、HTTP、FTP)我們會先將安裝來源(也就是光碟片內容)放在Xen0 主機,透過網路來安裝XenU Guest 系統,以下為準備網路安裝伺服器步驟。

Note:網路安裝一般使用NFS、HTTP、FTP 通訊方式來傳輸,以下步驟以NFS 為例。

第一步:將安裝光碟內容拷貝至主機硬碟

筆者的作法是將光碟內容放至Xen0 主機硬碟「/FC5src」目錄下

使用指令「mount /dev/cdrom /mnt」掛載光碟片至/mnt 目錄下

使用指令「mkdir /FC5src」製作目錄

使用指令「cp -r /mnt/* /FC5src」將資料拷貝過去

使用指令「eject」將光碟退出

Note:使用一般CD 當安裝來源需將一至五片皆拷貝到硬碟,若是使用DVD 則一片即可。

進階學習:若我們使用一般CD 當安裝片(非DVD 片)時,主要是把第二、三、四、五光碟內Fedora/RPMS 目錄下的套件都整合到硬碟內同一個Fedora/RPMS 目錄下。

Tips:CD 裝置代號可能不同,請正確輸入裝置代號名稱(例/dev/cdrom)。

第二步:修改NFS 設定檔/etc/exports,啟動NFS 服務,關閉防火牆

修改「/etc/exports」加入一行「/FC5src」

使用指令「/etc/init.d/nfs start」來啟動NFS 服務。

使用指令「/etc/init.d/iptables stop」來關閉防火牆服務。

Note:上例NFS 設定是將/FC5src 目錄分享給所有主機皆唯讀。

Tips:此刻關閉防火牆是因為接下來安裝XenU 時NFS 服務會被防火牆所阻擋住。

進階學習:若是要開啟NFS 服務且仍需使用防火牆的話,需將NFS Daemon 所使用port 號固定後,再調整防火牆相關設定即可。

開始安裝XenU

在Fedora Core 5 安裝XenU Guest 系統採「直覺化」設計,幾乎可以Step By Step 完成安裝,並且不像以前(例Fedora Core 4)需要透過Internet 來安裝,Fedora Core 5 只需要自行準備安裝伺服器即可(也就是先前步驟所建立之安裝伺服器)。

第一步:使用指令「xenguest-install.py」開始安裝XenU Guest 系統

問題一What is the name of your virtual machine?(您的虛擬機器名稱)

回答一test

Note:此時回答「test」會成為設定檔檔名,之後使用虛擬機器相關命令亦是會用到這個名稱。

問題二How much RAM should be allocated (in megabytes)?(此虛擬機器使用多

少記憶體,使用MB 作單位)

回答二256

問題三What would you like to use as the disk (path)?(虛擬機器所使用磁碟位於

那裡)

回答三/root/test.iso

Note:檔案名稱不一定要使用『.iso』結尾,檔案擺放在那裡請自行記住。

問題四How large would you like the disk to be (in gigabytes)?(虛擬機器磁碟大

小,以GB 為單位)

回答四9

Note:以上兩個動作會在/root/test.iso 產生一個9 GB 的檔案,然後成為XenU 之/dev/xvda 磁碟裝置

問題五What is the install location?(安裝來源位於那裡)

回答五nfs:172.16.7.101:/FC5src

Note:172.16.7.101 是Xen0 主機IP 位址,也就是安裝伺服器IP 位址。

進階學習:除了NFS 提供安裝時所需資料來源,還可以使用HTTP 與FTP 方式(但仍需準備好安裝伺服器),NFS、HTTP 與FTP 輸入格式列表如下

第二步:選單模式基礎設定

此時test 已經由XenU Kernel 開機

選擇「English」或「Chinese(Traditional)」語系(Language)

選擇「us」(美式)鍵盤

設定好IP 位址(筆者使用DHCP 來設定網路,讀者請依照您測試環境來作調整)

選擇「Start VNC」啟用vnc 安裝模式,接著選擇「No password」

會看到如下一段文字:

The VNC server is now running.

Please connect to 「IP 或是主機名稱」:1 to begin the install...

Starting graphical installation...

Note:上述文字中第二行「IP 或是主機名稱」:1 請先記下來,待會使用vncviewer 時會用到。

Tips:以上設定方式通稱「menu」(選單)模式,此時無法使用滑鼠來點選按鈕,請善用「Tab 鍵」、「空白鍵」與「Enter 鍵」來控制與設定。

第三步:使用vncviewer 來執行anaconda 程式

在Xen0 主機圖形介面下,使用指令「vncviewer 172.16.5.148:1」來繼續

anaconda 程式。

之後安裝方式大致上與一般Fedora Core 5 無異,只是會遇到切割「xvda」磁碟

時,需回答『Yes』(是)才能繼續安裝。

Note:若是讀者發現沒有vncviewer 指令,大概是vnc Client 工具還沒安裝到系統,使用指令「rpm -ivh vnc-4.1.1-36.i386.rpm」,將vnc 套件裝起來即可使用vncviewer 指令。

安裝完Xen0、XenU 系統之操控

在安裝完成XenU 後,接下來需要學會一些基本控制,一般來說是在Xen0 主機使用xm 相關指令來操控。

xm 工具使用介紹

使用指令「xm help」來觀看xm 有那些參數

使用指令「xm list」列出正在執行的Xen0 與XenU

使用指令「xm console test」連接到test 的XenU 終端機

使用指令「xm shutdown test」使test 的XenU 關機

使用指令「xm create -c test」使test 的XenU 開機

(-c 順便連接到test 的console)

使用指令「xm mem-set 4 266」來調整test 的XenU 記憶體設定成266 MB

使用指令「xm top」來觀察Xen0 與XenU 程序管理

Note:以上用於指令中的test 皆可使用Xen Domain ID(圖示中的test XenU 之ID 先前為 3 之後4)

使用ssh 「X11 forwarding」來使用XenU 圖形介面

若只是使用xm 工具則只能使用Command 模式來使用XenU Guest 系統,若要使用圖形模式來使用XenU Guest 系統的話,可以應用X11 forwarding 功能,這種方法比較適合用於Linux/Unix 這些使用X Window 的作業系統操控,使用「ssh -X user@hostname」來連結到XenU Guest 系統,之後就可以執行圖形程式顯示到您的圖形介面上。

Note:這X11 forwarding 需要ssh Daemon 與ssh Client 皆同意才可以運行。

進階學習:這是X Window 系統與ssh 程式結合運用的方法,X Window 相關程式還有xauth、相關檔案為~/.Xauthority。

Tips:eog 是GNOME 程式「Eye of GNOME」。

使用vnc 來使用XenU 圖形介面

方才使用「X11 forwarding」方式較適合用於Linux/Unix 的X Window 系統,若

是使用Windows 系統,使用vnc 方式來連線居多。

vnc 採用Client/Server 架構,所以兩台主機分別要安裝vnc Server 與vnc

Viewer 程式,若要啟動XenU Guest 系統上的vnc Server,請先在XenU Guest

系統執行vncpasswd 設定好vnc 通行密碼後(六碼以上),再使用指令「vncserver」來啟動vnc Server。

至於vnc Client 端這邊,使用指令「vncviewer ServerIP或主機名稱:1」連線上去

並輸入vnc 通行密碼來連線到XenU Guest 系統。

vncserver 與vncviewer 皆可跑在Linux、Windows、MAC OS X 與FreeBSD 這

些常見作業系統。

Tips:XenU Guest 系統上的Firewall 預設會擋到vncserver 連線,可使用

「/etc/init.d/iptables stop」來停止Firewall,若是對防火牆設定較熟悉,您也可以設定防火牆特別允許vncserver 連線。

進階學習:預設啟動的Window Manager 為「twm」,一般人不大容易習慣此Window Manager 的操作方式,若要修改預設啟動的Window Manager 請開啟vnc Server 主機上的~/.vnc/xstartup 檔案,找到twm 修改成您喜好的桌面環境,記得使用指令「vncserver -kill :1」來停止vnc Server 後,再使用指令「vncserver」重新啟動vnc Server。

Note:Fedora Core 5 預設值沒有安裝KDE,需要請自行安裝(或加裝)。

Note:在vnc Server 看到「:1」的意思是vnc Server 聆聽(LISTEN)連接埠5801 提供vnc Client 使用vncviewer 存取,同時間也聆聽連接埠5901 提供客戶端使用瀏覽器存取(瀏覽器必須搭配使用JAVA 虛擬機器),若再啟動一個vncserver 就會變成「:2」,使用5802 與5902 連接埠依此類推。

Note:vnc 應用相關說明請見官方網站「https://www.sodocs.net/doc/0b16844460.html,/」,Windows 的vnc 程式也是在此下載。

進階議題

其他支援Xen 的Linux Distribution

除了Fedora Core 5 之外,許多Distribution 都支援Xen 系統,只是Fedora Core 5 使用anaconda 安裝XenU 更加直覺化架設Xen 系統,其他像是Unbuntu、Novell SuSE、Gentoo 與Debian 也都支援Xen 系統架設。

多重開機變成同時開機

以往在同一台電腦安裝兩個以上的Linux 都只能同時間運作一個,藉由Xen 技術,我們能夠同時運作兩個以上的Linux 於同一台實體電腦,若是硬體規格較高還可以一台電腦當做好幾台用,商用上可以節省不少硬體費用。

也可以使用單獨device 來當XenU 磁碟

之前我們使用單一檔案/root/test.iso 來當作XenU 的硬碟,若是讀者有多顆硬碟,也可以使用單獨的磁碟(或磁區)來當作XenU 的硬碟,只要在當初建置時的問題三回答方式不一樣即可,例如:

問題三What would you like to use as the disk (path)?(虛擬機器所使用磁碟位於那裡)

回答三/dev/sdb

這樣/dev/sdb 裝置就成為XenU 所使用的磁碟了。

Note:此法要很小心使用,否則會造成資料遺失喔(位於/dev/sdb 的資料會遺失)。

XenU 設定檔案介紹

XenU 設定檔預設放在/etc/xen/ 目錄下,通常使用Domain 名稱來當作檔名,例如我們之前使用xenguest-install.py 建立test 的XenU Guest 系統,所以test 的設定檔就是/etc/xen/test ,內容簡介如下:

進階學習:使用指令「man xmdomain.cfg」參考說明。除了使用「xenguest-install.py」指令來建立XenU Guest 系統外,另外您也可以自行編寫設定檔案來啟用XenU Guest 系統或是自行使用指令模式來安裝XenU Guest 系統。

Tips:py 是程式語言「python」縮寫,先前「xenguest-install.py」scripts 程式也是使用python 所撰寫。xvda 是Xen Virtual Disk A 意思,以別於我們一般hda 或sda 磁碟。

設定開機自動啟動XenU Guest 系統

若是您將設定檔案放到『/etc/xen/auto』目錄下,這樣子就可以使用指令

「/etc/init.d/xendomains start」來啟動位於/etc/xen/auto 目錄下的XenU Guest 系統。若再配合指令「chkconfig xendomains on」就可以使得位於/etc/xen/auto 目錄下的XenU Guest 系統於開機時自動啟動。

Note:xendomains 這個服務於Fedora Core 5 在安裝xen 套件時就設定成開機自動啟動。

混用不同版本的Xen0 與XenU

在先前的測試中,我們使用同一版本Xen0 Kernel 與XenU Kernel 能夠運作Xen 系統,至於是否能夠使用不同版本的Xen0 與XenU 呢?筆者的測試結果是失敗了,這只是筆者簡單的測試,至於真實可行性還未知。

筆者簡述測試過程如下:使用FC5 Xen0 Kernel 配合FC4 XenU Kernel 開機失敗,但使用FC5 Xen0 Kernel 配合FC5 XenU Kernel 卻使用Fedora Core 4 應用程式(也就是Fedora Core 4 安裝好只是將Kernel 換成FC5 XenU)能夠啟動,所以猜測Xen 主要與Kernel 較息息相關。圖為同時啟動兩個XenU 一個是

Fedora Core 5 應用程式、一個是Fedora Core 4 應用程式的情形。

Xen 應用範疇

Xen 又是一個從大型系統技術轉戰到Linux 的一個案例,以往只能在大型主機見到的虛擬機器系統,拜硬體技術日新月異所賜,使得x86 PC 也有機會實際成為商用虛擬機器系統,說到商業用途,以下列舉一些可以將虛擬機器技術實際應用的案例。

多平台測試機:

許多軟體開發公司及人員,經常會需要許多不同作業系統或不同軟體版本,來測試他們開發的軟體,此時很有可能使用「多重開機」的作業方式來完成,像是切換到不同的Windows 例如Windows 2000、Windows XP 或Windows 2003,若是切換不同Linux Distribution 版本更是多到不勝枚舉,以前需要切換的多重開機系統,透過虛擬機器技術,搖身一變成「同時開機」系統,可簡化測試流程與時間。

伺服器應用:

有些時候因為應用程式需求,而必須使用不同作業系統,此時若單一系統上的應用程式必須執行但是卻不需要大量系統資源時,使用虛擬機器來運行此應用程式不僅可以省下一台電腦硬體費用,還可以節省伺服主機擺放空間,亦可節省電費,尤其當伺服主機是放在寸土寸金的都市精華地帶或ISP 業者Co-Location 時,節省出來的經濟效益會是相當可觀。

快速的備份與還原作業系統:

重新安裝一個Guest 系統(或是一般的作業系統)其實是蠻浪費時間的,藉由虛擬機器技術,我們可以很快速的備份Guest 系統,只要在離線(Guest 系統關機)時備份所使用的磁碟檔案(例如test.iso)即可,不論是依照既有Guest 系統快速

複製另一個Guest 系統,或是還原之前備份的Guest 系統,都會比重灌快多了,這樣一來就不會常常花時間在重灌作業系統上。

Xen与虚拟化技术

目录 2010-6-21 1.虚拟化发展历史 (2) 1.1硬件虚拟化 (2) 1.2处理器虚拟化 (2) 1.3指令集虚拟化 (2) 2.虚拟化技术的类型 (3) 2.1硬件仿真 (3) 2.2完全虚拟化 (3) 2.3超虚拟化 (3) 2.4操作系统级的虚拟化 (4) 2.5内核虚拟机(Linux KVM) (4) 3.与Linux相关的虚拟化项目 (5) 4.Xen (6) 4.1Xen的体系架构 (6) 4.2Xen Hypervisor,操作系统,应用程序 (8) 4.3Xen的半虚拟化和全虚拟化 (9) 4.4Xen的网络架构 (11) 4.4.1Xen支持三种网络工作模式 (11) 4.4.2Xen Domain U Guests发送数据包处理流程 (12) 4.4.3xen中虚拟网卡与物理网卡之间的关系 (12) 5.Xen的配置和管理 (13) 5.1Xen相关配置文件 (13) 5.2/etc/xen/下的配置文件 (14)

1.虚拟化发展历史 1.1硬件虚拟化 IBM早在20世纪60年代开发System/360?Model67大型机时就开始使用该技术。Model67通过VMM(Virtual Machine Monitor)对所有的硬件接口都进行了虚拟化。在早期计算机中,操作系统被称为supervisor。能够在其他操作系统上运行的操作系统被称为hypervisor(这个术语是在20世纪70年代出现的)。 VMM可以直接在底层硬件上运行,允许运行多个虚拟机(VM)。每个VM都可以运行一个自己私有操作系统的实例——称为CMS(Conversational Monitor System) 1.2处理器虚拟化 虚拟化早期的另外一种用法是P-code(或伪码)机。P-code是一种机器语言,运行于虚拟机而不是实际硬件。它将Pascal程序编译成P-code,然后在一个P-code虚拟机上运行。这就使P-code程序具有了高度的可移植性,而且,只要有可用的P-code虚拟机,P-code 程序就可以运行。Java语言的虚拟机沿用了这种P-code模型。 1.3指令集虚拟化 虚拟化最新的发展称为指令集虚拟化,或者二进制转换。在这种模型中,虚拟指令集被转换成底层硬件的物理指令集,这个过程通常都是动态的。当代码执行时,就会对代码的某个段进行转换。如果出现分支情况,就会导入新代码集并进行转换。这使它与缓存操作非常类似,后者是将指令块从内存移动到本地快速缓存中执行。

虚拟机Xen网络配置及原理

虚拟机Xen网络配置 虚拟化是目前一门炙手可热的技术,它给我们带来的好处在各个层次都有体现,作为一个网络管理者来说,搭建和维护服务器更是我们职责所在!目前的服务器配置可以说是相当高了,单核cpu的时代也已经渐渐离我们远去,在我们使用多核cpu以及大内存服务器的的同时,我们是否想过这些服务器的性能是否完全都使用上了?举个例子来说,假设公司有一台IBM System x3650,它配备Xeon 5450cpu(四核心),二级缓存高达12M,最大支持48gb内存,在这样一台如此强劲的服务器上如果只跑一两个应用的话是否浪费了很多的性能呢? 当然,你完全可以把企业中很多的应用都跑在这一台服务器上,这样做虽然是可以的,但是大家都知道,在单个OS上跑的应用越多,出问题的系数也就越高,往往会因为其中某一个应用的问题而导致整个OS崩溃,再或者某个应用支持的系统平台不同,我们需要多个OS来支持,如此以来是否又要购买服务器来达到我们的需求?如果在虚拟化技术没出现之前,我们只能购买更多的服务器来支持更多的应用,无论在维护还是资金上都是一笔不小的投入,不过此刻的我们非常幸运,在这个虚拟化技术流行的时代,那些曾经不可能实现的问题已经不再是问题了,在此我也非常感谢那些在虚拟化技术上投入心血的人们.我们现在完全可以实现在一台物理机上同时跑多个OS! 很多管理员都用过VMware Workstation或者vpc,我们把它们称作虚拟机软件,我们可以在其上安装和物理机不同的OS,在我们需要测试某些程序或者搭建一些环境的时候经常使用到他们,在虚拟机上跑的OS即便是崩溃了也不会影响我们物理机上的任何应用,那我们是否把他们应用在服务器虚拟化层面呢?在这里我不建议这么去做,因为以上提到的两款虚拟机软件只不过是在物理机OS上运行的一个软件而已,此软件运行后会模拟一台真实计算机的环境,只不过是模拟罢了,模拟出来的东西要和物理机上的内核打交道是要经过很多道关卡的,在通过一层一层二进制转换后才能把I/O操作传送到内核中,从而我们会感觉到它们性能是不怎么强的,而服务器在性能上的要求是非常高. 简单介绍一下,在目前的服务器虚拟化方面使用较多的有Xen,hyper-v,VMware esX server等,hyper-v集成在windows server 2k8 64位版中,必须购买windows 2k8以后才可以使用.VMware esX server是一款相当成熟的虚拟机管理器,也是需要购买后才可使用,而Xen则是开源软件,可以直接下载后在linux上编译即可使用,并且最新的Xen3已经支持硬件虚拟化,可以在不修改内核源码的情况下虚拟OS,当然还有其他更多的可以在google上找

虚拟机器人仿真软件使用使用说明

热博机器人3D仿真系统 用 户 手 册

杭州热博科技有限公司 1.软件介绍 RB-3DRSS是热博科技有限公司新近推出的一款以.NET平台为基础,在Microsoft Windows平台上使用3D技术开发的3D机器人仿真软件。用户通过构建虚拟机器人、虚拟环境,编写虚拟机器人的驱动程序,模拟现实情况下机器人在特定环境中的运行情况。 RB-3DRSS与市面上的同类产品相比,它具有如下的特点: 1.全3D场景。用户可自由控制视角的位置,角度。 2.先进的物理引擎技术,引入真实世界的重力、作用力、反作用力、速度、加速度、摩擦力等概念,是一款真正意义上的仿真软件。 3.逼真的仿真效果。采用虚拟现实技术,高度接近实际环境下的机器人运动状态,大大简化实际机器人调试过程。

4.实时运行调试。运行时,依据实际运行情况,调整机器人参数,帮助用户快速实现理想中的效果。 5.自由灵活的机器人搭建与场地搭建。用户可自由选择机器人及其配件,进行机器人搭建,可自行编辑3D训练比赛场地,所想即所得。 6.单人或多人的对抗过程。用户可添加多个机器人,自由组队进行队伍间对抗。7.与机器人图形化开发平台无缝连接。其生成的控制程序代码可在虚拟仿真系统中直接调用,大大节省编程时间。

系统配置要求 操作系统:win98,win2000全系列,winXp,win2003 server 运行环境:.Net Framework v2.0,DirectX 9.0c 最低硬件配置: 2.0GHz以上主频的CPU,512M内存,64M显存以上的3D显卡.支持1024×768分辨率,16bit颜色的监视器,声卡 推荐配置: 3.0G以上主频的CPU,1G内存,128M显存的3D显卡,支持1024×768分辨率,16bit 颜色监视器,声卡

Xen虚拟化技术

7.5.2 Xen虚拟化技术 本节中将以主流的Xen体系架构为例,说明虚拟化系统的一般技术架构和工作原理。 1.Xen体系结构(Xen Hypervisor) Xen Hypervisor(即Xen的VMM)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域)之间的相互隔离。Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为 Domain 0,而其余的域则称为Domain U。 Xen的体系架构如图7-25所示。Xen向Domain提供了一个抽象层,其中包含了管理和虚拟硬件的API。Dom0内部包含了真实的设备驱动(原生设备驱动),可直接访问物理硬件,负责与Xen提供的管理API交互,并通过用户模式下的管理工具来管理Xen的虚拟机环境。

Xen向Domain提供了VCPU、虚拟MMU(Memory Management Unit)等基本的 虚拟硬件和基本机制(事件通道),并向Domain提供了虚拟域管理API(控制接口)。对Domain设备的访问,Xen也提供了相应的硬件接口(安全硬件接口), 以保证设备访问得以安全进行。 在Xen体系架构中涉及到的基本概念包括: 控制接口:仅能被Dom0使用,用于帮助Dom0控制和管理其他的Domain。控制 接口提供的具体功能包括Domain的创建、销毁、暂停、恢复及迁移,对其他Domain的CPU调度、内存分配及设备访问等。 安全硬件接口:提供除虚拟CPU、MMU之外的所有硬件虚拟工作,包括DMA/IO、驱动程序、虚拟的PCI地址配置、虚拟硬件中断等。该接口只能被具有原生设备 驱动的Domain使用,而向其他Domain则仅通过设备通道提供虚拟硬件服务。 VCPU:Xen为每个Domain建立了VCPU结构,用以接收Guest OS中传递的指令,其中大部分的指令被VCPU直接提交到物理CPU执行,而对于特权指令则需要经 过确认后交由Xen代为执行。 虚拟MMU:用于帮助Guest OS完成虚拟地址到机器地址的转换。Xen系统中增加了客户物理地址层,因而地址由原来的二层结构变为三层结构。Xen通过虚拟 MMU仍能使用硬件MMU来完成地址转换。 事件通道:是用于Domain和Xen之间、Domain相互之间的一种异步事件通知机制,用于处理Guest OS中的虚拟中断、物理中断以及Domain之间的通信。 设备管理器:位于Dom0和IDD(Independent Device Domain)中,可作为系统BIOS的扩展,用于向所有的设备提供通用的管理接口,并负责在Domain启动时 加载特定的设备驱动、建立管理设备通道、提供硬件设备配置接口并处理设备访问错误。 2.CPU虚拟化 (1)半虚拟化 对CPU指令集不提供硬件支持的情况,Xen只能采取半虚拟化的方案,通过修改Guest OS的内核对有缺陷的指令进行替换。在这种模式下,Xen位于操作系统和硬件之间,为其上运行的Guest OS内核提供虚拟化的硬件环境,因而Xen具有最高

高校工业机器人虚拟仿真实训中心建设方案

工业机器人教学实训室方案 1、XS-XN虚拟工业机器人教学实训系统技术指标: (可对FANUC、ABB、KUKA、MOTOMAN(安川)等工业机器人进行现场示教编程学习)1.1、虚拟工业机器人教学实训系统组成: 虚拟机器人教学实训系统单元是在计算机中构造虚拟的六自由度工业机器人应用环境,学员可以使用真实的手持盒,操作虚拟工业环境中的虚拟机器人,包括示教、再现编程等。都能在系统中通过工业机器人的三维图形仿真出来。

1.2、虚拟工业机器人教学实训系统功能要求: ★该实训系统需采用真实的工业机器人控制系统和真实手持示教器控制虚拟的工业机器人完成工业机器人的现场示教编程教学要求。 ★该实训系统配两个不同工业机器人手持示教盒,通过更换手持示教器能够对ABB、FANUC两种品牌工业机器人进行现场示教编程训练; 该实训系统能够支持外部三维模型的导入功能,增加教学的多样性。 ★该实训系统具有工业机器人的理论考试考工及实践考试考工功能,能够自动出题、评分。 该实训系统具有机器人碰撞检测功能,可以检测学示教过程中发生的碰撞错误。1.3虚拟工业机器人教学实训系统技术要求:

1.4、基本技术参数 输入电源:AC220V±10%(单相三线);配AC220V 三眼插座1个 整体功率:<400VA; 工作环境:温度-5oC~+40oC;湿度85%(25oC);海拔<4000m; 安全保护:具有漏电保护,安全符合国家标准 1.5、能够开设的实验内容 A.原理性实验: 1.多自由度工业机器人关节运动控制底层算法实验 2.多自由度工业机器人直线运动轨迹控制底层算法实验 3.多自由度工业机器人圆弧运动轨迹控制底层算法实验 4.多自由度工业机器人加减速约束控制底层算法实验 B.应用性实验: 1.工业机器人手持示教器的认知及使用实验 2.工业机器人各类坐标系转换实验 3.工业机器人编程指令的学习实验 4.工业机器人工具坐标系和用户坐标系设置实验 5.工业机器人控制器IO信号设置和监控实验 6.工业机器人参数、变量的调整实验 7.工业机器人程序调用和自动运行实验 8.工业机器人机床上下料示教编程实验 9.工业机器人的搬运/堆垛示教编程实验 10.工业机器人的点胶/焊接示教编程实验 11.工业机器人装配示教编程实验 12.工业机器人碰撞实验 C.技能考核 1.工业机器人理论考试考工 2.工业机器人实践考试考工 1.6、配套资料 工业机器人操作与编程理论教学大纲

中学信息技术《机器人仿真系统》教案

中学信息技术《机器人仿真系统》教案第16课机器人仿真系统 【教学目标】 .知识目标 ◆认识仿真下的虚拟机器人; ◆能用NSTRSS设计场地、构建机器人并利用仿真环境进行组队测试。 2.过程与方法 ◆通过教师演示在虚拟仿真环境下的机器人运行,激发学生兴趣; ◆通过教师讲解虚拟仿真软件,培养学生对新软件的兴趣; ◆通过让学生自己动手调试,体会学习新事物的乐趣。 3.情感态度与价值观 ◆使学生领悟“自由无限,创意无限,只有想不到,没有做不到”的道理; ◆培养学生积极探索、敢于实践、大胆创新的精神和意识。 【教法选择】 示例讲解、任务驱动、辅导答疑。 【教学重点】 .用NSTRSS仿真系统设计仿真场地;

2.搭建仿真机器人; 3.运行仿真。 【教学难点】 .设计场地; 2.搭建仿真机器人。 【教学过程】 一、巩固1日知,引入新知 教师活动 将上节课学生完成的在现实场地中运行的走迷宫机器人进行分组比赛,一是能够检验学生的学习情况,二是能调动起学生的积极性,三是为引入仿真系统做准备。 学生活动 小组合作,调试机器人程序,检查机器人的搭建,准备比赛。 教师活动 通过比赛,提出问题:同学们想不想经常地进行这样的比赛呢?但是在现实中调试,需要很多的时间,而且还需要固定的场地环境等等,非常不方便,我们有没有什么好办法解决这个问颢? 引入纳英特的仿真模拟系统,展示它的特点,与现实情况做比较。 教师给学生演示讲解:

.关于仿真系统 什么是仿真系统?仿真系统是机器人的设计、实现,完全在虚拟的环境中,以虚拟的形式出现,它以优化机器人硬件和软件设计、缩短研发周期、节约成本为特色,解决机器人设计过程的不足。 2.初识NSTRSS软件 NSTRSS是NST科技新近推出的一款以.NET平台为基础,使用microsoftDirectX9.0技术的3D机器人仿真软件。用户通过构建虚拟机器人、虚拟环境,编写虚拟机器人的驱动程序,模拟现实情况下机器人在特定环境中的运行情况。 NSTRSS与市面上的同类产品相比,它具有如下的特点:全3D场景。用户可自由控制视角的位置及角度,甚至以第一人称方式进行场景漫游; 逼真的仿真效果。采用虚拟现实技术,高度接近实际环境下的机器人运动状态,大大简化实际机器人调试过程; 实时运行调试。运行时,依据实际运行情况,调整机器人参数,帮助用户快速实现理想中的效果; 自由灵活的机器人搭建与场地搭建。用户可自由选择机器人及其配件,进行机器人搭建,可自行编辑3D训练比赛场地,所想即所得; 单人或多人的对抗过程。用户可添加多个机器人,自由组队进行队伍间对抗;

Xen-VMware-ESXi-Hyper-V和KVM等虚拟化技术的原理解析

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解 析 XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较: XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能; Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动; Hyper-V 是基于 XEN 管理栈的修改; KVM 与XEN 方式不同,KVM 是以Linux 内核作为管理工具得。 虚拟机的体系结构 XEN 体系结构 图 3. XEN 体系结构图 一个XEN 虚拟机环境主要由以下几部分组成: XEN Hypervisor; Domain 0 —— Domain Management and Control(XEN DM&C); Domain U Guest(Dom U) 下图4 显示除了各部分之间的关系: 图 4. Xen 三部分组成之间关系图

XEN Hypervisor : XEN Hypervisor 是介于操作系统和硬件之间的一个软件描述层。它负责在各个虚拟机之间进行CPU 调度和内存分配。XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。XEN Hypervisor 不会处理网络、存储设备、视频以及其他I/O. Domain 0: Domain 0 是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor 之上的虚拟机,它拥有访问物理I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。Domain 0 需要在其它Domain 启动之前启动。 Domain U: 运行在Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如Linux、Solaris、FreeBSD 等其它UNIX 操作系统。所有的全虚拟化虚拟机被称为“Domain U HVM Guests”,其上运行着不用修改内核的操作系统,如Windows 等。 2.Hyper-V 体系结构 图 5. Hyper-V 体系结构图 Hyper-V 是微软提出的一种系统管理程序虚拟化技术,采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V 底层的Hypervisor 运行在最高的特权级别下,微软将其称为ring -1(而Intel 则将其称为root mode),而虚机的OS 内核和驱动运行在ring 0,应用程序运行在ring 3 下,这种架构就不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性。从架构上讲Hyper-V 只有“硬件-Hyper-V-虚拟机”三层,本身非常小巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。 Hyper-V 支持分区层面的隔离。分区是逻辑隔离单位,受虚拟机监控程序支持,并且操作系统在其中执行。Microsoft 虚拟机监控程序必须至少有一个父/ 根分区,用于运行64 位版本的Windows Server 2008 操作系统。虚拟化堆栈在父分区中运行,并且可以直接访问硬

最新利用虚拟仿真技术辅助机器人

利用虚拟仿真技术辅 助机器人

关于利用虚拟仿真技术辅助机器人维修示教的探讨 周政华 (山西华泽铝电有限公司电解厂) 摘要:利用机器人虚拟仿真技术,可使检修人员在系统离线状态下对机器人进行编程,并以三维图形方式显示出机器人实际运行轨迹,这样通过 离线编程平台进行新系统的测试,既避免了应用上的风险,保证了机器 人系统的安全性,同时又降低了新程序应用的测试成本,并可以作为培 训系统供检修人员进行虚拟操作使用。 关键词:虚拟仿真离线编程机器人 1 引言 在实际设备运行过程中存在许多影响正常生产状态的因素,而如何优化生产过程,减少这些因素所造成的损失,而仿真技术可以将设备放在一个虚拟环境中,通过对已出现或未知的问题进行模拟,为找出解决此类问题提供了便捷的方法,这样不仅可以减少检修时间,保证生产的正常,也可以保证操作安全。而机器人离线技术的出现以及虚拟仿真技术的发展,正是应这样的要求,不仅可以将人从危险和恶劣的环境中解脱出来,也可以解决远程控制中的通信延时问题,同时利用机器人仿真技术可直观显示出机器人实际运行轨迹,而且不占用机器人作业时间,有利于提高经济效益。 2仿真基本理论 机器人仿真技术分为两大类:第一大类是设计机器人时所必须具有的结构分析和运动分析仿真包括:(1)机器人的物理特性,比如

形状等;(2)是机器人的动态特性,比如加速度、速度等,这需要参考机器人本身的动力学方程,而这个方程用来描述机器人的运动轨迹和特性。 2.1机器人的结构仿真主要是对机器人进行物理特性仿真,在虚拟环境中是以三维实体模型表现的,可以用市面上较常用的 Pro/E、UG、CATIA等三维设计软件进行建模。 2.2 机器人的运动学仿真是通过对建立的的函数模型,然后利用ADMAS、Matlab等专业软件对模型进行运动分析,例如图2.1为一台串联六自由度关节式机器人。 图2.1 两个相邻坐标系i与i-1间的齐次变换矩阵(i=1,2,3…,6)为 其中:a i-1为杆长;d i为杆件偏距; i为关节变量。经运动学整解,可得到机器人末端的位姿,而已知机器人末端的位姿,经过运

Xen KVM VMware对比

KVM、Xen、VMware的对比 首先:KVM、Xen是开源、免费的,而VMware的源代码不开放。详细的性能指标如下:Xen的6大优势: 1. 可用资源,Xen比KVM问世早四年(2003),市场占有率大,可用资源丰富 2. 平台支持:Xen在新版本中支持更多的主机和客体工作环境,包括泛虚拟化技术、硬 件辅助支持以及修改过或未修改过的客体操作系统;对UNIX、Linux和Windows的 特定支持;包括芯片组,如x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM, 以及x86/64 CPU商家和Intel嵌入式的支持等。 3. 可管理性,Xen具有一个更加宽泛的第三方配给、备份、存储管理、P2V、容量规划、 性能监控、进程自动化、安全和其它管理规则社区,如IBM、Microsoft以及HP等。 4. 实施,Xen的运行和管理都是在较低级别的(Ring 0)。甚至对于新虚拟机创建,客体 机器并不需要像KVM那样共享内存块、CPU指令或者任何底层的Linux操作系统。 5. 动态迁移,Xen支持非中断的动态迁移,允许动态工作负载平衡和例行维护而没有任 何宕机时间,KVM的固有属性决定其必然有宕机时间。 6. 性能,大多数的KVM和Xen性能基准的对比都表明Xen具有更好的处理机性能,只 有在I/O方面逊于KVM。 Xen在虚拟网络支持、虚拟存储支持、安全增强、高可用性、容错处理、电源管理、HPC或者实时支持、虚拟CPU可扩展性、跨平台兼容性。虚拟机可移植性、虚拟应 用设备市场以及已经建立起来的云服务社区等诸多方面都要比KVM优越 KVM的优势: 1. Xen是Linux内核下的一个产品,而KVM是Linux内核的一部分,所以很容易控制虚 拟化进程,得到Linux厂商(红帽、Ubuntu)的大力支持。 2. Xen的泛虚拟化技术需要修改操作系统,默认的windows安装并不支持泛虚拟化。而 KVM是一个轻量级的虚拟化程序管理模块,补丁包能和Linux很好的兼容,不需要需改操作系统,就可以直接和硬件进行交互, 3. Xen缺少很好的整合,所以将会是Linux内核的负担越来越重。而KVM是Linux内核 的一部分,有Red Hat的技术支持和推广,有比Xen更加美好的发展前景。VMware&KVM的优势: 1. 目前企业内常见的虚拟换平台,国外的商业化成熟的软件,丰富的虚拟化产品和完整的解决方案,代码完全封闭。 2. VMware虚拟化平台的CPU性能高, 3. 网络性能指标VMware整体较好 4. 当内存数据块较小时,VMware性能较好,内存数据块较大时KVM较好;KVM在内 存写方面较好,VMware在内存读较好。 5. KVM的磁盘读相关操作表现较强,而VMware的磁盘写相关操作表现较强。

《虚拟机器人》校本课程活动教案

《虚拟机器人》校本课程活动教案

课时:课时 展示范例机器人激发学生搭建兴趣。 师:同学们,上节课我们初步了解了虚拟机器人的平台,这节课,我们来试试搭建属于我们自己的第一个机器人。 一、进入操作界面 首先请大家陆平台,然后点击“搭建机器人”选项,进入机器人搭建操作界面。老师先来带着大家了解一下这一界面的基本功能划分。 模型面板:包含机器人所有模型,有控制器、驱动、安装块、传感器和其它大类。 模型列表:列出各个模型分类中所有模型。 模板列表:用户创建的模板,模板可保存经常使用的模型组合。 菜单工具栏:有文件、功能和操作个菜单,菜单下有相应的工具栏命令。 属性面板:在属性面板中设置直流电机、伺服电机、传感器的属性。 机器人信息:查看机器人零部件的数量,机器人的重量、尺寸等信息。 机器人编辑区:用于构建机器人的操作区,完成机器人零部件的安装等操作。 视角控制面板:调整查看编辑区的视角,完成视角旋转、缩放、移动等操作 二、探索尝试 通过老师的介绍后,大家应该对这些功能区有所了解了。现在请同学们动动脑,动动手,从模型面板中选择自己喜欢的模型,放到机器人编辑区,注意视角的控制和安装点的点选,看谁能组装出属于自己的第一台机器人! 三、问题解决 (一)、机器人搭建首先需要选择好控制器,这是机器人的主体,没有控制器,其他的零件是无法起作用的。 (二)、控制器安放是有方向的,编辑区蓝色坐标轴的方向为机器人前方,学生容易出现错误。(三)、在旋转视角时,切忌用鼠标左键进行拖动,这会改变机器人零件的实际位置。而应该使用视角控制按钮或者鼠标的右键和滚轮来进行视角切换。 (四)、轮子是和电机安装在一起,电机再和控制器连接起来,而不是直接把轮子安装到控制器上。 教师在巡视指导过程中,发现问题,适时引导讲解。 四、拓展延伸 其实在机器人搭建的过程中,我们还可以使用一些小技巧来提高搭建的效率。教授“模板”的使用方法,把一些多次使用的零件组合创建为模板,可以直接拖出来重复使用。 五、秀一秀 通过电子教室“学生演示”的功能,请同学们来展示一下自己的个性机器人,大家来评评谁最有想象力和创造力。 学生点评,教师总结。

Xen安装windows和linux虚拟机

Xen安装windows和linux虚拟机 实验环境: 物理机系统:CentOS 5.5 32位yum源:安装镜像 Xen 简介 Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。 一、安装Xen和支持Xen的内核 1、挂载本机镜像 mount -o loop /iso/CentOS-5.5-i386-bin-DVD.iso /media/cdrom/ 2、使用yum安装 yum --disablerepo=\* --enablerepo=c5-media install -y xen* 3、检查/boot/grub/grub.conf 文件,是否默认启动支持Xen内核 4、重启系统,启动后检查内核和xend运行是否正常 二、安装Linux虚拟机(半虚拟化) 虚拟系统磁盘使用的映像文件,安装源使用的是HTTP服务提供的本机挂载的系统盘。 1、创建映像文件 dd if=/dev/zero of=centos5.5.img bs=2k seek=2048k count=1 2、创建虚拟机 virt-install -n centos -r 256 -f /virtual/centos/centos5.5.img --nographics -p -l http://127.0.0.1/cdrom

运行命令后正常的如下图所示: 接下来就和普通安装一样了。 三、安装Windows 虚拟机(全虚拟化) PS:安装windows一般都使用全虚拟化,但要使用全虚拟化,CPU必须支持虚拟化技术,这个在BIOS中设置。 安装Windows使用VNC远程到服务器,使用Virtual Machine Manger (virt-manager包)进行安装。

工业机器人工程应用虚拟仿真教程教学提纲

工业机器人工程应用虚拟仿真教程教学提纲 一、说明 1?'课程的性质和内容 《工业机器人工程应用虚拟仿真教程》课程是髙级技工学校工业机器人应用与维护专业的专业课。主要内容包括:Robot Studio软件的操作、建模、Smart 组建的使用、轨迹离线编程、动画效果的制作、模拟工作站的构建、仿真验证以及在线操作。 2?课程的任务和要求 本课程的主要任务是培养学生熟练操作Robot Studio软件,并能通过Robot StiMio 软件对工业机器人进行应用开发、调试、现场维护,为学生从事工业机器人工程技术人员打下的必要的专业基础。 通过本课程的学习,学生应该达到以下儿个方面的专业基础。 (1)了解Robot Studio工业机器人仿真软件的基础知识,掌握软件使用方法和技巧。 (2)掌握构建基本仿真工业机器人工作站的方法。 (3)能熟练在Robot Studio软件中创建工件、工具模型。 (4)掌握工业机器人离线轨迹编程方法。 (5)掌握Smart组建的应用。 (6)掌握带导轨和变位机的机器人系统创建于应用方法。 (7)了解ScreenMaker示教器用户自定义界面的操作。 (8)掌握Robot Studio软件的在线功能。 3?教学中注意的问题 (1)本课程教学最好采用理论与实际相结合的一体化教学方式,借助多媒体网络教室,一人一机,使用多媒体课件讲解与软件操作相结合。 (2)理论教学中应帮助学生总结并灵活运用所学的相关知识,本着够用的原则讲授,切忌面面俱到。对工业机器人仿真操作不作深入探讨,仅作一般性了解。 (3)实践教学环节中对工业机器人Robot Studio仿真软件常用功能作简单介绍,重点培养学生使用软件对工业机器人进行基本操作、功能设置、二次开发、在线监控与编程、方案设讣和检验。教师教学中多联系生产实际并选用一些工业上经典的匸业机器人使用案例进行讲解,提高学生对工业机器人进行应用开发、调试、现场维护的能力。 二、学时分配表

xen虚拟机搭建

Domain0操作系统安装: E:\utorrent\CentOS-6.5-x86_64-bin-DVD1to2\CentOS-6.5-x86_64-bin-DVD1.iso 配置yum代理: /etc/yum.conf proxy=http://192.168.150.49:3128 /etc/profile export http_proxy=http://192.168.150.49:3128 安装必要软件: yum install transfig dracut wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo libuuid-devel openssl-devel python-twisted python python-devel ncurses-devel glibc-devel.i686 yajl yajl-devel.x86_64 bridge-utils 下载linux内核,xen源码 linux-3.13.6.tar.gz xen-4.4.0.tar.gz 编译linux内核3.13.6: yum install gcc ncurses-devel.x86_64 make menuconfig Processor type and features-> Linux guest support-> Device Drivers-> Block devices->

机器人系统常用仿真软件介绍

1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真): 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台。主要针对地面机器人,可以被用于研究和教学,除此之外,USARSim是RoboCup救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台。使用开放动力学引擎ODE(Open Dynamics Engine),支持三维的渲染和物理模拟,较高可配置性和可扩展性,与Player兼容,采用分层控制系统,开放接口结构模拟功能和工具框架模块。机器人控制可以通过虚拟脚本编程或网络连接使用UDP协议实现。被广泛应用于机器人仿真、训练军队新兵、消防及搜寻和营救任务的研究。机器人和环境可以通过第三方软件进行生成。软件遵循免费GPL条款,多平台支持可以安装并运行在Linux、Windows和MacOS操作系统上。 1.2 Simbad Simbad是基于Java3D的用于科研和教育目的多机器人仿真平台。主要专注于研究人员和编程人员热衷的多机器人系统中人工智能、机器学习和更多通用的人工智能算法一些简单的基本问题。它拥有可编程机器人控制器,可定制环境和自定义配置传感器模块等功能,采用3D虚拟传感技术,支持单或多机器人仿真,提供神经网络和进化算法等工具箱。软件开发容易,开源,基于GNU协议,不支持物理计算,可以运行在任何支持包含Java3D库的Java客户端系统上。 1.3 Webots Webots是一个具备建模、编程和仿真移动机器人开发平台,主要用于地面机器人仿真。用户可以在一个共享的环境中设计多种复杂的异构机器人,可以自定义环境大小,环境中所有物体的属性包括形状、颜色、文字、质量、功能等也都可由用户来进行自由配置,它使用ODE检测物体碰撞和模拟刚性结构的动力学特性,可以精确的模拟物体速度、惯性和摩擦力等物理属性。每个机器人可以装配大量可供选择的仿真传感器和驱动器,机器人的控制器可以通过内部集成化开发环境或者第三方开发环境进行编程,控制器程序可以用C,C++等编写,机器人每个行为都可以在真实世界中测试。支持大量机器人模型如khepera、pioneer2、aibo等,也可以导入自己定义的机器人。全球有超过750个高校和研究中心使用该仿真软件,但需要付费,支持各主流操作系统包括Linux, Windows和MacOS。 1.4 MRDS-Microsoft Robotics Developer Studio MRDS是微软开发的一款基于Windows环境、网络化、基于服务框架结构的机器人控制仿真平台,使用PhysX物理引擎,是目前保真度最高的仿真引擎之一,主要针对学术、爱好者和商业开发,支持大量的机器人软硬件。MRDS是基于实时并发协调同步CCR(Concurrency and Coordination Runtime)和分布式软件服务DSS(Decentralized Software Services),进行异步并行任务管理并允许多种服务协调管理获得复杂的行为,提供可视化编程语言(VPL)和可视化仿真环境(VSE)。支持主流的商业机器人,主要编程语言为C#,非商业应用免费,但只支持在Windows操作系统下进行开发。 1.5 PSG-Player/Stage/Gazebo

xen虚拟化方案及应注意问题

虚拟化方案及应注意问题 Xen是一款虚拟化软件,支持半虚拟化和完全虚拟化。它在不支持VT技术的cpu上也能使用,但是只能以半虚拟化模式运行。 VMware是一款完全虚拟化软件。完全虚拟的弱点是效率不如半虚拟化的高。半虚拟化系统性能可以接近在裸机上的性能。 同时也因为vmware在基于xen内核的redhat系统上不能安装,因此,此次我给出的方案是xen的方案。 1、机房的选择 建议将服务器摆放在通信线路好而且比较稳定的机房,因为一旦网络中断,将造成多台服务器的服务同时中断。 2、半虚拟化与完全虚拟化的选择 Xen虚拟机有两种运行方式:完全虚拟化(full virtualization)和半虚拟化(para virtualization)。完全虚拟化提供底层物理系统的全部抽象化,且创建一个新的虚拟系统,客户机操作系统可以在里面运行。不需要对客户机操作系统或者应用程序进行修改(客户机操作系统或者应用程序像往常一样运行,意识不到虚拟环境的存在)。半虚拟化需要对运行在虚拟机上的客户机操作系统进行修改(这些客户机操作系统会意识到它们运行在虚拟环境里)并提供相近的性能,但半虚拟化的性能要比完全虚拟化更优越。 也因为vmware是完全虚拟化的产品,而且为商业软件,性能也不比xen,所以我采用了xen来实现虚拟化方案。 3、分区采用方式,用lvm方式去创建,boot独立分区,swap独立分区,/挂到lvm下面,分配5G 空间。。。。待空间不够用的时候,可以挂多个硬盘上去,设置为: [root@manifold xen]# cat /etc/xen/lv # Automatically generated xen config file name = "virt" memory = "512" disk = [ 'phy:/dev/VolGroup00/LogVol03,xvda,w', 'phy:/dev/VolGroup01/LogVol12,xvdb,w' ] vif = [ 'mac=00:16:3e:76:ce:86, bridge=xenbr0', ] vfb = ["type=vnc,vncunused=1"] uuid = "7217a051-2514-9e7a-e95e-df3fa7f5b611" bootloader="/usr/bin/pygrub" vcpus=2 on_reboot = 'restart' on_crash = 'restart' 然后在xvdb上创建pv,再将其加入vg,lvextend将所需的空间扩展,再resize2fs就行了。 这种是最灵活的分区解决方案,但灵活的同时,也带来的维护难度的上升,建议运维小心谨慎。 注意:(1)千万别直接在xen系统所在的lv做lvextend的动作,因为那只能是白费空间,因为xen 系统会识别不到硬盘空间的更改,同时因为其找不到superblock,我们不能对其进行数据的恢复,只能采用其他方式。 (2)应注意备份好/etc/xen下的系统配置文件。 4、最好使用支持Intel VT或AMD PT虚拟化技术的CPU,要检查中央处理器是否支持,用命令:INTEL grep vmx /proc/cpuinfo AMD grep svm /proc/cpuinfo

MATLAB在机器人虚拟仿真实验教学中的应用

龙源期刊网 https://www.sodocs.net/doc/0b16844460.html, MATLAB在机器人虚拟仿真实验教学中的应用 作者:刘相权 来源:《教育教学论坛》2018年第15期 摘要:本文简要介绍了MATLAB在机器人虚拟仿真实验教学中的基本应用。以 PUMA560机器人为研究对象,在MATLAB环境下,用Robotics Toolbox建立了该机器人的运动学模型,并对其进行求解,绘制了关节运动曲线和机器人末端运动轨迹。通过使用虚拟仿真技术,使学生的创新能力和实践能力得到提高。 关键词:MATLAB;机器人;虚拟仿真;实验教学 中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)15-0261-02 在机器人学课程的实验教学中,一方面由于机器人价格比较昂贵,不可能用许多实际的机器人来作为教学实验设备,另一方面,由于机器人的教学涉及大量数学运算,手工计算烦琐,采用虚拟仿真技术可以有效地提高教学的质量和效率,在实验教学中的作用越来越明显[1]。 本文以PUMA560机器人为研究对象,采用改进的D-H法分析其结构和连杆参数,运用Robotics Toolbox构建运动学模型并进行运动学仿真。 一、PUMA560机器人的结构及连杆参数 PUMA560机器人是美国Unimation公司生产的6自由度串联结构机器人,本文采用改进 的D-H法建立6个杆件的固接坐标系,如图1所示。 二、PUMA560机器人的运动学仿真 1.机器人模型的建立。在Robotics Toolbox中,构建机器人模型关键在于构建各个杆件和关节,Link函数用来创建一个杆件,其一般形式为: L=Link([theta d a alpha sigma],CONVENTION) 根据表1的数据,构建模型的仿真程序如下: 三、结束语 通过研究利用MATLAB软件进行虚拟仿真实验教学,克服了机器人实验设备数量不足的现状,把学生从烦琐的数值计算中解脱出来,实现了实验教学的创新,获得了良好的教学效

机器人系统常用仿真软件介绍概要

1 主要介绍以下七种仿真平台 (侧重移动机器人仿真而非机械臂等工业机器人仿真 : 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim 是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台。主要针对地面机器人, 可以被用于研究和教学, 除此之外, USARSim 是 RoboCup 救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台。使用开放动力学引擎 ODE(Open Dynamics Engine,支持三维的渲染和物理模拟,较高可配置性和可扩展性,与 Player 兼容,采用分层控制系统, 开放接口结构模拟功能和工具框架模块。机器人控制可以通过虚拟脚本编程或网络连接使用 UDP 协议实现。被广泛应用于机器人仿真、训练军队新兵、消防及搜寻和营救任务的研究。机器人和环境可以通过第三方软件进行生成。软件遵循免费 GPL 条款, 多平台支持可以安装并运行在Linux 、 Windows 和 MacOS 操作系统上。 1.2 Simbad Simbad 是基于 Java3D 的用于科研和教育目的多机器人仿真平台。主要专注于研究人员和编程人员热衷的多机器人系统中人工智能、机器学习和更多通用的人工智能算法一些简单的基本问题。它拥有可编程机器人控制器, 可定制环境和自定义配置传感器模块等功能, 采用 3D 虚拟传感技术, 支持单或多机器人仿真,提供神经网络和进化算法等工具箱。软件开发容易,开源,基于 GNU 协议,不支持物理计算,可以运行在任何支持包含 Java3D 库的 Java 客户端系统上。 1.3 Webots Webots 是一个具备建模、编程和仿真移动机器人开发平台, 主要用于地面机器人仿真。用户可以在一个共享的环境中设计多种复杂的异构机器人, 可以自定义环境大小, 环境中所有物体的属性包括形状、颜色、文字、质量、功能等也都可由用户来进行自由配置,它使用 ODE 检测物体碰撞和模拟刚性结构的动力学特性, 可以精确的模拟物体速度、惯性和摩擦力等物理属性。每个机器人可以装配大量可

xen、kvm、vmware、hyper-v比较

最近在实战Xen中,xen和kvm,是开源免费的虚拟化软件;vmware是付费的虚拟化软件;hyper-v 比较特别,是微软windows 2008 R2附带的虚拟化组件,如果你买了足够的授权,hyper-v(包括hyper-v 2008 core)都可以免费使用。 如果是vmware或hyper-v虚拟windows系统,不管是虚拟化软件本身,还是其中的子系统,都要支付许可费用。 如果是vmware或hyper-v虚拟linux,虚拟化软件本身要支付许可费用,子系统可以用linux来节省成本。 如果是xen或kvm虚拟windows,其中的子系统要支付许可费用。 如果是xen或kvm虚拟linux,那么虚拟化软件本身和其中的子系统无需产生任何费用。 从性能上来讲,虚拟windows,如果都能得到厂商的支持,那么,性能优化可以不用担心。这几款软件全都能达到主系统至少80%以上的性能(磁盘,CPU,网络,内存),这时建议使用hyper-v来虚拟windows,微软自身的产品,虚拟windows是绝对有优势的。 如果是虚拟linux,建议首先使用xen,支持linux的半虚拟化,可以直接使用主系统的cpu和磁盘及网络资源,达到较少的虚拟化调度操作,可以达到非常高的性能,但xen操作复杂,维护成本较高。其次我们推荐kvm来虚拟linux,linux本身支持kvm的virtio技术,可以达到少量的虚拟化调度操作,得到较高的系统性能。不推荐使用hyper-v来虚拟linux,太多的不兼容性导致linux基本无法在hyper-v 上跑。 如果以上产品我们不打算买厂商支持,其中vmware和hyper-v,是不建议使用的,主要是授权问题。 这时就剩下kvm和xen了,如果虚拟windows,建议使用kvm,我们可以从redhat那里免费拿到针对windows优化过的磁盘和网络的驱动程序,可以达到较高的性能(几乎与hyper-v性能持平)。而xen的windows优化驱动不是那么容易就能拿到的(由于redhat以后不支持xen了,看看novell是否放水了,呵呵,就开放程度上来讲,redhat要好于novell)。 综上所述, 在有授权的情况下,虚拟windows,建议使用hyper-v 在有授权的情况下,虚拟linux,建议使用xen,如考虑到需要降低管理维护和学习成本,建议使用kvm。 在没有授权的情况下,虚拟windows,建议使用KVM 在没有授权的情况下,虚拟linux,建议使用xen,如考虑到需要降低管理维护和学习成本,建议使用kv

相关主题