死鎖對操作系統(tǒng)有哪些影響 分布式操作系統(tǒng)的基本功能?
分布式操作系統(tǒng)的基本功能?分布式操作系統(tǒng)有以下三個基本功能,:。過程管理、通信管理和資源管理。除了單機操作系統(tǒng)的主要功能外,分布式操作系統(tǒng)還應包括分布式進程通信、分布式文件系統(tǒng)、分布式進程遷移、分布式
分布式操作系統(tǒng)的基本功能?
分布式操作系統(tǒng)有以下三個基本功能,:。
過程管理、通信管理和資源管理。
除了單機操作系統(tǒng)的主要功能外,分布式操作系統(tǒng)還應包括分布式進程通信、分布式文件系統(tǒng)、分布式進程遷移、分布式進程同步和分布式進程死鎖等功能。
分布式文件系統(tǒng)是一種允許通過網(wǎng)絡互連的系統(tǒng),這樣不同機器上的用戶就可以共享文件。它可以由運行它的所有主機共享,并且可以管理操作系統(tǒng)內(nèi)核和文件系統(tǒng)之間的通信。
如何解決I2C器件死鎖的問題?
正常情況下,I2C總線協(xié)議可以保證總線的正常讀寫操作。但是,在某些異常情況下,I2C公交車會被鎖定。例如,主控制器的突然復位,或I2C總線上的干擾,或異常供電都可能導致I2C總線鎖定。
在I2C主設備的讀寫操作過程中,主設備控制SCL在起始信號后產(chǎn)生8個時鐘脈沖。然后將SCL信號拉低至低電平。此時,從機輸出應答信號,并將SDA信號拉至低電平。如果此時主設備異常復位,SCL將被釋放至高電平。此時,如果從設備沒有復位,它將繼續(xù)I2C應答,將SDA拉至低電平,直到SCL變?yōu)榈碗娖讲沤Y束應答信號。對于I2C主設備,復位后會檢測到SCL和SDA信號。如果發(fā)現(xiàn)SDA信號為低電平,則認為I2C總線被占用,SCL和SDA信號將一直等待高電平。這樣,I2C主機等待從機釋放SDA信號,而I2C從機等待主機拉低SCL信號以釋放應答信號。兩者互相等待,I2C總線進入死鎖狀態(tài)。
類似地,當I2C讀取時,I2C從設備應答并輸出數(shù)據(jù)。如果此時I2C主設備異常復位,而I2C從設備輸出的數(shù)據(jù)位正好為0,I2C總線也會進入死鎖狀態(tài)。
廣州致遠電子ARM核心板使用IIC設備,遇到總線死鎖如何恢復總線死鎖?常見的方法如下:
(1)盡量選擇帶復位輸入的I2C從設備。從I2C總線死鎖的原因可以發(fā)現(xiàn),I2C總線死鎖的一個必要條件是主設備復位,從設備不復位。如果從設備選擇帶復位輸入的芯片,并將主設備和從設備的復位信號連接在一起,當外部發(fā)生復位事件時,主設備和從設備同時復位,這樣就不會出現(xiàn)I2C總線死鎖。這種方法的缺點也很明顯。首先,大多數(shù)I2C從設備沒有復位輸入,這大大限制了設備的選擇。其次,由與主器件集成的看門狗引起的這種復位不起作用。
(2)將從I2C設備的所有電源連接在一起,并通過M0連接。S管連接到主電源,而MOS管由I2C主設備打開和關閉。一般來說,I2C主設備是帶有算術單元的處理器??刂乒δ芸梢酝ㄟ^處理器的GPIO實現(xiàn)。每次主設備復位,運行程序控制GPIO關閉MOS,使從設備掉電。然后延時一段時間后MOS管導通,從設備上電,達到強制從設備復位的效果。這種方法可以彌補第一種方法的不足,但會增加電源設計的復雜度,影響版圖設計時電源的完整性。同時需要改變處理器的底層引導代碼,影響了底層軟件的通用性和可移植性。
(3)在I2C從設備中設計看門狗功能。當I2C從設備檢測到其處于響應狀態(tài)或低電平輸出超過規(guī)定時間時,看門狗動作復位I2C從設備。這種情況下,不需要增加額外的硬件設計,但要求I2C從設備具有可編程功能,更適合從設備為單片機或CPLD的情況。
(4)在I2C主設備中增加I2C總線恢復程序。I2C主器件每次復位后,如果檢測到SDA數(shù)據(jù)線被拉低,則控制I2C的SCL時鐘線產(chǎn)生9個時鐘脈沖(針對8位數(shù)據(jù)的情況),使I2C從器件完成掛起的讀操作,從死鎖狀態(tài)恢復。這種方法有很大的局限性,因為主設備的大部分I2C模塊都是通過內(nèi)置的硬件電路實現(xiàn)的。該軟件可以 t直接控制SCL信號產(chǎn)生所需的時鐘脈沖。采用這種方法,I/O可以用來模擬I2C,SCL時鐘也很容易控制。
(5)在I2C總線上添加一個額外的總線恢復設備,用于監(jiān)控I2C總線。當器件檢測到SDA信號被拉低超過規(guī)定時間時,它會在SCL總線上產(chǎn)生9個時鐘脈沖,使能I2C從機完成讀操作并從死鎖狀態(tài)中恢復。總線恢復設備需要具有編程功能,一般可以用單片機或CPLD來實現(xiàn)。
(6)在I2C上串一個具有死鎖恢復的I2C緩沖區(qū)。