什么是操作系统中资源分配的基本单位?
一、操作系统中资源分配的基本单位
进程(Process)是系统进行资源分配和调度的基本单位。进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。
线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源;
故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度,从而显著提高系统资源的利用率和吞吐量。因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。
延伸阅读:
二、进程和线程的区别
调度
进程是资源分配的基本单位,线程是系统调度的基本单位。
拥有资源
进程是拥有资源的独立单位。而线程不拥有系统资源,而是共享进程的资源(包括代码段、数据段即系统资源等)。
并发性
多线程可以提高服务的质量,在一个线程阻塞时,还有其他线程提供服务。
系统开销
进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多现场。但线程只需要保存和设置少量的寄存器内容,不涉及存储器管理方面的操作
以上就是关于操作系统中资源分配的基本单位的内容希望对大家有帮助。

相关推荐HOT
更多>>
Java9和Java11区别大吗?
一、Java9和Java11区别Java 9的新特性java模块系统 (Java Platform Module System)。模块系统的使用:HTTP 2 客户端:HTTP/2标准是HTTP协议的详情>>
2023-10-11 23:00:28
合约机和裸机有哪些区别?
一、合约机和裸机的区别1、定义不同合约机指的是运营商为了吸引用户而推出的优惠购机的活动,它需要用户使用特定的套餐,并且套餐时间有限制,...详情>>
2023-10-11 22:28:38
struts2和springmvc区别?
一、struts2和springmvc区别1.框架机制Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServ详情>>
2023-10-11 21:59:06
Java是什么?
一、什么是Java?首先Java是一种广泛使用的计算机编程语言,程序员用它来和计算机交流,把要求和设想Java语言表达出来,这个过程就是我们所说的...详情>>
2023-10-11 21:33:35