现代操作系统
文章平均质量分 76
吴正伟的博客
这个作者很懒,什么都没留下…
展开
-
用户线程和内核线程
1.内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。用户态转化为内核态的时候需要进行上下文的切换,是耗时的操作,因为有寄存器值的保存装载,内存缓存的失效和载入,中断程序的执行等。2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态原创 2014-12-08 21:56:24 · 1348 阅读 · 3 评论 -
用户态、核心态详解及进程切换和系统调用原理
详细解释了用户态好核心态的区别以及它们之间转化的方式和条件。涉及到进程切换上下文的保存以及系统调用的原理。原创 2014-12-08 21:23:47 · 3328 阅读 · 0 评论 -
进程切换(进程上下文和中断上下文)详解
进程上下文VS中断上下文1.内和空间和用户空间内核空间和用户空间是现代操作系统的两种工作模式,内核模块运行在内核空间,而用户态应用程序运行在用户空间。它们代表不同的级别,而对系统资源具有不同的访问权限。内核模块运行在最高级别(内核态),这个级下所有的操作都受系统信任,而应用程序运行在较低级别(用户态)。在这个级别,处理器控制着对硬件的直接访问以及对内存的非授权访问。内核态和用户态有自己的内原创 2014-12-08 21:47:04 · 3561 阅读 · 2 评论 -
为什么寄存器和内存访问带宽差这么多?
原因一:距离不同距离不是主要因素,但是最好懂,所以放在最前面说。内存离CPU比较远,所以要耗费更长的时间读取。以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此,如果内存距离CPU超过5厘米,就不可能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和原创 2015-02-05 15:15:47 · 1315 阅读 · 0 评论