`
20386053
  • 浏览: 430419 次
文章分类
社区版块
存档分类
最新评论

【操作系统笔记】进程与线程的区别和联系

 
阅读更多

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17279467


进程是程序处于一个执行环境中在一个数据集上的一次运行过程,它是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立的系统资源,一个进程中可以有多个线程。


线程,有时候也称为轻量级进程,是程序执行的最小单元,它是进程的一个实体,是CPU调度和分派的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(程序计数器、一组寄存器和栈),每个线程也都有各自的用户栈、核心栈和控制块等资源,但同一个进程中的各个线程共享该进程所拥有的全部系统资源。


区别和联系:

1、进程中可以包含多个线程,线程必须存在于某个进程实体中;

2、进程在进行上下文切换时由于要切换页表,往往伴随者页调度,因此开销比较大,而线程在进行上下文切换时,由于仅涉及与自身相关的寄存器状态和栈的信息(线程的上下文环境主要包含寄存器的值、程序计数器、栈指针),因此开销比较小;

3、系统在运行时会为每个进程分配不同的内存区域,但是不会为线程分配内存,同一个进程中的各个线程共享该进程的内存区域。

4、与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。

5、独立进程间的通信要与核心交互,而由于同一进程中的线程共享内存,它们之间的通信就不需要调用核心。


参考资料:http://289972458.iteye.com/blog/1325189

http://www.blogjava.net/stevenjohn/archive/2012/05/22/378842.html


分享到:
评论

相关推荐

    操作系统复习笔记2——进程管理

    操作系统复习笔记2——进程管理,涵盖进程、线程、CPU调度、进程同步和死锁

    java多线程笔记

    一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java线程:线程栈模型与线程的...

    Java 并发学习笔记:进程和线程,并发理论,并发关键字,Lock 体系,原子操作类,发容器 & 并发工具,线程池,并发实践

    进程和线程, 并发理论, 并发关键字, Lock 体系, 原子操作类, 发容器 & 并发工具, 线程池, 并发实践 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,意味着可以在...

    网络工程师笔记-操作系统基础

    在操作系统中,进程之间经常会存在互斥和同步两种关系 信号量:是一种特殊的变量,表现形式是一个整型S和一个队列 P操作:也称为down()、wait()操作,使S=S-1,若S,进程暂停执行,放入信号量的等待队列 V操作,...

    Python3线程Markdown笔记

    如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。 Python3通过两个标准库 **_thread 和 threading 提供对线程的支持**。 _thread 提供了低级别的、原始的线程以及一个简单的...

    2020计算机操作系统笔记.docx

    《计算机操作系》课本知识点总结,总结易考易错的知识点,另外加个人整理的思维导图,2020年的知识点。

    操作系统第一章笔记.md

    该部分主要是针对学生的上课需要以及考前复习所准备。能让大家很快地了解操作系统引论。 主要讲了:操作系统的目标和作用、发展过程、四大基本特性以及主要功能。...- 操作系统与用户之间的接口 - 现代操作系统的新功能

    操作系统-读书笔记.doc

    读 书 笔 记 ——《操作系统》 《操作系统》 目录 1 操作系统发展史 2 进程和线程 3 内存管理 4 文件系统(Linux) 5 设备管理 1 操作系统发展史 1.1引言 操作系统诞生距今已经有了几十年的时间,它是计算机资源的管理...

    学习笔记(06):19年并发编程及原理视频培训教程入门到精通-进程与线程的区别…

    进程和线程的区别  进程:是系统进行分配和管理资源的基本单位  线程:进程的一个执行单元,是进程内调度的实体,是cpu调度和分派的基本单位,是比进程更小的独立运行的基本单位。线程也被称为轻量级进程,线程是...

    操作系统 SnailOS 学习 拼一个自己的操作系统

    并结合自己对操作系统代码的理解,从最简单的显示字符开始,逐步是实现了操作系统的一些简单的功能,最开始的目标是笔者通过写作笔记的过程,加深对操作系统理论和实践的理解。到了后来,既然代码已经写成,而且对...

    计算机操作系统(第三版)

    《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的...

    Linux系统编程学习笔记

    Linux系统编程是指在Linux操作...这种编程涉及到与 Linux 操作系统核心交互,以实现各种功能,如文件操作、进程管理、网络通信等。Linux 系统编程通常需要直接调用系统调用,使用 C 或 C++ 等低级编程语言进行开发。

    4种常用Java线程锁的特点,性能比较、使用场景.pdf

    线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix...

    深入解析windows操作系统(第4版)卷3

    本书是著名的操作系统内核专家Mark Russinovich和David Solomon撰写的Windows操作系统原理的最新版著作,全面和深入地阐述了Windows操作系统的整体结构以及内部工作细节。本书针对 Windows Server 2003、Windows XP...

    linux优化笔记

    操作系统级 CPU 目前大部分CPU在同一时间只能运行...由于处理器寻址范围的限制,在32位linux操作系统上,应用程序单个进程最大只能使用2GB的内存。 可能出现内存瓶颈的有打印服务器、数据库服务器、静态web服务器等。

    java学习笔记 – 线程安全问题操作实例

    线程与进程 进程:就是内存中运行的应用程序。每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、...

    computer_basics_study_notes:计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络

    计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络。 一、计算机组成原理 todo 二、操作系统 1. 进程管理 作业管理 储存管理 文件管理 Linux 文件系统 设备管理 2. - 线程同步 -- 互斥量 - 线程同步 -- ...

    unix上课学习笔记.txt

    4管理进程: 程序 静态的 进程 启动程序成了进程,每个进程都对应程序的唯一标识 线程 一个进程对应多个线程 5控制系统硬件和程序(驱动) 6管理守护进程 运行在后台,系统启动时启动,系统关闭时关闭 7管理...

Global site tag (gtag.js) - Google Analytics