概述
操作系统拥有:并发,共享,虚拟,和异步的基本特性
1.3.1 并发性 :
1.并行与并发
并行与并发相似,但又不是完全一样。
并发指的是两个或多个事件在同一时间间隔内同时发生。
并行是两个或多个时间在同一时刻内同时发生。
并发 宏观上来讲,也是同时发生。在多道程序运行的环境下,并发指的就是一段时间内,多个程序同时运行。但如果在单道程序的运行环境下,程序只能一个个地分时(分时间)地运行。
并发概念理解:
实例:
比如在电脑上运行,网易云,qq,google浏览器,这三个程序。我希望电脑在运行了网易云之后,还可以同时运行qq和google。多个程序(进程)同一时间间隔内就叫并发。
*为什么计算题能够使多个程序并发运行呢?*接下来引入进程。。
2.进程
进程的结构特征:
一个进程实体由:进程控制模块(Process Control Block,PCB),程序段,相关数据段构成。
程序是静态的,(程序只是一段命令的集合,是静态的。),不能独立运行,更不能与其他程序并发运行。因此进程的出现就是为了使程序能运行,且能与其他程序并发运行。进程的基本特征就是动态性,由进程控制模块控制了程序的运行与停止,展现出其动态性。我们在电脑中的任务管理器中看见的各个进程,也就是各个程序在运行。
系统为各个程序创建 一个进程,就是系统为一个个程序的运行分配资源,那么 也就是进程是系统进行资源分配的基本单位.
3.线程
线程是独立运行和调度的比进程更小的基本单位.
进程与线程的关系:
进程是包括线程的。一个程序至少有一个进程,一个进程至少有一个线程,一个进程可以同时拥有多个并行的线程。系统给进程分配内存,而这个进程里的多个线程是共享这个进程的内存空间的。本身系统是不会为线程分配内存的。
根本区别:进程是系统进行资源分配和调度的一个独立单位,而线程是cpu进行调度和执行的更小的单位。
创建线程的作用
线程越多,能使程序运行更快。
进程线程理解实例解析:
电脑中比如qq这个程序(进程),它是与其他进程独立的,系统为其分配资源。这个进程里面有多个线程,他们不是独立的,他们相互协作,共同维护好qq这个进程的运行。就拿qq聊天的时候,有的线程是控制把消息发送出去,有的把消息进行加密,有的线程控制消息的记录保存等等。。这些线程共享这个进程的资源,进程可以控制这些线程的运行顺序,以及资源的分配。
4.python创建线程
使用模块:threading
安装方法:cmd中输入指令 pip install threading或者pip3 install threading
import threading
import time
start=time.time()
def test(num):
print("线程执行{}".format(num))
#创建5个线程, target指目标函数,args是给目标函数传的参数,是个可选参数,#可有可无
for i in range(5):
tl=threading.Thread(target=test,args=(I+1,))
tl.start()
end=time.time()
print("花费时间",end-start)
结果:
线程执行1
线程执行2
线程执行3
线程执行4
线程执行5
花费时间:0.075秒
1.3.2共享性
系统的资源是共享的。
实现资源共享的方式优.:1.互斥共享 2.同时访问
1.互斥共享
有些资源,如打印机,虽然他可以提供多个进程使用,但是试想,同时打印多个东西,会造成打印结果的混乱,因此规定,某些资源在进行使用的时候,必须要先让某进程先使用,等使用完之后,再同一其他进程进行访问。
我们把一段时间内只允许一个进程访问的资源成为独占资源,或临界资源
2.同时访问
与互斥共享相反,他可以让多个进程同时访问使用这个资源。
1.3.3虚拟技术
虚拟技术,就是将是实体东西,虚拟成对应的东西。
虚拟技术分为:时分复用,空分复用
1.时分复用
资源在时间上的复用。
例子:
汽车上的椅子,时分复用。 不同时间上有不同的人进行访问使用。
分时系统上的打印机 不同时刻有人使用
2.空分复用
让同一个频段在不同空间上使用。
电信业,将一个频率范围非常宽的信息道路,虚拟出许多个频率范围小的信道。
这就是用的空分复用技术。
例子:
住宅土地,教室黑板。
1.3.4异步性
异步就是“”走走停停的“”。
打印机是临界资源,也就是需要一个进程访问结束之后,才能让另一个进程继续访问。
而当之前的那个进程没有使用完时,后面的进程想要访问打印机这个资源,就必须等待,这样走走停停的运行方式,就叫异步。其实这体现的就是进程是进程是独立的,以不可预知的速度向前递推运行,或称进程实体按异步方式运行。
在web端:刷网页的时候,通常会出现有加载,以及局部更新这样的情况,这就叫异步性。
最后
以上就是发嗲大碗为你收集整理的操作系统之基本特性 对并发,共享,虚拟,异步的理解的全部内容,希望文章能够帮你解决操作系统之基本特性 对并发,共享,虚拟,异步的理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复