嵌入式設(shè)計(jì)師軟考考綱歸納總結(jié) 2018-11-11

1 FPGA 和CPLD

##1.1 FPGA和CPLD的區(qū)別差異

①CPLD更適合完成各種算法和組合邏輯,F(xiàn)PGA更適合于完成時(shí)序邏輯。換句話說(shuō),F(xiàn)PGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。

②CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測(cè)性。

③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過(guò)修改具有固定內(nèi)連電路的邏輯功能來(lái)編程,F(xiàn)PGA主要通過(guò)改變內(nèi)部連線的布線來(lái)編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。

④FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。

⑤CPLD比FPGA使用起來(lái)更方便。CPLD的編程采用E2PROM或FASTFLASH技術(shù),無(wú)需外部存儲(chǔ)器芯片,使用簡(jiǎn)單。而FPGA的編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜。 ⑥CPLD的速度比FPGA快,并且具有較大的時(shí)間可預(yù)測(cè)性。這是由于FPGA是門級(jí)編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)是集總式的。

⑦在編程方式上,CPLD主要是基于E2PROM或FLASH存儲(chǔ)器編程,編程次數(shù)可達(dá)1萬(wàn)次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。CPLD又可分為在編 程器上編程和在系統(tǒng)編程兩類。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。其 優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置。

⑧CPLD保密性好,F(xiàn)PGA保密性差。

⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。

隨著復(fù)雜可編程邏輯器件(CPLD)密度的提高,數(shù)字器件設(shè)計(jì)人員在進(jìn)行大型設(shè)計(jì)時(shí),既靈活又容易,而且產(chǎn)品可以很快進(jìn)入市常許多設(shè)計(jì)人員已經(jīng)感受到 CPLD容易使用。時(shí)序可預(yù)測(cè)和速度高等優(yōu)點(diǎn),然而,在過(guò)去由于受到CPLD密度的限制,他們只好轉(zhuǎn)向FPGA和ASIC。現(xiàn)在,設(shè)計(jì)人員可以體會(huì)到密度 高達(dá)數(shù)十萬(wàn)門的CPLD所帶來(lái)的好處。

1.2 FPGA的組成

CLB : 可編程邏輯宏單元

IOB :可編程輸入輸出單元

互聯(lián)資源:可編程的互聯(lián)開關(guān)矩陣、內(nèi)部長(zhǎng)線、總線等

重構(gòu)邏輯和程序存儲(chǔ)器

2 嵌入式微處理器基礎(chǔ)

2.1 結(jié)構(gòu)和類型

立即尋址就是指令當(dāng)中自帶數(shù)據(jù),直接讀取,最快;

直接尋址就是指令中存放的是地址,直接解析這個(gè)地址;

間接尋址就只指令中存放的是地址的地址,或者是存放地址的寄存器,最慢。

2.2 多核結(jié)構(gòu)

對(duì)于多核CPU,優(yōu)化操作系統(tǒng)任務(wù)調(diào)度算法是保證效率的關(guān)鍵。一般任務(wù)調(diào)度算法有全局隊(duì)列調(diào)度和局部隊(duì)列調(diào)度。前者是指操作系統(tǒng)維護(hù)一個(gè)全局的任務(wù)等待隊(duì)列,當(dāng)系統(tǒng)中有一個(gè)CPU核心空閑時(shí),操作系統(tǒng)就從全局任務(wù)等待隊(duì)列中選取就緒任務(wù)開始在此核心上執(zhí)行。這種方法的優(yōu)點(diǎn)是CPU核心利用率較高。后者是指操作系統(tǒng)為每個(gè)CPU內(nèi)核維護(hù)一個(gè)局部的任務(wù)等待隊(duì)列,當(dāng)系統(tǒng)中有一個(gè)CPU內(nèi)核空閑時(shí),便從該核心的任務(wù)等待隊(duì)列中選取恰當(dāng)?shù)娜蝿?wù)執(zhí)行,這種方法的優(yōu)點(diǎn)是任務(wù)基本上無(wú)需在多個(gè)CPU核心間切換,有利于提高CPU核心局部Cache命中率。目前多數(shù)多核CPU操作系統(tǒng)采用的是基于全局隊(duì)列的任務(wù)調(diào)度算法。

多核的中斷處理和單核有很大不同。多核的各處理器之間需要通過(guò)中斷方式進(jìn)行通信,所以多個(gè)處理器之間的本地中斷控制器和負(fù)責(zé)仲裁各核之間中斷分配的全局中斷控制器也需要封裝在芯片內(nèi)部。

另外,多核CPU是一個(gè)多任務(wù)系統(tǒng)。由于不同任務(wù)會(huì)競(jìng)爭(zhēng)共享資源,因此需要系統(tǒng)提供同步與互斥機(jī)制。而傳統(tǒng)的用于單核的解決機(jī)制并不能滿足多核,需要利用硬件提供的“讀-修改-寫”的原子操作或其他同步互斥機(jī)制來(lái)保證。

Big_endian ,little-endian 大的結(jié)尾,小的結(jié)尾(結(jié)尾指的是小的地址)

4 # 嵌入式微處理器中斷和異常

4.1 異常

異常就是正常的用戶程序被暫時(shí)中止,處理器就進(jìn)入異常模式。

ARM CPU的異常分為:復(fù)位異常、中斷異常(IRQ,FIR)、預(yù)取指令中止異常、未定義指令異常、軟件中斷指令異常、數(shù)據(jù)中止訪問(wèn)異常。

中斷:

軟件中斷指令(swi)異常(軟件中斷指令)

異常是應(yīng)用程序自己調(diào)用時(shí)產(chǎn)生的,用于用戶程序申請(qǐng)?jiān)L問(wèn)硬件資源時(shí),例如:printf()打 印函數(shù),要將用戶數(shù)據(jù)打印到顯示器上,用戶程序要想實(shí)現(xiàn)打印必須申請(qǐng)使用顯示器,而用戶程序又沒(méi)有外設(shè)硬件的使用權(quán),只能通過(guò)使用軟件中斷指令切換到內(nèi)核態(tài),通過(guò)操作系統(tǒng)內(nèi)核代碼來(lái)訪問(wèn)外設(shè)硬件,內(nèi)核態(tài)是工作在特權(quán)模式下,操作系統(tǒng)在特權(quán)模式下完成將用戶數(shù)據(jù)打印到顯示器上。這樣做的目的無(wú)非是為了保護(hù)操 作系統(tǒng)的安全和硬件資源的合理使用,該異常在管理模式下處理。

硬件中斷:

硬件中斷是由外設(shè)引發(fā)的, 軟中斷是執(zhí)行中斷指令產(chǎn)生的.

硬件中斷的中斷號(hào)是由中斷控制器提供的, 軟中斷的中斷號(hào)由指令直接指出, 無(wú)需使用中斷控制器.

硬件中斷是可屏蔽的, 軟中斷不可屏蔽.

硬件中斷處理程序要確保它能快速地完成任務(wù), 這樣程序執(zhí)行時(shí)才不會(huì)等待較長(zhǎng)時(shí)間, 稱為上半部.

軟中斷處理硬中斷未完成的工作, 是一種推后執(zhí)行的機(jī)制, 屬于下半部.

不可屏蔽中斷:

不可屏蔽中斷屬于 中斷請(qǐng)求 的一種。外部不可屏蔽中斷請(qǐng)求經(jīng)由專門的CPU針腳NMI,通知CPU發(fā)生了災(zāi)難性事件,如電源掉電、總線奇偶位出錯(cuò)等。內(nèi)部不可屏蔽中斷請(qǐng)求是CPU內(nèi)部自發(fā)產(chǎn)生的,如存儲(chǔ)器讀寫出錯(cuò)、溢出中斷、除法出錯(cuò)中斷等。NMI線上中斷請(qǐng)求是不可屏蔽的(既無(wú)法禁止的)、而且立即被CPU鎖存。因此NMI是邊沿觸發(fā),不需要電平觸發(fā)。NMI的優(yōu)先級(jí)也比INTR高。不可屏蔽中斷的類型指定為2,在CPU響應(yīng)NMI時(shí),不必由中斷源提供中斷類型碼,因此NMI響應(yīng)也不需要執(zhí)行總線周期INTA。

可屏蔽中斷:

可屏蔽中斷由有中斷能力的外圍設(shè)備所產(chǎn)生,包括處在定時(shí)模式的定時(shí)器溢出。每個(gè)可屏蔽中斷源可以由中斷使能位所單獨(dú)關(guān)閉,或者由由狀態(tài)寄存器中的通用中斷使能位GIE一齊關(guān)閉

5 嵌入式系統(tǒng)的存儲(chǔ)體系

5.1 層次結(jié)構(gòu)

寄存器-----內(nèi)部緩存(SRAM)--外部緩存(DDRAM,SRAM等)--主存貯(flash等)

---存儲(chǔ)器(磁盤等)---遠(yuǎn)程二級(jí)存儲(chǔ)(web服務(wù)器,分布式文件系統(tǒng))

5.2 MMU的功能和作用

將邏輯地址轉(zhuǎn)換成物理地址。內(nèi)存映射。

  1. 內(nèi)存映射

  2. 存儲(chǔ)區(qū)訪問(wèn)權(quán)限控制

  3. 設(shè)置虛擬存儲(chǔ)空間的緩沖特性

5.2常見(jiàn)的RAM類型

SRAM:靜態(tài)RAM,不用刷新,速度非???,常用于內(nèi)部cache。需要晶體管多(6個(gè)),價(jià)格昂貴。SRAM有四種引腳: CE =1 ,data禁用。 Addres 是一組地址線。

DRAM: 動(dòng)態(tài)隨機(jī)存儲(chǔ)器。在刷新的時(shí)間需要插入等待時(shí)間。

引腳: 行地址選擇線

: 列地址選擇線。

DDRAM: SDRAM只能工作在133MHZ。 DDRAM是基于SDRAM。芯片內(nèi)部的數(shù)據(jù)寬度增大一倍??梢栽谏仙睾拖陆笛舅⑿聰?shù)據(jù)。帶寬和傳輸速率都增大了一倍。

FLASH:只能從1變成0,所以寫入之前需要先擦除。擦除最小的單位是一個(gè)區(qū)塊,而不是一個(gè)單位。非容易丟失的內(nèi)存。

NORFLASHL:程序可以直接運(yùn)行(帶SRAM接口),寫入速度慢。讀速度快。代碼閃存。

NANDflash: 程序不能直接運(yùn)行,寫入快(U盤)。隨機(jī)讀取能力差?;贜AND的閃存可以取代硬盤。數(shù)據(jù)閃存。

NVRAM: 常的,我們將數(shù)據(jù)斷電后仍能保留的半導(dǎo)體存儲(chǔ)器稱為“非易失性(或非發(fā)揮性)隨機(jī)訪問(wèn)存儲(chǔ)器”——Non-Volatile Random Access Memory,即NVRAM,而像DRAM與SRAM這樣的存儲(chǔ)器則就稱為NVRAM:

Non-Volatile RAM. The target is to have a electrical device that could be accessed quite fast, most of the time the content is calculated by bytes and the content could be saved after power down. There are different technical ways to implement this concept such as EEPROM which is very common. Please note, in mobile phone design, most of the time one or two sectors of ROM (most of the time it is FLASH) will be used to simulate NVRAM, the only reason is cost saving since ROM is a "must" but NVRAM is not.

FLASH: One kind of ROM and the difference to other ROM is semiconductor level. Please note, FLASH must be read/write by sectors but NVRAM should be read/write by bytes. It is why NVRAM driver have to implement an algorithm such as copying all the content in one sector to RAM first.

高速緩存的分類:

cache: 能夠減少內(nèi)存的平均訪問(wèn)時(shí)間。

分類: (1)統(tǒng)一cache 和獨(dú)立的數(shù)據(jù)、

寫通cache 和寫回cache:

寫通cache: CPU 在更新cache時(shí),同時(shí)更新主存

寫回cache: CPU在更新cache的時(shí)候,不更新主存。

cache和內(nèi)存都分成相同大小的塊。主存地址可以由塊號(hào)M和塊內(nèi)地址N組成。 Cache地址也由塊號(hào)m和塊內(nèi)地址n組成。

CPU訪問(wèn)Cache時(shí),CPU送來(lái)主存地址,放到主存地址寄存器中,然后通過(guò)地址變換部件變成cache的塊號(hào)m,并放到cache的地址寄存器中。同時(shí)將主存中的塊內(nèi)地址N直接作為cache的塊內(nèi)地址n送到cache的地址寄存器中。如果地址變換成功(命中),就用得到的cache地址訪問(wèn)cache。從cache中取出數(shù)據(jù)送到CPU中。如果變換不成功,則產(chǎn)生cache失效的消息。則直接讀主存到CPU,同時(shí)放到cache中。如果cache滿了,就要采用替換策略進(jìn)行替換。

直接地址映射和變換:

組相關(guān)聯(lián)地址映射和變換:命中率高,每個(gè)組有n個(gè)單元。

全關(guān)聯(lián)地址映射和變換: 主存中任何一個(gè)塊可以映射到內(nèi)存的任意位置。

cache的替換: 輪換法和隨機(jī)替換法

6 外設(shè)

6.1 A/D 接口和原理

A/D轉(zhuǎn)換的方法: 計(jì)數(shù)法,雙積分法, 和逐次逼近法。

優(yōu)點(diǎn): 簡(jiǎn)單 缺點(diǎn):速度慢

雙積分式: 雙積分式A/D的基本原理是對(duì)輸入的模擬電壓和參考電壓進(jìn)行兩次積分、轉(zhuǎn)換成與輸入電壓均值成正比的時(shí)間間隔。具有很高的抗工頻干擾,轉(zhuǎn)換精度高,但是速度很慢。朱

逐次逼近法:最高位放置位1 ,如果高于Vi,最高位清零,如果低于Vi,控制電路保留最高位,次高位放置為1,繼續(xù)比較。實(shí)質(zhì)是對(duì)分搜索法

特點(diǎn):速度快,轉(zhuǎn)換精度高。最常用的方法。

重要的指標(biāo):

分辨率和精度:

LSB所對(duì)應(yīng)的電平值來(lái)表述

分辨率高,精度不一定高,精度受到溫度漂移,線性度等影響

絕對(duì)精度: 誤差的最大值。

相對(duì)精度;絕對(duì)精度/量程 *100%

轉(zhuǎn)換時(shí)間

量程:

6.2 D/A 的原理

采用T形網(wǎng)絡(luò)將數(shù)字轉(zhuǎn)換成模擬電流,然后將電流轉(zhuǎn)換成電壓輸出(運(yùn)放)。

D/A 轉(zhuǎn)換的分類:

電壓型: 無(wú)放大輸出部分的延遲,常用作高速D/A (高阻抗負(fù)載)

電流型: 外接電流電壓轉(zhuǎn)換,轉(zhuǎn)換到電壓。(接運(yùn)放)。

乘算型:

主要指標(biāo):

分辨率: 最小的模擬量輸出。

建立時(shí)間: 穩(wěn)定所需的時(shí)間。

6.3 LCD

LCD:耗電省,體積小。

  1. 如果電流流過(guò),液晶分子會(huì)以電流的方向排列。

  2. 如果提供了帶有細(xì)小溝槽的外層,將液晶倒入后,液晶分子會(huì)順著溝槽排列。并且內(nèi)層和外層是同樣的排列方式。

  3. 液晶層允許光線扭轉(zhuǎn)。能夠過(guò)濾除了從特殊角度射入的光線。如果液晶層扭轉(zhuǎn),光線將會(huì)隨之扭轉(zhuǎn),以不同的方向從另一個(gè)方向射出。

  4. 讓液晶分子發(fā)生扭轉(zhuǎn)

6.4 音頻和視頻接口

音頻:PCM: 光盤

MPEG(MP3):

AC3:TV,HDTV

編碼或者解碼音頻的總線是IIS。 分時(shí)復(fù)用數(shù)據(jù)線,信道選擇線,時(shí)鐘線。

6.7 串口

232串行總線:

RS422 : 差分傳輸

RS485 : 幾千米距離 差分傳輸

6.8 并行總線接口

并口: LPT: 分為SPP(標(biāo)準(zhǔn)),EPP(增強(qiáng)),和ECP(擴(kuò)展).

IEEE488總線: SCSI總線,MXI總線

串口總線 USB總線: 通用串行總線

特點(diǎn):(1)使用簡(jiǎn)單

(2) 每個(gè)USB設(shè)備有主機(jī),最大127級(jí)

(3)較低成本電纜,較強(qiáng)的糾錯(cuò)能力

USB系統(tǒng): USB主機(jī),USb設(shè)備和USB互聯(lián)

USB設(shè)備: 有HUB和Function功能

每個(gè)USB系統(tǒng)只有一個(gè)主機(jī),到主計(jì)算機(jī)的USB接口被稱為主控制器。

USB協(xié)議: 查詢協(xié)議

USB上鎖掛連的外設(shè)通過(guò)主機(jī)調(diào)度和基于令牌的協(xié)議共享USB帶寬。

健壯性: 差分驅(qū)動(dòng)和屏蔽保護(hù)

控制器和數(shù)據(jù)域的CRC校驗(yàn)

連接斷開檢測(cè)

協(xié)議自我修復(fù)

對(duì)數(shù)據(jù)的流量控制

采用數(shù)據(jù)管道和控制管道

USB接口的原理: 主機(jī)啟動(dòng)或是USB插入的時(shí)候都要對(duì)設(shè)備進(jìn)行配置。

USB設(shè)備與主機(jī)的問(wèn)答過(guò)程。

SPI: 同步協(xié)議接口

四種工作模式:

時(shí)鐘級(jí)性: 空閑SCK的狀態(tài)

時(shí)鐘相位:數(shù)據(jù)輸出上升沿還是下降沿有效

IIC 總線:

主發(fā)送,主接收,從發(fā)送,從接收

IIC協(xié)議起始位

SCL為高電平時(shí),SDA出現(xiàn)下降沿,產(chǎn)生一個(gè)起始位。

IIC協(xié)議結(jié)束位

SCL為高電平時(shí),SDA出現(xiàn)上升沿,產(chǎn)生一個(gè)結(jié)束位。

IIC讀寫單字節(jié)時(shí)序

IIC主機(jī)對(duì)IIC從機(jī)寫入數(shù)據(jù)時(shí),SDA上的每一位數(shù)據(jù)在SCL的高電平期間被寫入從機(jī)中。對(duì)于主機(jī),在SCL的低電平期間改變要寫入的數(shù)據(jù)。

6.9 網(wǎng)絡(luò)接口

常用的協(xié)議標(biāo)準(zhǔn)IEEE802.3

編碼方式:曼徹斯特編碼或者差分曼徹斯特編碼。

曼徹斯特編碼: 用高到低的跳變表示0,從低到高的跳變表示1

曼徹斯特差分編碼:

以太網(wǎng)傳輸傳輸特點(diǎn),低位開始傳輸。

6.10 TCP/IP 協(xié)議

分層的協(xié)議。

應(yīng)用層,傳輸層,網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,物理層

ARP: 從物理地址到MAC地址的轉(zhuǎn)換。

每層上的協(xié)議:

應(yīng)用層: BSD Sockets

傳輸層: TCP和UDP

網(wǎng)絡(luò)層: IP,ARP,ICMP,IGMP

數(shù)據(jù)鏈路: MAc

物理層:

ICMP: IP的附屬協(xié)議。網(wǎng)絡(luò)控制報(bào)文協(xié)議。

IP: Internet Protocol 網(wǎng)際協(xié)議:

所有TCP,UDP,ICMP和IGMP,都用IP數(shù)據(jù)包來(lái)傳輸。最長(zhǎng)655535字節(jié)

IP提供不可靠,無(wú)連接的數(shù)據(jù)包傳送服務(wù)。

可靠性由TCP來(lái)提供

IP數(shù)據(jù)包可以不按順序接收

TCP: 傳輸控制協(xié)議

面向連接可靠的協(xié)議。

UDP :不可靠 比如網(wǎng)絡(luò)管理 SNMP,域名解析DNS,簡(jiǎn)單文本傳輸TFTP

靠端口號(hào)來(lái)識(shí)別上層的用戶,F(xiàn)TP 21,Telent 的TCP 23,TFTP 的UDP 端口69

6.11 CAN 總線的接口和原理

  1. 控制器局域網(wǎng)

  2. 允許110個(gè)節(jié)點(diǎn)

  3. 1MB的傳輸速率

  4. 多主方式的串行總線

  5. 差分傳輸

6.12 WLAN 特點(diǎn)

  1. 802.11協(xié)議,定義了兩個(gè)RF傳輸和一個(gè)紅外傳輸

RF標(biāo)準(zhǔn)是跳頻擴(kuò)頻和直接序列擴(kuò)頻

工作范圍2.4G到2.4835G

現(xiàn)在被IEEE802.11b 取代

802.11a 是b 的后續(xù)標(biāo)準(zhǔn)

6.13 藍(lán)牙

  1. 2.4G ISM

  2. 基帶協(xié)議: 電路交換和分組交換。

  3. 傳輸距離短

  4. 采用個(gè)跳頻擴(kuò)展技術(shù)

劃分為79個(gè)頻點(diǎn),采用快速跳頻。(安全和抗干擾)。開始頻率2.4G,終止頻率2.48G

1600跳/S

(5)時(shí)分復(fù)用多路訪問(wèn)技術(shù)

  1. 語(yǔ)音支持,語(yǔ)音信道CVSD編碼

  2. 糾錯(cuò)計(jì)劃,F(xiàn)EC向前的方案

組成: 無(wú)線單元,基帶單元(跳頻控制和數(shù)據(jù)和信息的打包),鏈路管理和控制(核心)

周期性的監(jiān)聽其他設(shè)備發(fā)出的查詢消息或者尋呼消息。

6.14 1394的應(yīng)用

串行總線技術(shù),串行工業(yè)總線標(biāo)準(zhǔn)

多媒體領(lǐng)域,比如DVD,攝像機(jī)燈

總線可以接63個(gè)設(shè)備

  1. 支持多種總線技術(shù)

  2. 即插即用

  3. 同步和異步出書

  4. 支持點(diǎn)對(duì)點(diǎn)通信

  5. 標(biāo)準(zhǔn)IEEE1212標(biāo)準(zhǔn)

  6. 較遠(yuǎn)傳輸距離

協(xié)議棧: 物理層,鏈路及事物層。管理層。

6.15 ZigBee的特點(diǎn)

簡(jiǎn)單的說(shuō),ZigBee是一種高可靠的無(wú)線數(shù)傳網(wǎng)絡(luò),類似于CDMAGSM網(wǎng)絡(luò)。ZigBee數(shù)傳模塊類似于移動(dòng)網(wǎng)絡(luò)基站。通訊距離從標(biāo)準(zhǔn)的75m到幾百米、幾公里,并且支持無(wú)限擴(kuò)展。

ZigBee是一種無(wú)線連接,可工作在2.4GHz(全球流行)、868MHz(歐洲流行)和915 MHz(美國(guó)流行)3個(gè)頻段上,分別具有最高250kbit/s、20kbit/s和40kbit/s的傳輸速率,它的傳輸距離在10-75m的范圍內(nèi),但可以繼續(xù)增加。作為一種無(wú)線通信技術(shù),ZigBee具有如下特點(diǎn):

7 電子電路設(shè)計(jì)

原理圖,網(wǎng)絡(luò)表 ,設(shè)計(jì)印刷電路板

可靠性: 地線設(shè)計(jì):?jiǎn)吸c(diǎn)和多點(diǎn) 數(shù)字和模擬 加粗 環(huán)路

電磁兼容設(shè)計(jì): 合理的導(dǎo)線寬度 正確布線策略 去耦電容 抑制反射干擾 散熱設(shè)計(jì)

測(cè)試方法和原理: 故障檢測(cè)和診斷

放到測(cè)試設(shè)備上進(jìn)行,輸入一系列測(cè)試信號(hào)

JTAG測(cè)試接口

抗干擾設(shè)計(jì):

8 嵌入式軟件以及常識(shí)

分類: 系統(tǒng)軟件,支撐軟件(中間件和可配置組件)、應(yīng)用軟件

系統(tǒng)軟件: 設(shè)備驅(qū)動(dòng),操作系統(tǒng),中間件

應(yīng)用軟件: 手機(jī)軟件等

支撐軟件: 輔助開發(fā)的工具 系統(tǒng)分析,在線仿真,交叉編譯,模擬配置

無(wú)操作系統(tǒng): 循環(huán)輪轉(zhuǎn)和前后臺(tái)(增加了中斷)

中斷是前臺(tái),輪循是后臺(tái)

系統(tǒng)引導(dǎo)(bootloader): 嵌入式系統(tǒng)上電后運(yùn)行的第一段代碼。

PC中,位于只讀ROM的BIOS,和硬盤引導(dǎo)記錄中的引導(dǎo)程序。

BIOS硬件檢測(cè)和資源分配。

操作系統(tǒng)運(yùn)行之前運(yùn)行的一小段程序。(硬件初始化和內(nèi)存映射)。

初始化包括:片級(jí)初始化和板級(jí)初始化。

BSP:板級(jí)支持包:

所有與硬件相關(guān)的代碼?;舅枷胧前亚度胧较到y(tǒng)與硬件隔離

設(shè)備驅(qū)動(dòng)程序: 對(duì)硬件初始化和管理。包括硬件啟動(dòng),停用,讀,寫

分類:

單體結(jié)構(gòu): 模塊間可以互相調(diào)用

分層結(jié)構(gòu): 上一層只能調(diào)用下一層 MS_DOS

微內(nèi)核結(jié)構(gòu): 只保留核心的功能單元

多重獨(dú)立安全等級(jí)結(jié)構(gòu):

高可靠的嵌入式實(shí)時(shí)操作系統(tǒng): 相關(guān)的標(biāo)準(zhǔn),區(qū)分概念,隔離保護(hù),健康監(jiān)控

多道程序技術(shù): 允許多個(gè)任務(wù)同時(shí)運(yùn)行

進(jìn)程的概念: 一個(gè)進(jìn)程就是一個(gè)正在運(yùn)行的程序。

程序是一個(gè)靜態(tài)的概念,進(jìn)程是一個(gè)動(dòng)態(tài)的概念

特性: 動(dòng)態(tài)性,獨(dú)立性和并發(fā)性

線程: 進(jìn)程中的一條執(zhí)行流程。

對(duì)于同一個(gè)進(jìn)程的各個(gè)線程,運(yùn)行在相同的資源平臺(tái)上??梢怨蚕砀鬟M(jìn)程的各種走遠(yuǎn)。

任務(wù): 嵌入式中能夠獨(dú)立運(yùn)行的實(shí)體稱為任務(wù)。其實(shí)就是線程。

任務(wù)的狀態(tài);

運(yùn)行狀態(tài):

就緒狀態(tài):

阻塞狀態(tài):

任務(wù)管理通過(guò)TCB來(lái)管理:

Task Control Block :任務(wù)控制塊兒,用來(lái)管理和描述一個(gè)任務(wù)的數(shù)據(jù)結(jié)構(gòu)。

  1. 任務(wù)管理的信息(任務(wù)ID,任務(wù)狀態(tài),優(yōu)先級(jí),調(diào)度,時(shí)間,指針,隊(duì)列)

  2. CPU上下文信息,通用寄存器,PC,PSW,SP。每個(gè)進(jìn)程都有一份邏輯的寄存器

  3. 資源信息管理: 段表指針,頁(yè)表信息等

TCB是任務(wù)存在的唯一標(biāo)志,有新任務(wù)創(chuàng)建,就有一個(gè)新的TCB產(chǎn)生。

任務(wù)切換過(guò)程:

  1. 將CPU上下文信息放到TCB中

  2. 跟新當(dāng)前的任務(wù)狀態(tài)

  3. 按照一定的策略,選擇一個(gè)就緒的任務(wù)

  4. 修改新任務(wù)狀態(tài)

  5. 根據(jù)TCB內(nèi)容,回復(fù)新任務(wù)的上下文環(huán)境。

任務(wù)隊(duì)列:

不同的狀態(tài)用不同的隊(duì)列表示。

運(yùn)行隊(duì)列,阻塞隊(duì)列,就緒隊(duì)列

信號(hào)量S的阻塞隊(duì)列,所有等待該信號(hào)量的任務(wù)都掛在此隊(duì)列

郵箱M的隊(duì)列: 正在等待郵箱M的任務(wù)?!?/p>

調(diào)度器的原理:

調(diào)度算法

不可搶占式: 一直運(yùn)行,直到被阻塞或者主動(dòng)交出CPU使用權(quán)

可搶占式: 正在運(yùn)行時(shí)被其他任務(wù)打斷。

一些關(guān)鍵的可以打斷一些不重要的:

調(diào)度算法的性能指標(biāo):

  1. 響應(yīng)時(shí)間,切換就緒任務(wù)的時(shí)間

  2. 周轉(zhuǎn)時(shí)間(提交到完成)

  3. 調(diào)度開銷 (時(shí)間和空間)

  4. 公平性

  5. 均衡性

  6. 吞吐量

算法: 先來(lái)現(xiàn)服務(wù): FCFS(first come first served)

按照任務(wù)先后到來(lái)的順序,不可搶占式的。

缺點(diǎn): 一批任務(wù)的周轉(zhuǎn)時(shí)間決定于任務(wù)的排序。

短作業(yè)優(yōu)先法: (SJF)short job first

  1. 可搶占 和不可搶占的類型都有。

  2. 可以得到最小的平均周轉(zhuǎn)時(shí)間

時(shí)間片輪轉(zhuǎn):

  1. 公平性

  2. 活動(dòng)性

主要問(wèn)題:需要選擇一個(gè)合適的q值(時(shí)間片大?。?/p>

每個(gè)任務(wù)的等待時(shí)間(n-1)*q

優(yōu)先級(jí)算法:

給每個(gè)任務(wù)設(shè)置一個(gè)優(yōu)先級(jí),每次運(yùn)行優(yōu)先級(jí)最高的任務(wù)。

動(dòng)態(tài)優(yōu)先級(jí): 提高等待任務(wù)的優(yōu)先級(jí),防止被餓死。

高優(yōu)先級(jí)的任務(wù)會(huì)搶占低優(yōu)先級(jí)的任務(wù)。

優(yōu)先級(jí)反轉(zhuǎn):

產(chǎn)生原因:

共享資源(IO設(shè)備,信號(hào)量,郵箱),高優(yōu)先級(jí)等待低優(yōu)先級(jí)釋放資源。

低優(yōu)先級(jí)又在等待中優(yōu)先級(jí)的任務(wù)。

比如低優(yōu)先級(jí)的任務(wù)占用R,一直被其他任務(wù)中斷,導(dǎo)致R無(wú)法釋放,導(dǎo)致很高優(yōu)先級(jí)的另一個(gè)任務(wù)也不能運(yùn)行。

實(shí)時(shí)系統(tǒng)的調(diào)度:

任務(wù)模型(執(zhí)行時(shí)間,周期和的時(shí)間期限)

RMS算法: 單調(diào)速率調(diào)度算法: 靜態(tài)優(yōu)先級(jí)的調(diào)度算法

任務(wù)周期越短,優(yōu)先級(jí)越高。

缺點(diǎn): CPU使用上限位0.69

假定任務(wù)相同獨(dú)立的,周期性的,任務(wù)在任何位置都可以被搶占,任務(wù)之間不通信是不切實(shí)際的

EDF算法: 動(dòng)態(tài)優(yōu)先級(jí)的調(diào)度算法:

根據(jù)任務(wù)的截止時(shí)間來(lái)確定優(yōu)先級(jí)。

EDF是最優(yōu)的單處理器的調(diào)度算法,CPU利用上限位100%。

缺點(diǎn):實(shí)時(shí)系統(tǒng)不易實(shí)現(xiàn),系統(tǒng)開銷大。

優(yōu)先級(jí)反轉(zhuǎn):

優(yōu)先級(jí)天花板策略(Priority ceilings): 優(yōu)先級(jí)天花板是指將申請(qǐng)(占有)某資源的任務(wù)的優(yōu)先級(jí)提升到可能訪問(wèn)該資源的所有任務(wù)中最高優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí).(這個(gè)優(yōu)先級(jí)稱為該資源的優(yōu)先級(jí)天花板) 。在上述例子中體現(xiàn)為當(dāng)?shù)蛢?yōu)先級(jí)任務(wù)申請(qǐng)占有某資源時(shí)就將這個(gè)低優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)升為能訪問(wèn)該資源的所有任務(wù)中最高優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)

優(yōu)先級(jí)繼承策略對(duì)任務(wù)執(zhí)行流程的影響相對(duì)較小,因?yàn)橹挥挟?dāng)高優(yōu)先級(jí)任務(wù)申請(qǐng)已被低優(yōu)先級(jí)任務(wù)占有的臨界資源這一事實(shí)發(fā)生時(shí),才抬升低優(yōu)先級(jí)任務(wù)的優(yōu)先級(jí)。而天花板策略是誰(shuí)占有就直接升到最高。

任務(wù)之間通信:

共享內(nèi)存: 需要結(jié)合互斥條件。

消息: 內(nèi)存空間中一段長(zhǎng)度可變的緩沖區(qū)(建立通信鏈路,(send receive操作))

直接通信:

send(P,message)發(fā)送消息給任務(wù)P

receive (Q,message ) 接收消息從任務(wù)Q

特點(diǎn): (1)鏈路自動(dòng)建立,操作系統(tǒng)維護(hù)

  1. 只涉及一對(duì)互相通信

  2. 單方向或者雙方向

間接通信:

不需要指出來(lái)源和去向,而是通過(guò)郵箱來(lái)發(fā)送和接收。

send(A,message) 發(fā)送消息到郵箱

receive(A,message)接收消息從郵箱

特點(diǎn): 一個(gè)郵箱可以被多個(gè)任務(wù)訪問(wèn)

單向或者雙向通信

只能存放單條信息,如果放多條,稱為消息隊(duì)列

管道: 連接兩個(gè)任務(wù)的共享文件

信號(hào): 信號(hào)機(jī)制也被稱為軟中斷機(jī)制,和中斷相似。

8.1 同步和互斥

任務(wù)之間的關(guān)系:

相互獨(dú)立,任務(wù)互斥,任務(wù)同步(依存關(guān)系),任務(wù)通信(需要傳遞數(shù)據(jù)和信息)

互斥: 競(jìng)爭(zhēng)條件: 兩個(gè)或者多個(gè)任務(wù)對(duì)同一個(gè)共享數(shù)據(jù)進(jìn)行讀寫。 把這種現(xiàn)象就做競(jìng)爭(zhēng)條件。

對(duì)共享資源進(jìn)行訪問(wèn)的代碼,這些訪問(wèn)可能導(dǎo)致共享競(jìng)爭(zhēng)的出現(xiàn),叫做臨界區(qū)

,把需要互斥訪問(wèn)的資源稱為臨界資源。

解決方案

  1. 關(guān)閉中斷法

  2. 繁忙等待法

  3. 信號(hào)量(用來(lái)解決互斥的問(wèn)題)

用一種新的變量類型,也就是信號(hào)量也記錄當(dāng)前可利用資源的個(gè)數(shù)。

正數(shù)或者0 : 表示可利用資源的個(gè)數(shù)

負(fù)數(shù): 等待進(jìn)入臨界區(qū)的任務(wù)個(gè)數(shù)。

信號(hào)量是系統(tǒng)來(lái)維護(hù)的,任務(wù)不能直接修改它的值。

只能通過(guò)初始化和兩個(gè)標(biāo)準(zhǔn)原語(yǔ)(P,v)來(lái)進(jìn)行訪問(wèn)。

原語(yǔ): 不可中斷的一段程序,在內(nèi)核下關(guān)中斷來(lái)實(shí)現(xiàn)。

P、v原語(yǔ)是內(nèi)核代碼的一部分

在等待進(jìn)入臨界區(qū)時(shí),任務(wù)會(huì)被阻塞起來(lái)。

P,主要功能是申請(qǐng)一個(gè)空閑的資源。把信號(hào)量的值減一,如果成功,會(huì)退出原語(yǔ),失敗,阻塞任務(wù)。

V,釋放一個(gè)被占用的資源,把信號(hào)量的值加1 。 如果發(fā)現(xiàn)被阻塞的任務(wù),把它喚醒。

P實(shí)際就是一個(gè)函數(shù)。

信號(hào)量同步的優(yōu)點(diǎn):

可以允許多個(gè)任務(wù)同時(shí)進(jìn)入臨界區(qū)

當(dāng)任務(wù)無(wú)法進(jìn)入臨界區(qū)時(shí),會(huì)被阻塞

代碼L

semphors S

s.N = N

P(S)

臨界區(qū)

V(S)

非臨界區(qū)

任務(wù)同步:

存在時(shí)序關(guān)系或者先后的關(guān)系

可以使用信號(hào)量進(jìn)行同步,把信號(hào)量看做共享的資源,

在一個(gè)任務(wù)內(nèi)部使用P原語(yǔ),另一個(gè)任務(wù)內(nèi)部使用V原語(yǔ)。

死鎖:

  1. PV執(zhí)行不當(dāng)(兩個(gè)PV)

  2. 每個(gè)任務(wù)都占據(jù)著某種資源,而又在等待其他資源,同時(shí)資源都不能釋放。

8.2 存儲(chǔ)管理

存儲(chǔ)管理:

存儲(chǔ)管理方式:

固定分區(qū): 各個(gè)分區(qū)大小可以相等,也可以不等,固定的分區(qū)。

可變分區(qū): 不會(huì)產(chǎn)生內(nèi)碎片,但是會(huì)可能產(chǎn)生外碎片

內(nèi)存管理:

最先匹配法:

下次匹配法;

最佳匹配法:

最壞匹配法:

地址重定位:

地址映射。

邏輯地址:相對(duì)的地址或者虛地址。

目標(biāo)代碼一般都是虛地址的形式。

MMU來(lái)管理地址映射。

靜態(tài)地址映射: 程序裝入內(nèi)存時(shí),直接對(duì)指令進(jìn)行修改。一次性實(shí)帶孩子轉(zhuǎn)換。

缺點(diǎn): 程序裝入內(nèi)存后就不能再移動(dòng)了

動(dòng)態(tài)地址映射: 程序訪問(wèn)內(nèi)存時(shí),在轉(zhuǎn)換。硬件地址映射機(jī)制來(lái)完成。

頁(yè)式存儲(chǔ)管理:

打破存儲(chǔ)的連續(xù)性。

數(shù)據(jù)結(jié)構(gòu): 頁(yè)表(邏輯和物理的對(duì)應(yīng)),物理頁(yè)面表(各個(gè)物理頁(yè)面的分配情況)

地址映射: 邏輯地址分析,頁(yè)表查找,物理地址合成。

優(yōu)點(diǎn): 沒(méi)有外碎片 ,程序不用連續(xù)存放

缺點(diǎn):程序必須全部裝入

每個(gè)任務(wù)維護(hù)一個(gè)頁(yè)表

虛擬內(nèi)存技術(shù):

MMU還提供虛擬內(nèi)存技術(shù)。

在頁(yè)式存儲(chǔ)的基礎(chǔ)上,增加了請(qǐng)求調(diào)用頁(yè)面和頁(yè)面置換的功能,

裝入部分程序。

程序局部性原理:執(zhí)行的指令和訪問(wèn)的存儲(chǔ)空間局限在一定區(qū)域內(nèi)。

頁(yè)面置換算法:

最優(yōu)頁(yè)面置換算法

最久未用置換算法

最不常用算法

先進(jìn)先出算法

時(shí)鐘頁(yè)面置換算法

8.3 設(shè)備

邏輯設(shè)備: 程序請(qǐng)求的設(shè)備

虛擬設(shè)備: 利spooling 技術(shù)實(shí)現(xiàn),將邏輯設(shè)備虛擬成多臺(tái)設(shè)備

字符設(shè)備:以字符 為單位進(jìn)行傳輸,比如打印機(jī),鍵盤

塊設(shè)備: 應(yīng)用程序可以隨機(jī)訪問(wèn)設(shè)備數(shù)據(jù),程序可自行確定讀取數(shù)據(jù)的位置。硬盤、軟盤、CD-ROM驅(qū)動(dòng)器和閃存都是典型的塊設(shè)備,應(yīng)用程序可以尋址磁盤上的任何位置,并由此讀取數(shù)據(jù)。此外,數(shù)據(jù)的讀寫只能以塊(通常是512B)的倍數(shù)進(jìn)行。與字符設(shè)備不同,塊設(shè)備并不支持基于字符的尋址。

網(wǎng)絡(luò)設(shè)備是特殊設(shè)備的驅(qū)動(dòng),它負(fù)責(zé)接收和發(fā)送幀數(shù)據(jù),可能是物理幀,也可能是ip數(shù)據(jù)包,這些特性都有網(wǎng)絡(luò)驅(qū)動(dòng)決定

設(shè)備驅(qū)動(dòng)程序:

是直接同I/O設(shè)備打交道

8.3 文件系統(tǒng)

FAT

NFS:

文件和目錄: 文件是一種抽象的機(jī)制

存?。?順序和隨機(jī)

訪問(wèn): 打開,關(guān)閉,讀寫,添加,定位

8.4 程序設(shè)計(jì)

解釋器: 直接解釋執(zhí)行源程序?;蛘邔⒃闯绦蚍g成某種中間形式。解釋程序和源程序都要參與到目標(biāo)語(yǔ)言程序。

編譯器: 將源程序翻譯成目標(biāo)程序。

偽指令:不產(chǎn)生機(jī)器碼,常數(shù)定義偽指令,存儲(chǔ)定義偽指令,匯編控制(IF),開始偽指mi令,結(jié)束偽指令,

面向?qū)ο蟮恼Z(yǔ)言:

8.5 測(cè)試

黑盒測(cè)試:極限情況測(cè)試,邊界測(cè)試,異常測(cè)試,錯(cuò)誤猜測(cè),隨機(jī)測(cè)試,性能測(cè)試

百盒測(cè)試: 對(duì)程序的路徑和過(guò)程進(jìn)行測(cè)試 獨(dú)立路徑,循環(huán),判斷,內(nèi)部數(shù)據(jù)的有效性

覆蓋測(cè)試: 早期,在單元測(cè)試期間。

覆蓋策略:

語(yǔ)句覆蓋,判定覆蓋(一次真,一次假),條件覆蓋(每個(gè)條件都獲得多有的邏輯值)

條件覆蓋: 只要各個(gè)邏輯的取值都出現(xiàn)過(guò)就好,分支不一定執(zhí)行。

比如if(A && B )
則: 條件覆蓋取值只要兩個(gè)測(cè)試用例即可
用例1 A=TRUE , B = True
2 A = false , B = false

判定/條件覆蓋: 每個(gè)分支都執(zhí)行,,每個(gè)條件獲得所有的邏輯值

條件組合覆蓋: 每個(gè)條件組合出現(xiàn)一次。條件覆蓋滿足,則一定滿足判斷覆蓋,條件覆蓋和判斷/條件覆蓋。

路徑測(cè)試: 被稱為最強(qiáng)的覆蓋條件,要圖的每個(gè)路徑都要執(zhí)行一次。路勁覆蓋還是不能取代判斷覆蓋。

9 嵌入式系統(tǒng)開發(fā)和管理

常用的開發(fā)模型:

  1. 瀑布模型: 制定計(jì)劃,需求分析,軟件設(shè)計(jì),程序編寫,軟件測(cè)試,運(yùn)行維護(hù)。

自上而下的設(shè)計(jì),如同瀑布流水。

  1. 快速原型(1)建造一個(gè)快速原型 ,隨后客戶反饋,快速修改模型。

  2. 增量模型: 增量構(gòu)架來(lái)設(shè)計(jì),各個(gè)階段并不交付一個(gè)完整的產(chǎn)品

  3. 螺旋模型: 結(jié)合瀑布模型和快速原型模型,沿著螺旋進(jìn)行若干次迭代。(強(qiáng)調(diào)了風(fēng)險(xiǎn)分析)

  4. 演化模型(事先不能定義完整的需求)

項(xiàng)目管理: 項(xiàng)目計(jì)劃,項(xiàng)目組織,質(zhì)量管理,費(fèi)用控制,進(jìn)度控制。

用戶需求: 從用戶局角度來(lái)描述系統(tǒng)功能和非系統(tǒng)功能。避免專業(yè)性的描述。

系統(tǒng)需求: 結(jié)構(gòu)化系統(tǒng)分析。使用PDL系統(tǒng)分析。標(biāo)準(zhǔn)接口分析

系統(tǒng)規(guī)格書的說(shuō)明文檔: 是對(duì)用戶需求分析和系統(tǒng)需求分析之后的文檔。

系統(tǒng)設(shè)計(jì):傳統(tǒng)的設(shè)計(jì)方法,瀑布模型,自上而下。

內(nèi)容耦合: 一個(gè)模塊直接修改另一個(gè)模塊的數(shù)據(jù)

公共耦合:

控制耦合; 傳遞信號(hào)(開關(guān)值,標(biāo)記量)

標(biāo)記耦合

數(shù)據(jù)耦合

非直接耦合

盡量使用使用數(shù)據(jù)耦合,少用控制耦合,避免內(nèi)容耦合。

** 10 網(wǎng)絡(luò)攻擊**

    DOS 攻擊: DoS是Denial of Service的簡(jiǎn)稱,即拒絕服務(wù),造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計(jì)算機(jī)或網(wǎng)絡(luò)無(wú)法提供正常的服務(wù)。最常見(jiàn)的DoS攻擊有計(jì)算機(jī)網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。
   一定要時(shí)刻記得,DOS不是DOS操作系統(tǒng)。
  DDOS:分布式的DOS攻擊。
 (1)制造大流量的無(wú)用的數(shù)據(jù)
 (2)利用TCP/IP 協(xié)議的缺陷,制造大量的無(wú)用數(shù)據(jù)
 (3)使用僵尸電腦進(jìn)行攻擊 

11 密碼加密:

1 摘要算法
常用的摘要算法有MD5,SHA1。摘要算法是一個(gè)不可逆過(guò)程,就是無(wú)論多大數(shù)據(jù),經(jīng)過(guò)算法運(yùn)算后都是生成固定長(zhǎng)度的數(shù)據(jù),一般結(jié)果使用16進(jìn)制進(jìn)行顯示。
MD5和SHA1的區(qū)別:MD5結(jié)果是128位摘要,SHa1是160位摘要。那么MD5的速度更快,而SHA1的強(qiáng)度更高。

下面統(tǒng)一使用MD5算法進(jìn)行說(shuō)明,SHA1類似。
主要用途有:驗(yàn)證消息完整性,安全訪問(wèn)認(rèn)證,數(shù)據(jù)簽名。

消息完整性:由于每一份數(shù)據(jù)生成的MD5值不一樣,因此發(fā)送數(shù)據(jù)時(shí)可以將數(shù)據(jù)和其MD5值一起發(fā)送,然后就可以用MD5驗(yàn)證數(shù)據(jù)是否丟失、修改。
安全訪問(wèn)認(rèn)證:這是使用了算法的不可逆性質(zhì),(就是無(wú)法從MD5值中恢復(fù)原數(shù)據(jù))對(duì)賬號(hào)登陸的密碼進(jìn)行MD5運(yùn)算然后保存,這樣可以保證除了用戶之外,即使數(shù)據(jù)庫(kù)管理人員都無(wú)法得知用戶的密碼。
數(shù)字簽名:這是結(jié)合非對(duì)稱加密算法和CA證書的一種使用場(chǎng)景。
一般破解方法:字典法,就是將常用密碼生成MD5值字典,然后反向查找達(dá)到破解目的,因此建議使用強(qiáng)密碼。

對(duì)稱加密算法只是為了區(qū)分非對(duì)稱加密算法。其中鮮明的特點(diǎn)是對(duì)稱加密是加密解密使用相同的密鑰,而非對(duì)稱加密加密和解密時(shí)使用的密鑰不一樣。對(duì)于大部分情況我們都使用對(duì)稱加密,而對(duì)稱加密的密鑰交換時(shí)使用非對(duì)稱加密,這有效保護(hù)密鑰的安全。非對(duì)稱加密加密和解密密鑰不同,那么它的安全性是無(wú)疑最高的,但是它加密解密的速度很慢,不適合對(duì)大數(shù)據(jù)加密。而對(duì)稱加密加密速度快,因此混合使用最好。
常用的對(duì)稱加密算法有:AES和DES.

DES:比較老的算法,一共有三個(gè)參數(shù)入口(原文,密鑰,加密模式)。而3DES只是DES的一種模式,是以DES為基礎(chǔ)更安全的變形,對(duì)數(shù)據(jù)進(jìn)行了三次加密,也是被指定為AES的過(guò)渡算法。
AES:高級(jí)加密標(biāo)準(zhǔn),新一代標(biāo)準(zhǔn),加密速度更快,安全性更高(不用說(shuō)優(yōu)先選擇)

.非對(duì)稱加密(RSA)
這里主要對(duì)RSA進(jìn)行介紹。
對(duì)稱加密加密解密使用的是相同的密鑰,而非對(duì)稱加密加密解密時(shí)使用的不同的密鑰,分為公鑰(public key)和私鑰(private key).公鑰可以公開,而私鑰自己保存。它利用的是兩個(gè)大質(zhì)數(shù)相乘十分容易,而對(duì)其乘積進(jìn)行因素分解十分困難。這樣就可以將乘積作為密鑰了,這個(gè)乘積為N值,根據(jù)兩個(gè)大質(zhì)數(shù)選擇e和生成d,刪掉兩個(gè)大質(zhì)數(shù)。這樣(N,e)為公鑰,(N,d)為私鑰,公鑰無(wú)法破解出私鑰(不作詳細(xì)介紹,我們不是研究算法的)。由于非對(duì)稱加密的密鑰生成麻煩,所以無(wú)法做到一次一密,而且其加密速度很慢,無(wú)法對(duì)大量數(shù)據(jù)加密。因此最常用的使用場(chǎng)景就是數(shù)字簽名和密碼傳輸,用作數(shù)字簽名時(shí)使用私鑰加密,公鑰解密;用作加密解密時(shí),使用公鑰加密,私鑰解密。


作者:宇o風(fēng)
來(lái)源:CSDN
原文:https://blog.csdn.net/u013565368/article/details/53081195
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

11 補(bǔ)充

公共端口號(hào):

(1)公認(rèn)端口(Well Known Ports):從0到1023,它們緊密綁定(binding)于一些服務(wù)。通常這些端口的通訊明確表明了某種服務(wù)的協(xié)議。例如:80端口實(shí)際上總是HTTP通訊。

(2)注冊(cè)端口(Registered Ports):從1024到49151。它們松散地綁定于一些服務(wù)。也就是說(shuō)有許多服務(wù)綁定于這些端口,這些端口同樣用于許多其它目的。例如:許多系統(tǒng)處理動(dòng)態(tài)端口從1024左右開始。

  1. 動(dòng)態(tài)和/或私有端口(Dynamic and/or Private Ports):從49152到65535。理論上,不應(yīng)為服務(wù)分配這些端口。實(shí)際上,機(jī)器通常從1024起分配動(dòng)態(tài)端口。但也有例外:SUN的RPC端口從32768開始。

著作權(quán): 給公司開發(fā)的,我只有署名權(quán)。其他權(quán)利屬于公司。

PERT圖:

1、事件(Events)表示主要活動(dòng)結(jié)束的那一點(diǎn);

2、活動(dòng)(Activities)表示從一個(gè)事件到另一個(gè)事件之間的過(guò)程;

3、松弛時(shí)間(slack time)不影響完工前提下可能被推遲完成的最大時(shí)間;

4、關(guān)鍵路線(Critical Path)是PERT網(wǎng)絡(luò)中花費(fèi)時(shí)間最長(zhǎng)的事件和活動(dòng)的序列


要點(diǎn): 每個(gè)時(shí)間完整,一定要和它相連的所有事項(xiàng)都要完成。

11

9 盲點(diǎn)

9.1 浮點(diǎn)數(shù)的表示

9.2 多處理器調(diào)度

應(yīng)該要掌握的考點(diǎn):

(1)TCP/IP 協(xié)議必須熟悉
(2)測(cè)試模型必須熟悉
(3)實(shí)時(shí)操作系統(tǒng)一定會(huì)考

2018 考試總結(jié):

1 信號(hào)量分為互斥信號(hào)量和同步信號(hào)量
2 信號(hào)量的使用方法
3 信號(hào)量操作函數(shù) take(P 操作),如果沒(méi)有可用資源,可以阻塞任務(wù),但不是永久的,可以設(shè)置阻塞的時(shí)間。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容