赞
踩
Shell命令语言的知识了解
什么是多进程并发
实现多进程并发的步骤
知识概念区分
一:线程与进程
1.概念
线程:是程序执行流的最小单元,是系统独立调度和分配CPU(独立运行)的基本单位。
进程:是资源分配的基本单位。一个进程包括多个线程。
2.区别:
1.线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。
2.每个进程都有自己一套独立的资源(数据),供其内的所有线程共享。
3.不论是大小,开销线程要更“轻量级”
4.一个进程内的线程通信比进程之间的通信更快速,有效。(因为共享变量)
二.多线程与多进程
多线程:同一时刻执行多个线程。用浏览器一边下载,一边听歌,一边看视频,一边看网页。。。
多进程:同时执行多个程序。如,同事运行YY,QQ,以及各种浏览器。
三.并发与并行
并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。
并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
一、多处理机(SMP):
1.多个物理cpu
2.每个cpu有自己的独立cache、寄存器、运算单元。
3.每个cpu对内存的访问速度一样。
二、多核cpu
1.一个物理cpu包含多个cpu核心。
2.每个核心有自己的独立寄存器和运算单元。
3.可共享最后一级cache.
三、多线程cpu
1.一个物理cpu包含多个逻辑cpu;这些逻辑cpu有自己的通用寄存器。
2.共享cache和运算单元(逻辑cpu)。
3.由于cpu通常包含多个运算单元,因此多线程cpu实际可同时运行。
分时系统以及批处理系统
分时系统
分时操作系统:“分时”的含义是指多个用户使用同一台计算机,多个程序分时(分时间片)共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。,分时操作系统将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务
批处理系统
从字面上理解,就是一批一批的处理任务的一种系统,严格的定义,就是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。这种采用批量处理作业技术的操作系统称为批处理操作系统。简单地理解就是我手中有一大堆任务(相当一个程序)要运行,我一个一个的放入内存中执行效率会很慢,因为我要人为的去装载程序(早期的机器会把程序写到磁带中,然后人为地放到专门处理程序的机器中),所以我一次性放一批的任务,让操作系统自己去运行它,而我不需要干涉,这样我就省了很多力气
执行时间
并行执行时间是由三部分组成的:计算时间,通信时间和并行开销时间,在并行计算中,他们分别记作:并行开销时间主要包括操作系统进行进程管理的时间等;通信时间则主要是处理器间进行消息,数据传递等所要的延迟。(维基百科)
用户CPU时间:就是用户的进程获得了CPU资源以后,在用户态执行的时间。
系统CPU时间:用户进程获得了CPU资源以后,在内核态的执行时间。
进程的三种状态为阻塞、就绪、运行。
时钟时间 = 阻塞时间 + 就绪时间 +运行时间
用户CPU时间 = 运行状态下用户空间的时间
系统CPU时间 = 运行状态下系统空间的时间。
用户CPU时间+系统CPU时间=运行时间。
所谓的时钟时间又叫做墙上时钟时间,它是进程运行的时钟总量,其值与系统中同时运行的进程数有关,不过一般在讨论时钟时间的时候都是在系统中没有其他活动进行时度量的。
实验运行截图
(蓝桥云操作系统实验七)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。