进程描述与控制随笔

进程控制块:标识符,状态,优先级,程序计数器,内存指针,上下文数据,I/O状态信息,记帐信息多线程

进程控制块是操做系统可以支持多进程和提供多处理的关键工具。能够说,进程是由程序代码和相关数据还有进程控制块组成。工具

模式切换与进程切换不一样,发生模式切换能够不改变正处于运行态的进程状态,在这种状况下,保存上下文环境和之后恢复上下文环境只须要不多的开销。性能

为执行进程管理功能,操做系统维护者对每一个进程的描述,或者称为进程映像,它包括执行进程的地址空间和一个进程控制块。操作系统

一个正在运行的进程可能被一个在进程外发生且被处理器识别的中断事件打断,或者被执行操做系统的系统调用打断。不论哪一种状况,处理器都执行一次模式切换,把控制转交给操做系统例程。线程

 

用户级线程相对于内核级线程有两个明显的缺点:指针

1>在典型的操做系统中,许多系统调用都会引发阻塞。所以,当用户级线程执行一个系统调用时,不只这个线程会被阻塞,进程中的全部线程都会被阻塞。进程

2>在纯粹的用户级线程策略中,一个多线程应用不能利用多处理技术。事件

能够经过把应用程序写成一个多进程程序而不是多线程程序来解决这两个问题。另外一种克服线程阻塞问题的方法是使用一种称做jacketing的技术。jacketing的目标是把一个产生阻塞的系统调用转化为一个非阻塞的系统调用。内存

 

用户级线程和内核级线程之间,内核级线程和进程之间都有一个数量级以上的性能差距。多进程

若是应用程序中的大多数线程切换都须要内核态的访问,那么基于用户级线程的方案不会比基于内核级线程的方案好多少。

相关文章
相关标签/搜索