就最近的操作系统学习,一系列自己的疑问和解答

1、一核、四线程的一个cpu,我们也叫做伪四核cpu,运用了HT超线程技术,可以同时并行多个进程,那么一核、一线程的一个cpu,是不能并行多个进程,能并行多个线程吗?

答:不能,只有多核或者伪多核才能并行进程和线程,在这个并行问题上,线程和进程一样!

2、我们编程是的变量存的是逻辑地址还是物理地址

答:逻辑地址

3、逻辑地址在哪里

答:仅存在用户程序中,指的是程序中出现的量(如变量)的相对地址,程序加载进入内存运行后,变量中的逻辑地址被cpu中的MMU(内存管理单元)中的段表或页表转换成物理地址,再获取数据(变量值)

4、虚地址和逻辑地址的区别
学习虚存技术时,遇到了这个虚地址,说是这个虚地址也需要和物理地址建立映射,那么虚地址和逻辑地址是否一样呢?虚地址映射的物理地址包括硬盘的地址吗?

答:不一样,逻辑地址只存在于非虚拟中,比如段页式存储器管理中,没有虚存技术中。虚地址存在于应用了虚存技术的虚拟存储器管理中,虚拟存储器管理中的段页表存的是虚地址和物理地址的映射关系,且包括了在硬盘中的物理地址。

5、线程和进程的区别

根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行,能同时运行多个进程,肯定可以同时运行多个线程,如果只有一个cpu、一核、一线程,两个都不能同时运行)

内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。

包含关系:没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
原创文章 209 获赞 153 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_44571270/article/details/105755579