㈠ 什麼是BIOS如何進入BIOS,BIOS怎樣設置CPU的緩存
BIOS是英文"BasicInputOutputSystem"的縮略詞,直譯過來後中文名稱就是"基本輸入輸出系統"。
它是一組固化到計算機內主板上一個ROM晶元上的程序,它保存著計算機最重要的基本輸入輸出的程序、開機後自檢程序和系統自啟動程序,可從CMOS中讀寫系統設置的具體信息。
BIOS設置CPU的步驟為:
1、首先將電腦重啟,重啟時按住Delete鍵(實際按鍵根據電腦型號決定)進入到BIOS界面。
(1)cas如何進行緩存加鎖擴展閱讀:
進入BIOS環境後,會發現基本硬體信息裡面,幾乎都是灰色不可操作顯示。
CPU二級緩存不可設置的原因在於,CPU設計、製造並封裝測試成為商用晶元後,其物理結構就完全固定了,不像FPGA等可編程處理器類型還存在用戶的自定義設置,所以CPU晶元完成後二級緩存是多少,那就一直是固定值,不會被改變。
BIOS通常只能改變啟動的方式,高級的可以調節CPU的超頻參數,其有關電參量可以一定程度設置,但物理參數無法更改。
㈡ 分布式鎖的三種實現方式
分布式鎖的三種實現方式分別是:基於資料庫實現分布式鎖、基於緩存(Redis等)實現分布式鎖、基於Zookeeper實現分布式鎖。
一、基於資料庫實現分布式鎖
1、悲觀鎖
利用select … where … for update 排他鎖。
注意:其他附加功能與實現一基本一致,這里需要注意的是「where name=lock 」,name欄位必須要走索引,否則會鎖表。有些情況下,比如表不大,mysql優化器會不走這個索引,導致鎖表問題。
2、樂觀鎖
所謂樂觀鎖與前邊最大區別在於基於CAS思想,是不具有互斥性,不會產生鎖等待而消耗資源,操作過程中認為不存在並發沖突,只有update version失敗後才能覺察到,搶購和秒殺就是用了這種實現以防止超賣,通過增加遞增的版本號欄位實現樂觀鎖。
二、基於緩存(Redis等)實現分布式鎖
1、使用命令介紹:
(1)SETNX
SETNX key val:當且僅當key不存在時,set一個key為val的字元串,返回1;若key存在,則什麼都不做,返回0。
(2)expire
expire key timeout:為key設置一個超時時間,單位為second,超過這個時間鎖會自動釋放,避免死鎖。
(3)delete
delete key:刪除key
在使用Redis實現分布式鎖的時候,主要就會使用到這三個命令。
2、實現思想:
(1)獲取鎖的時候,使用setnx加鎖,並使用expire命令為鎖添加一個超時時間,超過該時間則自動釋放鎖,鎖的value值為一個隨機生成的UUID,通過此在釋放鎖的時候進行判斷。
(2)獲取鎖的時候還設置一個獲取的超時時間,若超過這個時間則放棄獲取鎖。
(3)釋放鎖的時候,通過UUID判斷是不是該鎖,若是該鎖,則執行delete進行鎖釋放。
三、基於Zookeeper實現分布式鎖
ZooKeeper是一個為分布式應用提供一致性服務的開源組件,它內部是一個分層的文件系統目錄樹結構,規定同一個目錄下只能有一個唯一文件名。
基於ZooKeeper實現分布式鎖的步驟如下:
(1)創建一個目錄mylock。
(2)線程A想獲取鎖就在mylock目錄下創建臨時順序節點。
(3)獲取mylock目錄下所有的子節點,然後獲取比自己小的兄弟節點,如果不存在,則說明當前線程順序號最小,獲得鎖。
(4)線程B獲取所有節點,判斷自己不是最小節點,設置監聽比自己次小的節點。
(5)線程A處理完,刪除自己的節點,線程B監聽到變更事件,判斷自己是不是最小的節點,如果是則獲得鎖。
(2)cas如何進行緩存加鎖擴展閱讀;
一、資料庫分布式鎖實現的缺點:
1、db操作性能較差,並且有鎖表的風險。
2、非阻塞操作失敗後,需要輪詢,佔用cpu資源。
3、長時間不commit或者長時間輪詢,可能會佔用較多連接資源。
二、Redis(緩存)分布式鎖實現的缺點:
1、鎖刪除失敗,過期時間不好控制。
2、非阻塞,操作失敗後,需要輪詢,佔用cpu資源。
三、ZK分布式鎖實現的缺點:
性能不如redis實現,主要原因是寫操作(獲取鎖釋放鎖)都需要在Leader上執行,然後同步到follower。
㈢ CAS的原理和協議
從結構上看,CAS 包含兩個部分: CAS Server 和 CAS Client。CAS Server 需要獨立部署,主要負責對用戶的認證工作;CAS Client 負責處理對客戶端受保護資源的訪問請求,需要登錄時,重定向到 CAS Server。圖1 是 CAS 最基本的協議過程:
CAS Client 與受保護的客戶端應用部署在一起,以 Filter 方式保護受保護的資源。對於訪問受保護資源的每個 Web 請求,CAS Client 會分析該請求的 Http 請求中是否包含 Service Ticket,如果沒有,則說明當前用戶尚未登錄,於是將請求重定向到指定好的 CAS Server 登錄地址,並傳遞 Service (也就是要訪問的目的資源地址),以便登錄成功過後轉回該地址。用戶在第 3 步中輸入認證信息,如果登錄成功,CAS Server 隨機產生一個相當長度、唯一、不可偽造的 Service Ticket,並緩存以待將來驗證,之後系統自動重定向到 Service 所在地址,並為客戶端瀏覽器設置一個 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新產生的 Ticket 過後,在第 5,6 步中與 CAS Server 進行身份核實,以確保 Service Ticket 的合法性。
在該協議中,所有與 CAS 的交互均採用 SSL 協議,確保,ST 和 TGC 的安全性。協議工作過程中會有 2 次重定向的過程,但是 CAS Client 與 CAS Server 之間進行 Ticket 驗證的過程對於用戶是透明的。
另外,CAS 協議中還提供了 Proxy (代理)模式,以適應更加高級、復雜的應用場景,具體介紹可以參考 CAS 官方網站上的相關文檔。
㈣ cas機制原理
Cas機制原理,簡單來說是使用一個期望值來和當前變數的值進行比較,如果當前的變數值與我們期望的值相等,就用一個新的值來更新當前變數的值。
CAS有三個操作數:內存值V、舊的預期值A、要修改的值B,當且僅當預期值A和內存值V相同時(條件),將內存值修改為B並返回true,否則條件不符合返回false。條件不符合說明該變數已經被其它線程更新。
cas優點:如一描述在並發量不是很高時cas機制會提高效率。
cas缺點:循環時間開銷太大:如果CAS長時間執行不成功,則會給CPU帶來交大的執行開銷。處理器提供一種pause指令可以緩解這部分問題,pause指令有兩個作用,第一它可以延遲流水線執行指令(de-pipeline),使CPU不會消耗過多的執行資源,延遲的時間取決於具體實現的版本,在一些處理器上延遲時間是零。第二它可以避免在退出循環的時候因內存順序沖突(memory order violation)而引起CPU流水線被清空(CPU pipeline flush),從而提高CPU的執行效率。
只能保證一個共享變數的原操作。如果需要對多個共享變數進行同步,就得使用鎖,或者將幾個共享變數封裝起來,使用CAS來進行同步。從Java1.5開始JDK提供了AtomicReference類來保證引用對象之間的原性,你可以把多個變數放在一個對象里來進行CAS操作。
㈤ 那些是原子操作
原子操作(atomic operation)意為」不可被中斷的一個或一系列操作」 。處理器使用基於對緩存加鎖或匯流排加鎖的方式來實現多處理器之間的原子操作。在Java中可以通過鎖和循環CAS的方式來實現原子操作。CAS操作——Compare & Set,或是 Compare & Swap,現在幾乎所有的CPU指令都支持CAS的原子操作。
原子操作是指一個不受其他操作影響的操作任務單元。原子操作是在多線程環境下避免數據不一致必須的手段。int++並不是一個原子操作,所以當一個線程讀取它的值並加1時,另外一個線程有可能會讀到之前的值,這就會引發錯誤。
為了解決這個問題,必須保證增加操作是原子的,在JDK1.5之前我們可以使用同步技術來做到這一點。到JDK1.5,java.util.concurrent.atomic包提供了int和long類型的原子包裝類,它們可以自動的保證對於他們的操作是原子的並且不需要使用同步。
㈥ memcache的cas怎麼用命令操作
Memcache 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。
㈦ 輕量級鎖解鎖為什麼還會失敗
輕量級鎖:
JVM 開發者發現在很多情況下,synchronized 中的代碼是被多個線程交替執行的,而不是同時執行的,也就是說並不存在實際的競爭,或者是只有短時間的鎖競爭,用 CAS 就可以解決,這種情況下,用完全互斥的重量級鎖是沒必要的。輕量級鎖是指當鎖原來是偏向鎖的時候,被另一個線程訪問,說明存在競爭,那麼偏向鎖就會升級為輕量級鎖,線程會通過自旋的形式嘗試獲取鎖,而不會陷入阻塞。
輕量級鎖不是為了代替重量級鎖,它的本意是在沒有多線程競爭的前提下,減少傳統的重量級鎖使用操作系統互斥量產生的性能消耗。
加鎖:
1、首先,JVM在當前線程棧幀中創建用於存儲鎖記錄的空間;
2、將對象頭中的Mark Word復制到鎖記錄中,稱為Displaced Mark Word;
3、線程嘗試使用CAS將對象頭中的Mark Word替換為指向鎖記錄的指針,成功則代表獲得 鎖,失敗表示其他線程競爭鎖,當前線程嘗試使用自旋操作來獲取鎖。
解鎖:
1、 使用CAS將Displaced Mark Word替換回到對象頭;
2、如果成功,則表示沒有競爭發生;
3、 如果失敗,則表示當前鎖存在競爭,鎖就會膨脹為重量級鎖。
輕量級鎖升級過程大概流程圖如下:
當線程2在競爭鎖的時候,輕量級鎖已經升級到了重量級鎖,線程1在進行cas操作就會失敗,這時釋放鎖並喚醒線程2
㈧ 了解redis事務的cas操作嗎
當你使用Redis構建你的服務的時候,一定要記住,你只是找了一個合適的工具來實現你需要的功能。
而不是說你在用Redis構建一個服務,這是很不同的,你把Redis當作你很多工具中的一個,只在合適使用的時候再使用它,在不合適的時候選擇其它的方法。
㈨ 關於window 7的bitlock加密工具怎麼上鎖
計算機重新啟動
一、軟體方面
1.病毒
「沖擊波」病毒發作時還會提示系統將在60秒後自動啟動。
木馬程序從遠程式控制制你計算機的一切活動,包括讓你的計算機重新啟動。
清除病毒,木馬,或重裝系統。
2.系統文件損壞
系統文件被破壞,如Win2K下的KERNEL32.DLL,Win98 FONTS目錄下面的字體等系統運行時基本的文件被破壞,系統在啟動時會因此無法完成初始化而強迫重新啟動。
解決方法:覆蓋安裝或重新安裝。
3.定時軟體或計劃任務軟體起作用
如果你在「計劃任務欄」里設置了重新啟動或載入某些工作程序時,當定時時刻到來時,計算機也會再次啟動。對於這種情況,我們可以打開「啟動畢睿�觳槔錈嬗忻揮凶約翰皇煜さ鬧蔥形募�蚱淥�ㄊ憊ぷ鞽絛潁��淦簾魏笤倏��觳欏5比唬�頤且部梢栽凇霸誦小崩錈嬤苯郵淙搿癕sconfig」命令選擇啟動項。
二、硬體方面
1.機箱電源功率不足、直流輸出不純、動態反應遲鈍。
用戶或裝機商往往不重視電源,採用價格便宜的電源,因此是引起系統自動重啟的最大嫌疑之一。
①電源輸出功率不足,當運行大型的3D游戲等佔用CPU資源較大的軟體時,CPU需要大功率供電時,電源功率不夠而超載引起電源保護,停止輸出。電源停止輸出後,負載減輕,此時電源再次啟動。由於保護/恢復的時間很短,所以給我們的表現就是主機自動重啟。
②電源直流輸出不純,數字電路要求純直流供電,當電源的直流輸出中諧波含量過大,就會導致數字電路工作出錯,表現是經常性的死機或重啟。
③CPU的工作負載是動態的,對電流的要求也是動態的,而且要求動態反應速度迅速。有些品質差的電源動態反應時間長,也會導致經常性的死機或重啟。
④更新設備(高端顯卡/大硬碟/視頻卡),增加設備(刻錄機/硬碟)後,功率超出原配電源的額定輸出功率,就會導致經常性的死機或重啟。
解決方法:現換高質量大功率計算機電源。
2.內存熱穩定性不良、晶元損壞或者設置錯誤
內存出現問題導致系統重啟致系統重啟的幾率相對較大。
①內存熱穩定性不良,開機可以正常工作,當內存溫度升高到一定溫度,就不能正常工作,導致死機或重啟。
②內存晶元輕微損壞時,開機可以通過自檢(設置快速啟動不全面檢測內存),也可以進入正常的桌面進行正常操作,當運行一些I/O吞吐量大的軟體(媒體播放、游戲、平面/3D繪圖)時就會重啟或死機。
解決辦法:更換內存。
③把內存的CAS值設置得太小也會導致內存不穩定,造成系統自動重啟。一般最好採用BIOS的預設設置,不要自己改動。
3.CPU的溫度過高或者緩存損壞
①CPU溫度過高常常會引起保護性自動重啟。溫度過高的原因基本是由於機箱、CPU散熱不良,CPU散熱不良的原因有:散熱器的材質導熱率低,散熱器與CPU接觸面之間有異物(多為質保帖),風扇轉速低,風扇和散熱器積塵太多等等。還有P2/P3主板CPU下面的測溫探頭損壞或P4 CPU內部的測溫電路損壞,主板上的BIOS有BUG在某一特殊條件下測溫不準,CMOS中設置的CPU保護溫度過低等等也會引起保護性重啟。
②CPU內部的一、二級緩存損壞是CPU常見的故障。損壞程度輕的,還是可以啟動,可以進入正常的桌面進行正常操作,當運行一些I/O吞吐量大的軟體(媒體播放、游戲、平面/3D繪圖)時就會重啟或死機。
解決辦法:在CMOS中屏蔽二級緩存(L2)或一級緩存(L1),或更換CPU排除。
4.AGP顯卡、PCI卡(網卡、貓)引起的自動重啟
①外接卡做工不標准或品質不良,引發AGP/PCI匯流排的RESET信號誤動作導致系統重啟。
②還有顯卡、網卡松動引起系統重啟的事例。
5. 並口、串口、USB介面接入有故障或不兼容的外部設備時自動重啟
①外設有故障或不兼容,比如列印機的並口損壞,某一腳對地短路,USB設備損壞對地短路,針腳定義、信號電平不兼容等等。
②熱插拔外部設備時,抖動過大,引起信號或電源瞬間短路。
6.光碟機內部電路或晶元損壞
光碟機損壞,大部分表現是不能讀盤/刻盤。也有因為內部電路或晶元損壞導致主機在工作過程中突然重啟。光碟機本身的設計不良,FireWare有Bug。也會在讀取光碟時引起重啟。
7.機箱前面板RESET開關問題
機箱前面板RESET鍵實際是一個常開開關,主板上的RESET信號是 5V電平信號,連接到RESET開關。當開關閉合的瞬間, 5V電平對地導通,信號電平降為0V,觸發系統復位重啟,RESET開關回到常開位置,此時RESET信號恢復到 5V電平。如果RESET鍵損壞,開關始終處於閉合位置,RESET信號一直是0V,系統就無法加電自檢。當RESET開關彈性減弱,按鈕按下去不易彈起時,就會出現開關稍有振動就易於閉合。從而導致系統復位重啟。
解決辦法:更換RESET開關。
還有機箱內的RESET開關引線短路,導致主機自動重啟。
8. 主板故障
主板導致自動重啟的事例很少見。一般是與RESET相關的電路有故障;插座、插槽有虛焊,接觸不良;個別晶元、電容等元件損害。
三、其他原因
1.市電電壓不穩
①計算機的開關電源工作電壓范圍一般為170V-240V,當市電電壓低於170V時,計算機就會自動重啟或關機。
解決方法:加穩壓器(不是UPS)或130-260V的寬幅開關電源。
②電腦和空調、冰箱等大功耗電器共用一個插線板的話,在這些電器啟動的時候,供給電腦的電壓就會受到很大的影響,往往就表現為系統重啟。
解決辦法就是把他們的供電線路分開。
2.強磁干擾
不要小看電磁干擾,許多時候我們的電腦死機和重啟也是因為干擾造成的,這些干擾既有來自機箱內部CPU風扇、機箱風扇、顯卡風扇、顯卡、主板、硬碟的干擾,也有來自外部的動力線,變頻空調甚至汽車等大型設備的干擾。如果我們主機的搞干擾性能差或屏蔽不良,就會出現主機意外重啟或頻繁死機的現象。
3、交流供電線路接錯
有的用戶把供電線的零線直接接地(不走電度表的零線),導致自動重啟,原因是從地線引入干擾信號。
4.插排或電源插座的質量差,接觸不良。
電源插座在使用一段時間後,簧片的彈性慢慢喪失,導致插頭和簧片之間接觸不良、電阻不斷變化,電流隨之起伏,系統自然會很不穩定,一旦電流達不到系統運行的最低要求,電腦就重啟了。解決辦法,購買質量過關的好插座。
5. 積塵太多導致主板RESET線路短路引起自動重啟。