五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

練一練,嵌入式工程師操作系統(tǒng)面試題三道

2018-07-13 16:05 作者:韋東山  | 我要投稿

題一,同步和異步有啥區(qū)別?

題二,TCP與UDP有啥區(qū)別?

題三,進(jìn)程和線程有啥區(qū)別?

 

題一答案:

 

同步(Sync):所有的操作都做完,才返回給用戶。這樣用戶在線等待的時間太長,給用戶一種卡死了的感覺(比如系統(tǒng)遷移中,點(diǎn)擊了遷移,界面就不動了,但是程序還在執(zhí)行,卡死了的感覺)。

 

這種情況下,用戶不能關(guān)閉界面,如果關(guān)閉,那么遷移程序也會中斷,用戶體驗(yàn)不好。

 

異步(Async):將用戶請求放入消息隊(duì)列,并反饋給用戶,比如系統(tǒng)遷移程序已經(jīng)啟動,提示你可以關(guān)閉瀏覽器了。然后程序再慢慢地寫入數(shù)據(jù)庫。但是用戶沒有卡死的感覺,用戶體驗(yàn)較好。

 

題二答案:

 

1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

 

2、TCP提供可靠的服務(wù)。它通過校驗(yàn)和,丟包時的重傳控制,序號標(biāo)識,滑動窗口、確認(rèn)應(yīng)答,次序亂掉的分包進(jìn)行順序控制實(shí)現(xiàn)可靠傳輸。即通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復(fù),且按序到達(dá); UDP盡最大努力交付,即不保證可靠交付。

 

3、UDP具有較好的實(shí)時性,工作效率比TCP高,適用于對高速傳輸和實(shí)時性有較高要求的通信或廣播通信場景。

 

4、每一條TCP連接只能是點(diǎn)到點(diǎn)的; UDP支持一對一,一對多,多對一和多對多的交互通信方式。

 

5、TCP對系統(tǒng)資源要求較多,UDP對系統(tǒng)資源要求較少。

 

UDP有時比TCP更有優(yōu)勢:

 

UDP以其簡單、傳輸快的優(yōu)勢,在越來越多場景下取代了TCP, 如實(shí)時游戲。

 

(1)網(wǎng)速的提升給UDP的穩(wěn)定性提供可靠網(wǎng)絡(luò)保障,丟包率很低,如果使用應(yīng)用層重傳,能夠確保傳輸?shù)目煽啃浴?/p>

 

(2)TCP為了實(shí)現(xiàn)網(wǎng)絡(luò)通信的可靠性,使用了復(fù)雜的擁塞控制算法,建立了繁瑣的握手過程,由于TCP在內(nèi)置的系統(tǒng)協(xié)議棧中,極難對其進(jìn)行改進(jìn)。

 

采用TCP,一旦發(fā)生丟包,TCP會將后續(xù)的包緩存起來,等前面的包重傳并接收到后再繼續(xù)發(fā)送,延時會越來越大。

 

基于UDP對實(shí)時性要求較為嚴(yán)格的情況下,采用自定義重傳機(jī)制,能夠把丟包產(chǎn)生的延遲降到最低,盡量減少網(wǎng)絡(luò)問題造成的影響。

 

題三答案:

 

1. 進(jìn)程是資源分配的最小單位。

2. 線程是程序執(zhí)行的最小單位,也是處理器調(diào)度的基本單位,但進(jìn)程不是,兩者均可并發(fā)執(zhí)行。

 

3. 進(jìn)程有自己的獨(dú)立地址空間,每啟動一個進(jìn)程,系統(tǒng)就會為它分配地址空間,建立數(shù)據(jù)表來維護(hù)代碼段、堆棧段和數(shù)據(jù)段,這種操作非常昂貴。而線程是共享進(jìn)程中的數(shù)據(jù),使用相同的地址空間,因此,CPU切換一個線程的花費(fèi)遠(yuǎn)比進(jìn)程小很多,同時創(chuàng)建一個線程的開銷也比進(jìn)程小很多。

 

4. 線程之間的通信更方便,同一進(jìn)程下的線程共享全局變量、靜態(tài)變量等數(shù)據(jù),而進(jìn)程之間的通信需要以通信的方式(IPC)進(jìn)行。不過如何處理好同步與互斥是編寫多線程程序的難點(diǎn)。但是多進(jìn)程程序更健壯,多線程程序只要有一個線程死掉,整個進(jìn)程也跟著死掉了,而一個進(jìn)程死掉并不會對另外一個進(jìn)程造成影響,因?yàn)檫M(jìn)程有自己獨(dú)立的地址空間。

 

5. 進(jìn)程切換時,消耗的資源大,效率高。所以涉及到頻繁的切換時,使用線程要好于進(jìn)程。同樣如果要求同時進(jìn)行并且又要共享某些變量的并發(fā)操作,只能用線程不能用進(jìn)程。

 

6. 執(zhí)行過程:每個獨(dú)立的進(jìn)程有一個程序運(yùn)行的入口、順序執(zhí)行序列和程序入口。但是線程不能獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。

 

優(yōu)缺點(diǎn):

 

線程執(zhí)行開銷小,但是不利于資源的管理和保護(hù)。線程適合在SMP機(jī)器(雙CPU系統(tǒng))上運(yùn)行。

 

進(jìn)程執(zhí)行開銷大,但是能夠很好的進(jìn)行資源管理和保護(hù),可以跨機(jī)器遷移。

 

何時使用多進(jìn)程,何時使用多線程?

 

對資源的管理和保護(hù)要求高,不限制開銷和效率時,使用多進(jìn)程。

要求效率高,頻繁切換時,資源的保護(hù)管理要求不是很高時,使用多線程。

 


練一練,嵌入式工程師操作系統(tǒng)面試題三道的評論 (共 條)

分享到微博請遵守國家法律
唐海县| 湖南省| 疏勒县| 西安市| 汉阴县| 喀什市| 新津县| 南木林县| 曲沃县| 大洼县| 息烽县| 海原县| 孟津县| 兰溪市| 永川市| 达拉特旗| 钦州市| 扎鲁特旗| 陇西县| 綦江县| 台东市| 合川市| 绥芬河市| 大冶市| 高陵县| 尼玛县| 塘沽区| 大新县| 手机| 乌兰县| 锦屏县| 新乐市| 明光市| 托克托县| 汝城县| 搜索| 利川市| 邻水| 玉溪市| 枝江市| 余姚市|