進程vs線程?
processes 和thread 操作系統(tǒng)所要管理的對象。
1.了解面試者側(cè)重點
2.進一步展開
比如面試者說他們的內(nèi)存不同。。就會問你內(nèi)存的問題。
從構(gòu)成上來講,進程有什么,線程有什么。
進程vs進程
內(nèi)存是固定的,進程需要多少內(nèi)存,就用多少內(nèi)存,不是說,你32位的系統(tǒng),就把4g分給你一個進程。



PC是指下一條指定的地址
進程是一個容器,線程才是真正的執(zhí)行對象。


緩沖區(qū)溢出。
比如本來應(yīng)該存用戶名的地方,黑客把用戶名存的特別長,超出了給用戶名存儲的緩沖區(qū),一直寫到存儲程序的那部分去,
黑客就可以通過用戶名的框,把程序植入進來。
解決辦法:檢測,防止用戶名長度過長。
線程才是操作系統(tǒng)真正去運行的,進程其實只是一個容器,它把一些相關(guān)的東西放到了一起,放了一個很強的隔離,把不同的程序隔離出來。
進程間不能交互內(nèi)存,所以我們有一些進程交互的方案。(其中一個方案就是通過TCP/IP的端口來實現(xiàn))
線程間通信就比較簡單了,我們可以通過一大塊共享的內(nèi)存來實現(xiàn)。
2.3尋址和存儲

為什么不都用存儲和讀取速度快的呢?主要還是因為價格

谷歌把所有互聯(lián)網(wǎng)都放到內(nèi)存里面了,所以他的速度比較快。
尋址

windows里面是有很大一塊的虛擬內(nèi)存的,而Linux用戶是看不到Linux里面的虛擬內(nèi)存的。

從物理內(nèi)存里面取到之后,再放到寄存器里面。

其實我們大多數(shù)數(shù)據(jù)都是在物理內(nèi)存的,但是如果物理內(nèi)存里面的數(shù)據(jù)太多的話,頻繁的分頁的話,讀取數(shù)據(jù)很慢。