进程vs线程?
processes 和thread 操作系统所要管理的对象。
1.了解面试者侧重点
2.进一步展开
比如面试者说他们的内存不同。。就会问你内存的问题。
从构成上来讲,进程有什么,线程有什么。
进程vs进程
内存是固定的,进程需要多少内存,就用多少内存,不是说,你32位的系统,就把4g分给你一个进程。



PC是指下一条指定的地址
进程是一个容器,线程才是真正的执行对象。


缓冲区溢出。
比如本来应该存用户名的地方,黑客把用户名存的特别长,超出了给用户名存储的缓冲区,一直写到存储程序的那部分去,
黑客就可以通过用户名的框,把程序植入进来。
解决办法:检测,防止用户名长度过长。
线程才是操作系统真正去运行的,进程其实只是一个容器,它把一些相关的东西放到了一起,放了一个很强的隔离,把不同的程序隔离出来。
进程间不能交互内存,所以我们有一些进程交互的方案。(其中一个方案就是通过TCP/IP的端口来实现)
线程间通信就比较简单了,我们可以通过一大块共享的内存来实现。
2.3寻址和存储

为什么不都用存储和读取速度快的呢?主要还是因为价格

谷歌把所有互联网都放到内存里面了,所以他的速度比较快。
寻址

windows里面是有很大一块的虚拟内存的,而Linux用户是看不到Linux里面的虚拟内存的。

从物理内存里面取到之后,再放到寄存器里面。

其实我们大多数数据都是在物理内存的,但是如果物理内存里面的数据太多的话,频繁的分页的话,读取数据很慢。
网友评论