當前位置:首頁 » 著名認證 » 知名源碼

知名源碼

發布時間: 2020-11-30 01:48:22

『壹』 為什麼說操作系統ucos是實時的ucos是多任務的

u C / O S 是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統。
μC/OS-II 的前身是μC/OS,最早出自於1992 年美國嵌入式系統專家Jean J.Labrosse 在《嵌入式系統編程》雜志的5 月和6 月刊上刊登的文章連載,並把μC/OS 的源碼發布在該雜志的B B S 上。
μC/OS 和μC/OS-II 是專門為計算機的嵌入式應用設計的, 絕大部分代碼是用C語言編寫的。CPU 硬體相關部分是用匯編語言編寫的、總量約200行的匯編語言部分被壓縮到最低限度,為的是便於移植到任何一種其它的CPU 上。用戶只要有標準的ANSI 的C交叉編譯器,有匯編器、連接器等軟體工具,就可以將μC/OS-II嵌人到開發的產品中。μC/OS-II 具有執行效率高、佔用空間小、實時性能優良和可擴展性強等特點, 最小內核可編譯至 2KB 。μC/OS-II 已經移植到了幾乎所有知名的CPU 上。
嚴格地說uC/OS-II只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理,內存管理和任務間的通信和同步等基本功能。沒有提供輸入輸出管理,文件系統,網路等額外的服務。但由於uC/OS-II良好的可擴展性和源碼開放,這些非必須的功能完全可以由用戶自己根據需要分別實現。
uC/OS-II目標是實現一個基於優先順序調度的搶占式的實時內核,並在這個內核之上提供最基本的系統服務,如信號量,郵箱,消息隊列,內存管理,中斷管理等。
任務管理
uC/OS-II 中最多可以支持64 個任務,分別對應優先順序0~63,其中0 為最高優先順序。63為最低級,系統保留了4個最高優先順序的任務和4個最低優先順序的任務,所有用戶可以使用的任務數有56個。
uC/OS-II提供了任務管理的各種函數調用,包括創建任務,刪除任務,改變任務的優先順序,任務掛起和恢復等。
系統初始化時會自動產生兩個任務:一個是空閑任務,它的優先順序最低,改任務僅給一個整形變數做累加運算;另一個是系統任務,它的優先順序為次低,改任務負責統計當前cpu的利用率。
時間管理
uC/OS-II的時間管理是通過定時中斷來實現的,該定時中斷一般為10毫秒或100毫秒發生一次,時間頻率取決於用戶對硬體系統的定時器編程來實現。中斷發生的時間間隔是固定不變的,該中斷也成為一個時鍾節拍。
uC/OS-II要求用戶在定時中斷的服務程序中,調用系統提供的與時鍾節拍相關的系統函數,例如中斷級的任務切換函數,系統時間函數。
內存管理
在ANSI C中是使用malloc和free兩個函數來動態分配和釋放內存。但在嵌入式實時系統中,多次這樣的錯作會導致內存碎片,且由於內存管理演算法的原因,malloc和free的執行時間也是不確定。
uC/OS-II中把連續的大快內存按分區管理。每個分區中包含整數個大小相同的內存塊,但不同分區之間的內存快大小可以不同。用戶需要動態分配內存時,系統選擇一個適當的分區,按塊來分配內存。釋放內存時將該塊放回它以前所屬的分區,這樣能有效解決碎片問題,同時執行時間也是固定的。
任務間通信與同步
對一個多任務的操作系統來說,任務間的通信和同步是必不可少的。uC/OS-II中提供了4中同步對象,分別是信號量,郵箱,消息隊列和事件。所有這些同步對象都有創建,等待,發送,查詢的介面用於實現進程間的通信和同步。
任務調度
uC/OS-II 採用的是可剝奪型實時多任務內核。可剝奪型的實時內核在任何時候都運行就緒了的最高優先順序的任務。
uC/os-II的任務調度是完全基於任務優先順序的搶占式調度,也就是最高優先順序的任務一旦處於就緒狀態,則立即搶占正在運行的低優先順序任務的處理器資源。為了簡化系統設計,uC/OS-II規定所有任務的優先順序不同,因為任務的優先順序也同時唯一標志了該任務本身。
任務調度將在以下情況下發生:
1) 高優先順序的任務因為需要某種臨界資源,主動請求掛起,讓出處理器,此時將調度就緒狀態的低優先順序任務獲得執行,這種調度也稱為任務級的上下文切換。
2) 高優先順序的任務因為時鍾節拍到來,在時鍾中斷的處理程序中,內核發現高優先順序任務獲得了執行條件(如休眠的時鍾到時),則在中斷態直接切換到高優先順序任務執行。這種調度也稱為中斷級的上下文切換。
這兩種調度方式在uC/OS-II的執行過程中非常普遍,一般來說前者發生在系統服務中,後者發生在時鍾中斷的服務程序中。
調度工作的內容可以分為兩部分:最高優先順序任務的尋找和任務切換。其最高優先順序任務的尋找是通過建立就緒任務表來實現的。u C / O S 中的每一個任務都有獨立的堆棧空間,並有一個稱為任務控制塊TCB(Task Control Block)的數據結構,其中第一個成員變數就是保存的任務堆棧指針。任務調度模塊首先用變數OSTCBHighRdy 記錄當前最高級就緒任務的TCB 地址,然後調用OS_TASK_SW()函數來進行任務切換。
μC/OS-II的組成部分
μC/OS-II可以大致分成核心、任務處理、時間處理、任務同步與通信,CPU的移植等5個部分。
1) 核心部分(OSCore.c)
是操作系統的處理核心,包括操作系統初始化、操作系統運行、中斷進出的前導、時鍾節拍、任務調度、事件處理等多部分。能夠維持系統基本工作的部分都在這里。
2) 任務處理部分(OSTask.c)
任務處理部分中的內容都是與任務的操作密切相關的。包括任務的建立、刪除、掛起、恢復等等。因為μC/OS-II是以任務為基本單位調度的,所以這部分內容也相當重要。
3) 時鍾部分(OSTime.c)
μC/OS-II中的最小時鍾單位是timetick(時鍾節拍)。任務延時等操作是在這里完成的。
4) 任務同步和通信部分
為事件處理部分,包括信號量、郵箱、郵箱隊列、事件標志等部分;主要用於任務間的互相聯系和對臨界資源的訪問。
5) 與CPU的介面部分
是指μC/OS-II針對所使用的CPU的移植部分。由於μC/OS-II是一個通用性的操作系統,所以對於關鍵問題上的實現,還是需要根據具體CPU的具體內容和要求作相應的移植。這部分內容由於牽涉到SP等系統指針,所以通常用匯編語言編寫。主要包括中斷級任務切換的底層實現、任務級任務切換的底層實現、時鍾節拍的產生和處理、中斷的相關處理部分等內容。
uC/OS-II的任務切換機理及中斷調度優化
摘要:μC/OS-II是一種適用於嵌入式系統的搶占式實時多任務操作系統,開放源代碼,便於學習和使用。介紹μC/OS-II在任務級和中斷級的任務切換原理,以及這一操作系統基於嵌入式系統的對於中斷的處理;相對於內存資源較少的單片機,著重討論一種優化的實用堆棧格式和切換形式,以提高資源的利用率;結合MSP430單片機,做具體的分析。 關鍵詞:實時多任務操作系統 μC/OS MSP430 中斷 堆棧
引 言
在嵌入式操作系統領域,由Jean J. Labrosse開發的μC/OS,由於開放源代碼和強大而穩定的功能,曾經一度在嵌入式系統領域引起強烈反響。而其本人也早已成為了嵌入式系統會議(美國)的顧問委員會的成員。
不管是對於初學者,還是有經驗的工程師,μC/OS開放源代碼的方式使其不但知其然,還知其所以然。通過對於系統內部結構的深入了解,能更加方便地進行開發和調試;並且在這種條件下,完全可以按照設計要求進行合理的裁減、擴充、配置和移植。通常,購買RTOS往往需要一大筆資金,使得一般的學習者望而卻步;而μC/OS對於學校研究完全免費,只有在應用於盈利項目時才需要支付少量的版權費,特別適合一般使用者的學習、研究和開發。自1992第1版問世以來,已有成千上萬的開發者把它成功地應用於各種系統,安全性和穩定性已經得到認證,現已經通過美國FAA認證。
1 μC/OS-II的幾大組成部分
μC/OS-II可以大致分成核心、任務處理、時間處理、任務同步與通信,CPU的移植等5個部分。
核心部分(OSCore.c) 是操作系統的處理核心,包括操作系統初始化、操作系統運行、中斷進出的前導、時鍾節拍、任務調度、事件處理等多部分。能夠維持系統基本工作的部分都在這里。
任務處理部分(OSTask.c) 任務處理部分中的內容都是與任務的操作密切相關的。包括任務的建立、刪除、掛起、恢復等等。因為μC/OS-II是以任務為基本單位調度的,所以這部分內容也相當重要。
時鍾部分(OSTime.c) μC/OS-II中的最小時鍾單位是timetick(時鍾節拍)。任務延時等操作是在這里完成的。
任務同步和通信部分 為事件處理部分,包括信號量、郵箱、郵箱隊列、事件標志等部分;主要用於任務間的互相聯系和對臨界資源的訪問。
與CPU的介面部分 是指μC/OS-II針對所使用的CPU的移植部分。由於μC/OS-II是一個通用性的操作系統,所以對於關鍵問題上的實現,還是需要根據具體CPU的具體內容和要求作相應的移植。這部分內容由於牽涉到SP等系統指針,所以通常用匯編語言編寫。主要包括中斷級任務切換的底層實現、任務級任務切換的底層實現、時鍾節拍的產生和處理、中斷的相關處理部分等內容。
2 對於MSP430的中斷處理
2.1 函數調用和中斷調用的操作
MSP430最常使用的C編譯器應該就是IAR Embedd-ed WorkBench。對於這一編譯器來說,通過分析和研究,發現它有以下規律。
(1)函數調用
如果是函數級調用,編譯器會在函數調用時先把當前函數PC壓棧,然後調用函數,PC值改變。
如果被調用的函數帶有參數,那麼,編譯器按照以下的規則進行。
最左邊的兩個參數如果不是struct(結構體)或者union(聯合體),將被賦值到寄存器,否則將被壓棧。函數剩下的參數都將被壓棧。根據最左邊的那兩個參數的類型,分別賦值給R12(對於32位類型賦值給R12:R13)和R14(對於32位類型賦值給R14:R15)。
(2)中斷調用
如果是在中斷中調用中斷服務子程序的話,編譯器將把當前執行語句的PC壓棧,同時再把SR壓棧。接著,根據中斷服務子程序的復雜程度,選擇把R12~R15中的寄存器壓棧。然後,執行中斷服務子程序。中斷處理結束後再把Rx寄存器出棧,SR出棧,PC出棧。把系統恢復到中斷前的狀態,使程序接著被中斷的部分繼續運行。
圖3 中斷發生時的任務棧壓棧操作
2.2 任務級和中斷級的任務切換步驟和原理
(1)任務級的任務切換原理
μC/OS-II是一個多任務的操作系統,在沒有用戶自己定義的中斷情況下,任務間的切換步驟是這樣的:任務間的切換一般會調用OSSched()函數。函數的結構如下:
void OSSched(void){
關中斷
如果(不是中斷嵌套並且系統可以被調度){
確定優先順序最高的任務
如果(最高級的任務不是當前的任務){
調用OSCtxSw();
}
}
開中斷
}
我們把這個函數稱作任務調度的前導函數。它先判斷要進行任務切換的條件,如果條件允許進行任務調度,則調用OSCtxSw()。這個函數是真正實現任務調度的函數。由於期間要對堆棧進行操作,所以OSCtxSw()一般用匯編語言寫成。它將正在運行的任務的CPU的SR寄存器推入堆棧,然後把R4~R15壓棧。接著把當前的SP保存在TCB->OSTCBStkPtr中,然後把最高優先順序的TCB->OSTCBStkPtr的值賦值給SP。這時候,SP就已經指到最高優先順序任務的任務堆棧了。然後進行出棧工作,把R15~R4出棧。接著使用RETI返回,這樣就把SR和PC出棧了。簡單地說,μC/OS-II切換到最高優先順序的任務,只是恢復最高優先順序任務所有的寄存器並運行中斷返回指令(RETI),實際上,所作的只是人為地模仿了一次中斷。
(2)中斷級的任務切換原理
μC/OS-II的中斷服務子程序和一般前後台的操作有少許不同,往往需要這樣操作:
保存全部CPU寄存器
調用OSIntEnter()或OSIntNesting++
開放中斷
執行用戶代碼
關閉中斷
調用OSIntExit();
恢復所有CPU寄存器
RETI
OSIntEnter()就是將全局變數OSIntNesting加1。OSIntNesting是中斷嵌套層數的變數。μC/OS-II通過它確保在中斷嵌套的時候,不進行任務調度。執行完用戶的代碼後,μC/OS-II調用OSIntExit(),一個與OSSched()很像的函數。在這個函數中,系統首先把OSIntNesting減1,然後判斷是否中斷嵌套。如果不是的話,並且當前任務不是最高優先順序的任務,那麼找到優先順序最高的任務,執行OSIntCtxSw()這一出中斷任務切換函數。因為,在這之前已經做好了壓棧工作;在這個函數中,要進行R15~R4的出棧工作。而且,由於在之前調用函數的時候,可能已經有一些寄存器被壓入了堆棧。所以要進行堆棧指針的調整,使得能夠從正確的位置出棧。
3 使用μC/OS-II存在的問題和解決方法
由於μC/OS-II在應用的時候會佔用單片機上的一些資源,如系統時鍾、RAM、Flash或者ROM,從而減少了用戶程序對資源的利用。對於MSP430來說,RAM的佔用是特別突出的問題。對於8、16位的單片機來說,片內的RAM容量都很小,MSP430也是如此(最大的片內RAM也只有2KB,例如MSP430F149)。如果使用擴展內存,會大大增加設計難度。
通過對μC/OS-II的分析可以得知,μC/OS-II佔用的RAM主要是用在每個任務的TCB、每個任務的堆棧等方面。通過進一步分析,發現任務堆棧大的原因是因為MSP430的硬體設計中沒有把中斷堆棧和任務堆棧分開。這樣就造成了在應用μC/OS-II的時候,考慮每個任務的任務堆棧大小時,不單單需要計算任務中局部變數和函數嵌套層數,還需要考慮中斷的最大嵌套層數。因為,對於μC/OS-II原始的中斷處理的設計、中斷處理過程中的中斷嵌套中所需要壓棧的寄存器大小和局部變數的內存大小,都需要算在每個任務的任務堆棧中,則對於每一個任務都需要預留這一部分內存,所以大量的RAM被浪費。從這里可以看出,解決這一問題的直接方法就是把中斷堆棧和每個任務自己的堆棧分開。這樣,在計算每個任務堆棧的時候,就不需要把中斷處理中(包括中斷嵌套過程中)的內存的佔用計算到每個任務的任務堆棧中,只需要計算每個任務本身需要的內存大小,從而提高了RAM的利用率,可以緩解內存緊張的問題。
在這種設計方案中,中斷堆棧區也就是利用原有的MSP430中的系統堆棧區。在前後台的設計形式中,中斷中的壓棧和出棧的操作都是在系統的堆棧區完成的。基於μC/OS-II的任務切換的原理,我們對於任務堆棧的功能和系統堆棧的功能做了以下劃分:任務在運行過程中產生中斷和任務切換的時候,PC和SR以及寄存器Rx都保存在各個任務自己的任務堆棧中;而中斷嵌套產生的壓棧和出棧的操作都是放在系統堆棧中進行的。這種劃分方式是基於盡量將中斷任務與普通任務分開的思想設計的。
從前面對於IAR EW的默認操作分析來看,堆棧的結構可以有兩種。一種是把μC/OS-II的任務堆棧設計成圖1所示的形式。這種方法是把編譯器默認的壓棧操作放在前面,然後再把剩下的寄存器進棧。但是,由於編譯器在處理復雜程度不同的中斷服務程序的時候,壓入棧的寄存器的數量不定,所以會對以後其餘寄存器的壓棧和出棧操作增加復雜度。這里,我們採用了圖2所示的方式生成堆棧。在這種堆棧中,PC和SR壓棧後,通過調整SP指針,使得R4~R15寄存器覆蓋編譯器默認壓棧的寄存器。這樣,處理的難度會小一點。
對於這樣的設計方式,CPU必須能夠:
◆ 有相應的CPU寄存器能夠模仿SP的一些功能,能使用相應的指令來完成類似SP的一些操作;
◆ 作為SP使用的寄存器在編譯過程中最好不被編譯器默認使用。在IAR的編譯器中,有一個選項可以避免在編譯過程中使用到R4、R5。
這兩點MSP430都可以做到。
下面對一個正在運行的優先順序為6的任務中斷後,會發生的幾種情況進行分析。
1)在中斷的處理過程中沒有更高優先順序的中斷產生,即不會產生中斷嵌套。
圖3所示為中斷發生後對於任務優先順序為6的任務堆棧所進行的操作。中斷發生後,PC和SR被系統壓棧②,對於IAR C編譯器來說,會按照復雜度不同的中斷服務程序的要求,默認地進行一些寄存器的壓棧操作③。因為我們要求的堆棧格式是如圖2所示的,我們要把SP調整到SR後面④,然後進行R4~R15的壓棧操作,形成我們所要求的堆棧格式⑤。
進行任務堆棧的壓棧工作以後,就可以調整SP的指針到系統堆棧了,如圖4所示。壓棧後的SP指向最後一個壓棧內容①。我們把SP的值賦值給優先順序6任務的TCB->OSTCBStkPtr,以便進行任務調度的時候出棧使用②。接著,就把SP調整到系統堆棧處③。在中斷處理過程中,可能會出現壓棧的操作,那麼這種情況下SP的指針會隨之移動。由於現在是中斷堆棧中,所以不會破壞任務堆棧的格式。
由於沒有中斷嵌套,在中斷處理中沒有別的中斷發生,那麼返回的步驟和上述的進棧操作正好相反。在中斷處理完了以後,SP會自動回到圖4中③的SP位置。接著,系統會查詢到優先順序最高的任務,然後把SP的指針移到優先順序最高的任務的任務堆棧,進行R15~R4的出棧工作,最後用RETI中斷返回指令返回到新的任務。因為我們把所有的任務堆棧都規定成相同的格式,所以它們之間不會產生問題。這里需要注意的是,因為系統在C編譯器的中斷處理中會對中斷進入時默認壓棧的寄存器出棧,所以在設計出棧的程序時,要先把這些內容壓棧,這樣才能正確出棧。
2)在中斷的處理過程中,有別的中斷產生,產生中斷嵌套。
如圖5所示,由於在處理中斷的時候,SP已經被移到系統堆棧去了,只有當中斷退出的時候才可能把SP移到別的任務的任務堆棧中。所以在中斷的時候進行中斷嵌套,那麼對於中斷的處理和第一次是一樣的,所不同的是,這次保存在堆棧中的不是任務運行中的寄存器,而是中斷處理中的寄存器,而且是保存在系統堆棧中而不是任務堆棧中。從這里就可以看出優化內存的效果。所有的中斷嵌套中的寄存器壓棧都壓在系統堆棧中,這樣對於任務堆棧內存大小的要求大大降低。
因為μC/OS-II在進入中斷中,會把全局變數OSIntNesting++;在退出中斷的時候,又會把OSIntNesting--。在退出中斷進行任務切換之前,μC/OS-II會先判斷OSIntNesting是否為0,是0才會進行任務調度。當第二中斷運行結束以後,退出中斷嵌套的時候,OSIntNesting不為0,也就不會進行任務調度。因此,仍舊在系統堆棧出棧,那麼系統會繼續前面沒有完成的中斷服務程序。
接著退出中斷的順序和非中斷嵌套的順序是一樣的。在中斷處理完以後,SP會自動回到圖4中③的SP位置。接著,系統會查詢到優先順序最高的任務,然後把SP的指針移到優先順序最高的任務的任務堆棧。進行R15~R4的出棧工作,最後用RETI中斷返回指令返回到新的任務。
中斷的情況基本上就是上述兩種。對於有些文獻中提到的在中斷中會調度到更高優先順序的任務的情況,筆者覺得是不應該發生的。因為從上面的分析可以看出,默認的(μC/OS-II的設計思路)中斷處理會同時對全局變數OSIntNesting進行增減處理,以給出是否需要任務調度的條件。那麼即使在中斷服務程序中把更高優先順序的任務就緒,也會等到中斷退出以後再進行調度,除非是在中斷中直接調用更高優先順序的任務函數。但這種方法應該是和μC/OS-II的原則相違背的,沿用的是以前前後台設計的思路。
對於這樣的設計方式,時鍾節拍的處理方式必須和一般的中斷處理方式是一樣的。一般來說,MSP430使用WATCHDOG時鍾中斷作為時鍾節拍的產生源。從本質上來說,時鍾節拍本身也是中斷處理過程,所以對於時鍾節拍的處理應該和其它的中斷處理過程相同。實際上,在時鍾節拍的處理過程中也可能會存在中斷嵌套的問題。
中斷堆棧和任務堆棧分離設計的程序流程如圖6所示。
4 幾點建議
① 編寫中斷程序的時候,有條件盡量使用匯編語言。因為這樣可以避免一些編譯器自己進行的操作,減少指針調整的次數。
② 在用C編寫中斷服務的時候,因為有些功能必須調用匯編的函數才能實現。調用函數時,有些時候壓棧的PC會破壞堆棧的結構。這個時候需要把堆棧進行適當的調整,保證堆棧格式的正確。
③ 中斷處理過程中調用OSIntExit()的時候,由於 μC/OS-II的原始設計中SP指針有時是不調整的,所以在OSIntExit()返回了以後,還要判斷一下是否中斷嵌套。因為有的時候是需要切換任務的。

『貳』 Java可以考哪些含金量高的證書

大學生求職十大最有用的證書NO.1:英語證書
大學英語四、六級證書(CET-4,CET-6):極其重要;
專業八級:只有英語專業才有資格考,但很多職位要求,如翻譯或者外籍主管的助理;
大學英語四、六級口語證書:證書不重要,能力重要,面試的表達重要;
英語中高級口譯:含金量很高;
托福(TOFEL):只有少數企業會問到是否考過托福,但同時會擔心你工作不久後,可能會出國溜掉;
雅思(IELTS):少數英聯邦國家企業會注意到你考過雅思,但絕不是必要條件;
劍橋商務英語(BEC):證書說明了你的英語能力,還有你在大學里很好學,懶惰的同學不會去學,或者學了考不過的;這是企業關注的。
托業考試(TOEIC):雞肋,有比沒有好;沒有培訓,只是考試,企業不感冒。
小結:四六級證書最重要,其他有比無好;至於口語,關鍵看面試時的表現。
NO.2:計算機證書
Office操作是基本技能,不需要證書的。
全國計算機二級證書:有些大城市申請戶口時用,必要條件,如上海市。
此外還有三級和四級。
其他如:ACCP、MCSA、CCNA,以及名目繁多的專項技能計算機證書,則與未來具體的工作選擇相關,不是每個企業都會看重,甚至知道這些證書的。
我們統計了約5萬條招聘信息,18.6%的招聘信息中提到了計算機,但提及具體證書的不到0.1%。更多的描述是模糊的,例如:「從事Java編程兩年經驗」「熟練電腦操作」。對很多同學來說,如果從大二開始學習Java,到大四時可以算做三年經驗了。
小結:關於計算機技能的各種培訓很多,但被企業認同的證書卻不多,關鍵看實際操作技能。
NO.3:學校證書
包括:獎學金證書、三好學生、優秀畢業生、優秀學生幹部等
獎學金證書非常重要,有的HR看不懂大家給出的各種復雜演算法的GPA,但一看是否有獎學金,就有一個大概印象了。獎學金證書被很多企業列為篩選簡歷的必要條件,沒有獎學金,就沒有面試機會。
學生幹部經歷非常重要,如果再有一個「優秀學生幹部」的證書,就更能起到證明作用了。
三好學生、優秀畢業生等,在申請戶口時候可以加分(上海),非常重要。
還有一項不是證書的,黨員,在申請公務員、到中學當教師的時候,作用很大。
NO.4:第二外語證書
會一門第二外語,將大大增加進入相關企業的機會。
時下比較熱門的第二外語:
日語(世界500強中87家日本企業)
法語(世界500強中36家法國企業)
德語(世界500強中35家德國企業)
韓語(世界500強中13家韓國企業)
其他如葡萄牙語、西班牙語、義大利語、阿拉伯語等,因為中國與南美國家的經濟往來,與阿拉伯國家的石油合作,前景看好。
還有,學習德語和法語,不僅是找工作,還可以在申請到德國或法國留學時起到作用。
NO.5:財務類證書
注冊會計師(CPA):共五科,每科報名費80元
注冊金融分析師(CFA):需要相關方面3年以上工作經驗,考證難度很高(考證費用2~3萬元)。
特許公認會計師(ACCA):ACCA被稱為「會計師界的金飯碗」。英國立法許可ACCA會員從事審計、投資顧問和破產執行的工作,有資格直接在歐盟國家執業。(考試費用在2萬元以內)。
希望從事財務工作,或者以後要做職業經理人的,財務知識必不可少,財務類證書和財務知識使你早日成功。
NO.6:專業資格證書
很多很多,要看專業和行業情況,如:律師資格證書,適用於未來立志於當律師的同學;
CAD工程師認證證書:多用於機械、室內裝飾、建築行業;
導游資格證書:根據國家規定,導遊人員必須持證上崗;
報關員證書:有證書才有資格;
人力資源從業資格證書;
國家司法考試證書;
駕駛證:不是應聘司機才需要
NO.7:兼職實習證明
因為沒有經驗,所以才叫「應屆生」,所以工作才難找。
但是,具有了相關的兼職實習經驗,就成了應屆生中的「有工作經驗」的,具有優勢,脫穎而出。
參加一些知名企業的實習生計劃,更有可能直接留在公司工作,如:寶潔80%實習生留下成為正式員工;GE50%留下:IBM50%留下,等等。
有相關企業兼職實習經歷及證明,求職時極具優勢。
NO.8:發表論文、專利證書
對於研究生來說,做過相關項目,撰寫過有質量的相關論文,被EI/SCI收錄,這些發表論文的證明,在尋求相關工作的時候會有極大的幫助。
另外,本科生或研究生在申請出國的時候,如果發表過高質量的論文,就更容易獲得國外教授的青睞。
還有專利證書,在申請戶口中起加分作用。專利申請分為發明、實用新型和外觀設計三種類型,發明專利較難,但實用新型和外觀設計專利還是非常容易申請的。擁有專利和申請專利都可以獲得戶口加分,而且企業對專利證書也很重視。
NO.9:競賽獲獎證書
大學里或者社會上的各種競賽,獲獎證書也非常受青睞。
一名同學大學里多次參加辯論賽獲獎,被一家企業老總直接聘為總裁助理;
西安交大一名同學,挑戰杯獲獎,直接獲得了麻省理工(MIT)的全獎;
上海交大兩名參加ACM競賽獲獎的同學,李開復直接打來電話搶先挖去;
歐萊雅「全球商業策略競賽」的獲獎者,大多直接獲得了在歐萊雅工作的機會;
浙大一名同學大學四年不斷參加各類編程比賽,累計贏得獎金20萬美元,近日被topcoder聘為中國技術副總裁;通過參加競賽鍛煉能力,獲得證書,找到工作的例子遍地都是。
NO.10:畢業證、學位證、第二學位
這是最重要的證書,存在三點區別:一是名牌院校和普通院校的區別;二是熱門專業和冷門專業的區別;三是專科、本科、研究生的區別。
專業背景是企業最最看重的,很多職位只給限定專業畢業同學面試機會。
具有第二學位,跨學科輔修某些專業,使自己成為復合型人才,也是很多企業所看重的。
雖然說企業看重能力,而不是學歷,但名牌大學、熱門專業,就是一塊有分量的敲門磚,進得門里才有機會展現能力。
總結:
證書代表了大家的能力;
證書代表了大家在大學期間沒偷懶;
證書代表了一種追求上進、不甘平凡的生活態度

『叄』 學了java可以做什麼

對於很多新手來說,剛開始接觸Java會很迷惘,不知道Java可以做什麼。其實Java 可以做的東西太多了,手機游戲、中間件、軟體、網站,電腦游戲,以及現在流行的安卓手機app等,都是由java語言編寫的。由於Java擁有很高的安全性、平台移植性等,所以受到廣大程序員的喜愛。

java可以做軟體:一般編程語言都可以做軟體的,Java 也不例外,例如Eclipse,MyEclipse等知名Java開發工具。有關開發軟體組件,可以了解Java Swing編程 或者 awt 相關知識。

Java可以用來編寫網站:對於學生來說,最關心的是java能做什麼,市場上招什麼工作都跟java有關。現在很多大型網站都用jsp寫的,JSP 全名為 Java Server Pages。它是一種動態網頁技術,比如我們熟悉的163,一些政府網站都是採用JSP編寫的。所以學習Java的同學可以找編寫網站方面的工作,而且現在找這方面的崗位比較多。

除了這些Java還有很多用途,家裡的洗衣機、微波爐等家電有可能是java控制的,這是單片機的知識。找到自己喜歡的一個方向,專攻一個領域,才會做出成績。

『肆』 芝加哥著名建築物 玻璃球 叫什麼 源代碼里有啊

芝加哥著名建築物「玻璃球」叫叫雲門,位於芝加哥藝術研究院新館「現代之翼」。

『伍』 源碼論壇類網站有多少呢有多少是站長界知名的

chinaz和admin5的源碼站已經是最好的了,至少干凈

『陸』 著名的GPL自由軟體包括Linux核心和GCC,可以收費嗎

是不是由此衍生的一切軟體都是GPL的,是否這些衍生品都是「自由」的?
是 這正是GPL的意義所在

或者說,以Linux為核心的軟體,必須是開源的,還有收費的嗎?有人收費,是否侵權
自由軟體與是否收費沒有關系,自由的含義是必須可以自由獲取源代碼,自由修改,自由發布新版本。由於自由軟體這個特性,很多時候它們都是免費的。但是這不代表不能收費。就好象有些PDF電子書,完全一樣的版本,你可以選擇下載,或者付費下載。

那麼,紅帽子系列的伺服器版的核心也是Linux吧?為什麼是收費的?
是Linux。所以Red hat必須公開它的源代碼。RHEL的源代碼可以在Red hat的官方伺服器上免費下載(ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS)。其中CentOS是一個使用RHEL源代碼編譯的發行版,是社區維護的,沒有任何費用問題。

---------------------------------------------
> 請問"sylecn"由於使用GPL授權協議,我遵循開源的同時,我對自己編寫的自由軟體具有嚴格意義的著作權嗎?

你對自己編寫的軟體完全擁有著作權,要不然你就沒有資格用GPL來保護它。
正因為是你的軟體,你才能要求使用/克隆你的軟體的作者同樣要遵循GPL。保證自由軟體延續「自由」特性。
參考:http://www.gnu.org/licenses/gpl-howto.html

『柒』 php有沒有一些知名的源碼,牛逼程序員的比較高效的源碼都有哪些

知名的源碼太多了,就看你想幹啥了,
discuz源碼,可以研究研究,騰訊花4000W美金收購的論壇系統,

『捌』 除了K2 BPM,H3 BPM,炎黃盈動這幾個國內BPM廠家,還有什麼其他主流BPM系統

國內專注信息化建設領域調查和研究的權威機構「T研究」年初發布了《2019年中國BPM市場行業洞察報告》,我摘錄報告的相關內容供你參考:

BPM市場競爭格局

1、國產化BPM已形成對國外產品的反超:近年來國產化BPM迎來高光時刻,以北京炎黃(Java)、廣州天翎(java)、奧折H3(.NET)、上海易正(.NET)等為代表的國內BPM產品實現了技術、功能和場景的多重突破,大量進入國內企業客戶采購名錄並成功替換國外一線大廠品牌和ERP集成商,而以K2、SAP為代表的國外BPM品牌逐漸失去了領先優勢;

2、傳統的OA和工作流紛紛為BPM讓路:BPM是以規范化的構造端到端的卓越業務流程為中心,以持續的提高組織業務績效為目的的系統化工具和方法論,無論是理念還是功能,都是傳統OA和工作流無法企及的,泛微、致遠等OA廠商也意識到趨勢所在並發出了明確進軍BPM的信號,但在產品和技術上和專業BPM品牌相比依然有不小差距;

3、BPM選型成為企業關注焦點:BPM在中國的發展已經突破窗口期步入快車道,數據顯示BPM客戶增長率在25%以上!國外品牌雖然展現頹勢但依然不可小覷、國內協同OA廠商紛紛布局BPM、國內專業BPM品牌差距日漸縮小……這對終端企業選型BPM造成了幸福的煩惱,需要從過硬的流程開發技術、豐富的業務領域解決方案和創新的本地化交付服務機制等多維度進行綜合考察;

4、信創工程/安可工程對BPM發展影響:這一條是我個人補充的,受華為、中興等事件影響,網路信息安全已上升為國家層面的戰略事項,國家現在大力推動信創產業發展,明確要求黨政機關、事業單位、武警部隊、國有企業必須陸續完成信息化軟硬體的國產化替代,這對於炎黃、天翎等國產化BPM廠商來說蘊藏豐富機會,但對於K2、安碼等國外BPM廠商來說就是陰雨天了。

『玖』 有哪些著名的源代碼開放組織

最著名的當屬Linux了。
世界知名開放源碼組織OSDL(Open Source Development Labs)
還有Java Sun,火狐瀏覽器
還有好多呢,IBM也開始與俄羅斯聯合開源了。

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837