一、操作系统基础:
进程的概念起源于操作系统,操作系统其它所有概念都是围绕进程来的,所以我们了解进程之前先来了解一下操作系统
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成
两大功能:
1.将复杂的硬件操作封装成简单的接口给应用程序或者用户去使用
2.将多个进程对硬件的竞争变得有序
操作系统处理进程的发展简略:
1.串行:一个任务完整的运行完毕才运行下一个任务
2.并发:多个任务看起来是同时运行的
3.多道技术(复用-->共享)
(1)空间上的复用:多个任务复用内存空间
(2)时间上的复用:多个任务复用cpu的时间
时间上的复用又分为两种:
-
一个任务占用时间过长会被操作系统剥夺走cpu的执行权限:比起串行执行反而降低效率
- 一个任务遇到IO操作也会被操作系统剥夺走cpu的执行权限:比起串行执行可以提升效率
二、进程
程序仅仅是一堆代码而已,而进程指的是程序运行的过程
(一)、进程的创建
开启进程的方式1:(直接使用Process)
from multiprocessing import Process import time def task(name): print('%s is running'%name) time.sleep(3) print('%s is done'%name) #在windows系统上,开启子进程的操作必须放到 if __name__ == '__main__':中,避免递归 if __name__ == '__main__': p = Process(target=task,args=('egon',)) # Process(target=task,kwargs={'name':'egon'}) p.start()#只是向操作系统发送了一个开启子进程的信号 print('主')