一.操作系统简单介绍
1.多道技术:(重点)系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
2.空间复用
缺点:程序员A的程序运行10分钟就能够运行结束,程序员B的程序需要运行24小时,如何程序员B的程序先运行,并且程序员B的程序没有任何I\O操作,那么程序员A需要等待24小时之后才能执行,那么这就不太合理了。
解决方案:程序之间的内存必须分割,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存。
3.时间复用
缺点:首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。
进程之间是空间隔离的
解决方案:分时系统
4.分时系统
由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。
分时技术:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
特点:
5.实时系统
虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。
6.通用操作系统:具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。
并发:伪并行,看着像同时运行,其实是任务之间的切换(遇到io切换的会提高代码效率) ,任务切换+保存状态(保存现场)
并行:真正的同时在运行,应用的是多核技术(多个cpu)
进程三状态:就绪(等待操作系统调度去cpu里面执行) 执行 阻塞
提交任务的方式:同步异步 任务的执行状态:阻塞非阻塞
异步:任务的提交方式,多个任务提交出去,同时执行
同步阻塞
异步阻塞:
异步非阻塞:
同步非阻塞:
From Multiprocessing import Process
进程的两种创建方式
Process(target=f1,args=(i,)) kwargs={‘形参名为key:值}
Class MyProcess(Process):
Def __init__(self,n):
Super().__init__()
Self.n = n
Def run(self):
Pass
Main
P = MyProcess(12)
P.start()
Join方法:主进程等待子进程执行结束再继续执行
For 循环开启进程
任务执行时间对比