2012-09-04 166 views
3

我見過像magicdisc程序創建虛擬光盤驅動器和將它們安裝在機器上。這些程序如何欺騙操作系統認爲有一個新的硬件設備連接到它?程序如何創建虛擬硬件?

我想我必須爲虛擬硬件編寫一個驅動程序,而且我對C語言感覺很舒服,所以聽起來並不可怕,但我該如何讓操作系統認爲有一塊硬件連接到它上面是不是?

謝謝!

+1

http://www.codeproject.com/Articles/58950/How-to-de-develop-a-virtual-disk-for-Windows – perilbrain

回答

3

通常情況下,操作系統有不同的層和庫,在某些時候存在的東西它上面和實際硬件之間坐在圖書館,你假它在那裏,如果有某種讀取的扇區通話的,你假裝讀取使用該扇區地址的扇區,從文件中讀取,無論如何。每個操作系統(Windows,Linux等)都可能採取不同的方式。

+0

另一種說法是,在底部有驅動程序與上側(在某些層)的硬件有一個通用的接口,以便例如所有的視頻驅動程序可以插入到操作系統或所有的聲卡驅動程序,等你發現,通用層或要通用層之一從那裏開始並實施虛擬硬件。 –

0

也許你熟悉C爲應用層面,這是上述操作系統。 虛擬驅動程序是一個軟件,但需要在適當的位置寫的設置:在Windows中,在一些Linux的一些配置文件的註冊表。您需要在內核級別處理OS級調用和回調。比您希望軟件也可以與您的設備進行通信,可能已集成到OS Shell中。如果不是3個或更多,則至少2個球員將是。

對於如Windows XP中,你可以做一個虛擬的圖形卡(和攔截各種事情),針對Vista沒有,只是一招:)

這是非常,非常具體的操作系統。