我一直在学习O.S,其中写有两种类型的过程
1)CPU绑定进程 2)I / O绑定进程。
和它的某个地方
1)独立流程 2)合作过程。
同样适用于Threads
1)单级线程。 2)多级线程。
和
1)用户级线程 2)内核级线程。
现在的困惑是,如果有人问我关于过程和线程的类型,那么我应该从上面告诉他们哪些?
请明确我的观念吗?
我会继续感谢你!
答案 0 :(得分:3)
流程是基于类别类别的两种类型!您提到的第一个与特定于事件的流程分类有关,下一个分类基于它们的性质。但是,如果有人问您,您应该要求更多说明他想要分类的类别。如果为空,那么您应该说明第一个(默认)类别,如下所示: - < / p>
基于事件的流程类别
a)CPU绑定过程---&gt;大部分时间都花在CPU上的进程(进行计算)
b)I / O绑定过程---&gt;与基于输入/输出的活动相关的过程,如从文件读取等。
基于其性质的流程类别
a)独立过程---&gt;一个不需要任何其他外部因素来触发的过程是一个独立的过程
b)合作过程---&gt;一个过程,它对任何事件的发生起作用,结果影响系统其余部分的任何部分是一个合作过程。但是,主题根据其性质只有一个分类---&gt;单级线程和多级线程......
实际上,在现代操作系统中,线程运行有两个级别:系统或内核线程和用户级线程。这个通常不是分类,虽然它们中的一些可以自由地进行分类,但它是误用的......
如果您有疑问,请在下方发表评论......
答案 1 :(得分:0)
基本上有两种类型的过程:
执行时,进程应该是CPU绑定和I / O绑定的混合器。
CPU绑定:是驻留在处理器中并执行它的时间进程。 I / O界限:进程执行输入输出操作的时间。例如,从键盘输入或显示器中的显示输出。
答案 2 :(得分:0)
什么是流程? 进程是正在执行的程序。流程与程序代码不同,但远不止于此。与被认为是“被动”实体的程序相反,过程是“主动”实体。进程拥有的属性包括硬件状态,内存,CPU等。
为了高效工作,过程存储器分为四个部分:
“文本”部分由编译后的程序代码组成,在程序启动时从非易失性存储器中读取。 数据部分由全局变量和静态变量组成,在执行主变量之前进行分配和初始化。 堆用于动态内存分配,并通过调用new,delete,mallow,free等进行管理。 堆栈用于局部变量。声明局部变量时,将在堆栈上保留空间。