- 引入进程是为了更好地使用多道程序并发执行,以提高资源利用率和系统吞吐量,增加并发程度;引 入线程,则是为了减小程序在并发执行时所付出的时空开销,提高系统的并发程度。
- 线程是进程的一部分。又称为轻权进程或者轻量级进程,是CPU调度的一个本单位。
- 线程的改变只代表了CPU执行过程的改变,而进程所拥有的资源没有发生变化,线程只能共享它所属进程的资源。进程是系统所有资源分配时的基本单位,进程不依赖线程而独立存在。它和进程内的其他进程一起共享分配给该进程的所有资源。
进程的分类:用户级线程和内核级线程。
用户级线程是全部由用户程序完成,操作系统内核只对进程进程管理。
内核级线程是线程所有工作都由内核完成,应用程序没有进行线程管理的代码,只有一个到内核级线程的编程接口。
用户级线程占用系统开销最小,内核级线程的开销则比进程开销小,但还是要大于用户级线程的开销。线程的执行特性:
派生:由其他进程或者线程通过系统调用来创建。
阻塞(black:线程阻塞后代表该父进程被阻塞。
激活(unblack):激活就进入就绪队列。
调度(schedule):选择一个就绪线程进入执行状态。
结束(finish):结束,则释放寄存器上下文以及堆栈的内容。
系统必须为线程提供同步控制机制,以防止线程对资源的操作都会对其他相关线程带来的影响。考点分析
只有就绪状态既可以有运行状态过去也能有阻塞状态转变过去。
线程是处理器调度和分配的单位,线程本身不具备资源,它共享所属进程的资源。
在多对一的线程模型中,用户级的线程的多是对操作系统透明的,即操作系统并不知道用户有多少线程,故该进程的一个线程阻塞后,该进程就被阻塞了,进程的其他进程当然就被阻塞了。
进程是操作系统资源分配和独立的基本单位。
语言编写的程序在使用内存时一般分为三个段:一般是正文段,即代码和赋值数据段,数据堆段,数据栈段。二进制代码和常量存放在正文段,动态分配的存储区在数据堆段,临时使用的变量在数据栈段。
同一个系统的进程(或线程)可以由系统调用的方法,被不同的进程或(线程)多次使用。
进程间的通信一般有管道,消息传递,共享内存,文件映射,套接字。
管道是一种固定大小的缓存区。管道对于管道两端的进程而言,就是一个文件,但是不属于文件系统,而是单独一种文件系统,可以实现双向的数据传输,而在同一时刻最多有一个方向的传输。管道的大小并不是受磁盘容量大小的限制。
进程管理——进程与线程(二)
最新推荐文章于 2023-08-17 17:15:02 发布