1、設計一個雙優先編碼器,不僅能識別出最高優先順序,還能在8個請求輸入中找出第二高優先順序的確認(verilog)
怎麼金燕華過了四年還出同一個題目!現在又來了
2、如何進行產品功能需求優先順序管理——抓大放小
作為產品經理的你,洋洋灑灑的整理完產品的功能列表,長舒一口氣,看,爺的產品多強大,規劃了這么多牛掰閃閃的功能;作為交互設計師的你,頭暈眼花的畫完產品的原型和流程,暗自竊喜道,看,咱的流程多細致,梳理了那麼多特殊情況和可能性;作為視覺設計師的你,設計了好多個華麗麗的界面,你為每一個頁面進行了精心的雕琢,期待用戶見到每一個頁面都豎起大拇指說這個界面真漂亮;作為開發人員的你,搭建完框架之後,發現每個模塊都有評審時漏掉的細節,一個模塊一個模塊的趕進度,導致你精疲力盡力不從心。
其實,在一個產品里,並不是所有的功能都那麼重要的,如果產品經理只是交付一個功能列表,而不做需求優先順序設定的話,產品可能淪為沒有主心骨的產品,交互設計師設計的時候,不確定主要任務是什麼;視覺設計師設計的的時候,不確定哪些界面和模塊要提供更精緻的設計;開發人員開發的時候,不知道哪些功能該設定更高的開發優先順序,於是就會形成大家都在攪漿糊的狀態,可能因為某些弱弱的分支流程的復雜性,導致開發人員花了大量的時間去攻克難題;可能因為某個不那麼重要的設置界面中,UI增加了復雜的轉場效果,導致開發人員搞到頭破血流;可能因為開發人員撿著簡單的功能先做,導致復雜的重要功能到最後才被草草攻克,一堆bug。別在抱怨各個角色不給力什麼的了,想想自己的需求的分析是否到位,是否給你的需求排排等級,哪些對解決產品的商業價值+用戶價值有最大的幫助,優先實現它,不重要的,不著急的,可以次優先順序實現。
3、怎麼查看semtake vxworks
VxWorks的信號量機制分析
VxWorks信號量是提供任務間通信、同步和互斥的最優選擇,提供任務間最快速的通信。也是提供任務間同步和互斥的主要手段。VxWorks提供3種信號量來解決不同的問題。
二進制信號量:最快的最常用的信號量,可用於同步或互斥。
互斥信號量:為了解決內在的互斥問題如優先順序繼承、刪除安全和遞歸等情況而最優化的特殊的二進制信號量。
計數信號量:類似於二進制信號量,但是隨信號量釋放的次數改變而改變。
二進制信號量
二進制信號量能夠滿足任務間的互斥和同步,需要的系統開銷最小,因此也稱快速信號量。二進制信號量可以看成一個標志,對應資源是可用還是不可用。當一個任務調用semTake ()請求一個信號量時,如果此時信號量可用,信號量會被清零,並且任務立即繼續執行;如果信號量不可用,任務會被阻塞來等待信號量。
當一個任務調用semGive ()釋放一個二進制信號量時。如果信號量已經可用,釋放信號量不會產生任何影響;如果信號量不可用並且沒有任務等待使用該信號量,信號量只是被簡單地置為可用;如果信號量不可用並且有一個或多個任務等待該信號量,最高優先順序的任務被解阻塞,信號量仍為不可用。
互斥
當兩個以上的任務共享使用同一塊內存緩沖區或同一個I/O設備之類的資源時,可能會發生競爭狀態。
二進制信號量可以通過對共享資源上鎖,實現高效的互斥訪問,不象禁止中斷或禁止搶占,二進制信號量將互斥僅僅限於對與之聯系的資源的訪問,並且比禁止中斷和禁止搶占提供更精確的互斥粒度。使用時創建用於保護資源的二進制信號量,初始時信號量可用。
當任務需要訪問這個資源時,首先取得這個信號量,所有其它想要訪問這個資源的任務將被阻塞。當任務完成了對該資源的訪問時,釋放該信號量,允許其他任務使用該資源。因此所有對一個需要互斥訪問資源的操作由semTake ()和semGive ()對一起來實現。
semTake(semMutex,WAIT FOREVER)
臨界區,某一時刻僅被一個任務訪問
semGive (semMutex)
同步
信號量另一種通常的用法是用於任務間的同步機制。在這種情況下,信號量代表一個任務所等待的條件或事件。最初,信號量是不可用的。一個任務或中斷處理程序釋放該信號量來通知這個事件的發生。等待該信號量的任務將被阻塞直到事件發生、該信號量可用。一旦被解阻塞,任務就執行恰當的事件處理程序。信號量在任務同步中的應用對於將中斷服務程序從冗長的事件處理中解放出來以縮短中斷響應時間是很有用的。
互斥信號量
互斥信號量是一種特殊的二進制信號量,用於解決具有內在的互斥問題:優先順序繼承、刪除安全和對資源的遞歸訪問等情況。
對於一般的操作系統,一般互斥信號量就是二值信號靚量,但VxWoks中有非同尋常的意義。另外一個典型就是,Linux內核也單獨設立了互斥信號量。
互斥信號量與二進制不同點在於:
①定義一個互斥信號量時,其已經初始化完畢為可用,它僅用於互斥;
②僅能由取(semTake ())它的任務釋放,即由同一個任務申請然後使用完畢後釋放;
③因為semTake和semGive是成對出現的,因此不能在ISR 中釋放(semGive ())。
優先順序繼承
優先順序倒置發生在一個高優先順序的任務被迫等待一段不確定時間,等待一個低優先順序任務完成。VxWorks允許使用優先順序繼承演算法,在互斥信號量中使用選項SEM-INVERSION-SAFE ,將使能優先順序繼承演算法,優先順序繼承協議確保擁有資源的任務以阻塞在該資源上的所有任務中優先順序最高的任務的優先順序執行,直到它釋放所擁有的所有信號量,然後該任務返回到正常狀態。因此這個「繼承的高優先順序」任務受到不會被任何中間優先順序任務搶占的保護。
刪除安全
另一個互斥問題涉及到任務刪除。在一個受信號量保護的臨界區,經常需要保護在臨界區執行的任務不會被意外地刪除。刪除一個在臨界區執行的任務可能引起意想不到的後果,造成保護資源的信號量不可用,可能導致資源處於破壞狀態,也就導致了其他要訪問該資源的所有任務無法得到滿足。
原語taskSafe()和taskUnsafe ()提供了防止任務被意外刪除的一種方法。同時互斥信號量提供了選項SEM-DELETE-SAFE ,使用這個選項,每次調用semTake ( )時隱含地使能了taskSafe(),當每次調用semGive ()時隱含地使能了taskUnsafe ()這種方式,任務得到信號量時得到不會被刪除的保護。
遞歸資源訪問
互斥信號量能夠被遞歸地獲得。這意味著信號量能夠被一個擁有該信號量的任務在該信號量最終被釋放之前多次獲取。遞歸對於滿足一些子程序即要求能夠相互調用但是也要求互斥訪問一個資源非常有用。這種情形是可能的,因為系統需要跟蹤哪一個任務當前擁有信號量。
計數器信號量
計數器信號量是實現任務同步和互斥的另一種手段,在具體實現上有點差異。計數器信號量除了像二進制信號量那樣工作外,還保持對信號量釋放次數的跟蹤。與二進制信號量不同的時,計數型信號量每次釋放,計數器加一;每次獲取,計數器減一,當信號量減到0 時,試圖獲取該信號量的任務被阻塞。
正如二進制信號量,當計數信號量釋放時,如果有任務阻塞在該信號量阻塞隊列上,那麼任務解除阻塞;但是如果信號量釋放時,沒有任務阻塞在該信號量阻塞隊列上,那麼計數器加一。
結 論
通過對嵌入式操作系統VxWorks的多任務之間的通信機制的分析可以看出,信號量在實現多任務間的通信、同步和互斥中發揮著重要的作用。因此,深入理解和正確使用VxWorks的信號量,可以提高實時系統中多任務間通信的效率
4、CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
?
5、信託中優先順序與次級比例設計的高低有什麼用意嗎?
信託中,優先順序的比例越高,優先順序的投資者保障程度越高。例如,一個億的信託,優先順序和回次級的比為4:1,就答是優先順序募集8000萬,次後級募集2000萬,在優先順序投資者拿回本金和收益前,次級投資者是拿不到錢的。如果信託結束時,只收回了1億元,那麼優先順序可以拿到本金8000萬,如果優先順序的回報率是10%,就需要另外支付優先順序投資者利息800萬,這樣次級就只剩下了1200萬.這主要是一種增信措施,之所以有次級,一般是有資金十分看好這項目或者融資方的關聯方來出資的,不過對普通的優先順序投資者都是利好的,次級的比例越大,對優先順序的投資者來講安全性越高。
6、如何防止優先順序反轉及其繼承 - 如何為遠程醫療設備選擇合適的實時操作系統?
防止優先順序反轉 操作系統中最令人頭疼的錯誤是優先順序反轉。它是指低優先順序任務阻止高優先順序任務完成運行的狀態。例如,在報警控制、數據記錄儀和數據聚合器共享資源的病人監控系統里,優先順序高的任務(報警控制器)必須等待優先順序低的任務(數據記錄器)結束才能繼續運行。第三項任務(數據聚合器)的優先順序比報警控制器的低,但比數據記錄器的高。數據聚合器會搶占數據記錄器的優先順序,進而搶占報警控制器的優先順序,這就無法滿足實時提交的要求。 優先順序繼承 優先順序繼承是指將被阻止的高優先順序任務的優先順序分配給阻止任務的低優先順序線程,直至完成被阻止的任務,以此防止優先順序反轉。例如,數據記錄器可繼承報警控制器的優先順序,這樣它就不會被數據聚合器搶占。當任務結束後,它會恢復最初的優先順序,報警控制器會解除阻止並繼續運行。
圖4 優先順序繼承防止優先順序反轉 確保可用性 對許多系統來說,資源的可用性至關重要。假如某一子系統出現CPU周期匱乏,會導致十分嚴重的後果。例如,如果心臟監護儀的連接中斷可能導致中心監護系統誤認為出現報警情況並派出急救人員,或當病人真出現危急狀況時,系統卻無法發出報警信息。 根據以往經驗,解決這一問題的途徑是更新硬體或重新設計軟體。雖然將新設計的軟體發送到聯網的醫療設備上是一個可行方案,但這不僅使成本高昂,而且還可能導致該設備已有的產品認證失效。 分區分區技術通過執行CPU預算並防止進程獨佔CPU周期,使資源匱乏的問題迎刃而解。可選擇兩種類型的分區:固定式和自適應式。 採用固定分區,系統設計人員為每個任務指定分配的CPU時間。分區內的任務消耗的CPU時間都不能超過分區時已分配的時間比例,以便於其他分區內的進程保持隨時可用,進而保證所有關鍵進程隨時可用。 遺憾的是,採用固定分區時,即使分配到其他地方的周期未被使用,另一個分區內的進程也無法使用,因為它不能使用超出其所在分區預先分配的CPU周期,固定分區雖然能防止系統出現資源匱乏,但它卻浪費了CPU周期,而且削弱了系統應對高峰需求的能力。 與固定分區類似,自適應分區也能防止資源匱乏。然而,自適應分區採用一種動態調度演算法將一個分區內閑置的CPU周期重新分配到另一個需要更多處理時間的分區內。當多個分區內的進程爭奪CPU周期時,自適應分區會執行資源分配。這樣,設計人員就能充分依賴系統資源保證,不必再為固定分區造成的處理能力降低而尋找良策了。 監視、停止或重啟進程 防止整個系統的進程發生連鎖故障和自我修復功能對可信賴的操作系統至關重要。需確保系統可用性的設備可採用面向硬體的高可用性解決方案和軟體監視程序。 監視程序監視系統並進行多級恢復或按要求平穩關機。根據執行方式的不同,當出現故障時它應:先終止然後重啟出現故障的進程而無需重啟系統,或者,終止故障進程和相關進程,初始化硬體使其進入「安全」狀態,然後以協調方式重啟終止的進程,或者,如故障比較嚴重或危及安全,能以受控方式關機或使整個系統復位,並向系統操作員發出報警。 在所有情況下,監視程序都必須能自我監控並靈活響應內部故障。如果監視程序意外停止,它必須通過一個鏡像進程復制本身的狀態。 最後,軟體監視程序能監視傳統硬體監視程序看不到的系統事件。例如,硬體監視程序能確保驅動程序為硬體服務,但卻很難檢測到其他程序是否正與該驅動程序正確通話。軟體監視程序能彌補這一不足,它會在驅動程序本身出現問題前採取行動。 結論 發達國家的人口老齡化趨勢和健康預算緊縮都促使醫療服務方式由常規醫院模式向遠程醫療和家庭自助模式轉變。這些變化和最新技術推動遠程醫療設備的市場不斷擴大,其發展速度之快在十年前是難以想像的。 設備製造商通過認真分析所選操作系統的性能特徵,從而降低成本並提升其產品順利通過行業認證而在市場上大獲成功的機會。
7、設計中,怎樣安排排版優先順序
一、樣式大集合
之前介紹了「嵌入樣式」及「內聯樣式」,前者只對自己所在的內標簽起作容用,後者對當前頁面所有通過了class引用了該樣式的標簽起作用。內聯樣式一般寫在頭部,但是當樣式積少成多,且其他html頁面也要引用當前頁面的樣式的時候(比如針對body的)就比較麻煩了。你肯定不想再寫一遍的
所以又出現了「外聯樣式」,是的,嵌入不足,內聯不夠,所以拉個外場援助。
外聯樣式是寫在另一個文件內的,其文件即格式為 .css ,也稱「樣式表」,之所以是表我想大概是因為瀏覽器要像查表一樣根據類名來查詢吧,然後獲取裡面的樣式內容。其寫法跟style/style里的是一模一樣的,只不過已經有了專用的 .css文件來裝了,自然也就不需要style標簽包裝了。
8、拋開晶元,用硬體如何設計優先順序電路?誰有圖紙?
用三極體和電阻替代邏輯門電路