本文主要是介绍操作系统讲课整理之进程/线程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
昨天师姐讲解了一下操作系统这本书,虽然没有讲完,但是我觉得在对这本书的整体了解和一些知识上面介绍的特别好,所以整理一下。
总体概述:
计算机系统主要分为:硬件、处理器、存储管理、文件管理等几部分。
操作系统要在硬件上面安装,处理器负责处理各项指令,存储管理主要是对存储器资源(主要指内存并涉及外存)的管理,文件管理则是对信息管理的部分。
处理器:进程/线程
进程:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。
线程:线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
以上是百度百科的解释,我现在是这么理解的,假设我们运行一个程序,比如QQ,那么它现在应该是一个进程,我们通过QQ和别人聊天,和A,和B,和C,每打开一个聊天窗口,就调用聊天的线程。或者你要传输文件,就要调用传输文件的进程。线程是一直存在的,本来就有的功能。
另外一个例子,比如有一个播放器,他的主页面和设置是两个程序,那么就应该是两个进程。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
区别和联系(百度知道):
1、进程是独立运行的实体,有独立的资源分配;
2、同一进程的线程之间共享进程的资源;
3、所有的进程至少有一个执行线程;
4、线程的创建和切换代价比进程的小;
线程间的通信方法:
1、同一进程的线程之间通信的最简单办法就是使用全局变量;
2、不同进程的线程之间通信需要通过下面进程间的通信来实现;
进程间的通信方法:
1、管道
2、信号量
3、共享内存
4、消息队列
5、套接字
进程和线程要真的研究起来,肯定比这更复杂,不过现阶段只是要求了解知道就可以了,所以以后再深究吧~
这篇关于操作系统讲课整理之进程/线程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!