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



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


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

為什么不都用存儲(chǔ)和讀取速度快的呢?主要還是因?yàn)閮r(jià)格

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

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

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

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