一. 进程操作系统发展史简单介绍第一代(1940~1955) 手工操作 ---- 穿孔卡片第二代(1955~1965) 磁带储存 ---- 批处理系统1. 联机批处理2. 脱机批处理系统第三代(1955~1965) 多道程序系统(********)1. 多道程序设计技术...
一. 进程
操作系统发展史简单介绍
第一代(1940~1955) 手工操作 ---- 穿孔卡片
第二代(1955~1965) 磁带储存 ---- 批处理系统
1. 联机批处理
2. 脱机批处理系统
第三代(1955~1965) 多道程序系统(********)
1. 多道程序设计技术
2. 多道批处理系统
3. 分时系统
4. 实时系统
5. 通用操作系统
第N代(1980~至今) 现代计算机
1. 个人计算机操作系统
2. 网络操作系统
3. 分布式操作系统
#一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序 #二 多道技术: 1.产生背景:针对单核,实现并发 ps: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。 2.空间上的复用:如内存中同时有多道程序 3.时间上的复用:复用一个cpu的时间片 强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样 才能保证下次切换回来时,能基于上次切走的位置继续运行
二. 进程的两种创建方法(**********)
进程的创建
1 #当前文件名称为test.py 2 # from multiprocessing import Process 3 # 4 # def func(): 5 # print(12345) 6 # 7 # if __name__ == '__main__': #windows 下才需要写这个,这和系统创建进程的机制有关系,不用深究,记着windows下要写就好啦 8 # #首先我运行当前这个test.py文件,运行这个文件的程序,那么就产生了进程,这个进程我们称为主进程 9 # 10 # p = Process(target=func,) #将函数注册到一个进程中,p是一个进程对象,此时还没有启动进程,只是创建了一个进程对象。并且func是不加括号的,因为加上括号这个函数就直接运行了对吧。 11 # p.start() #告诉操作系统,给我开启一个进程,func这个函数就被我们新开的这个进程执行了,而这个进程是我主进程运行过程中创建出来的,所以称这个新创建的进程为主进程的子进程,而主进程又可以称为这个新进程的父进程。 12 #而这个子进程中执行的程序,相当于将现在这个test.py文件中的程序copy到一个你看不到的python文件中去执行了,就相当于当前这个文件,被另外一个py文件import过去并执行了。 13 #start并不是直接就去执行了,我们知道进程有三个状态,进程会进入进程的三个状态,就绪,(被调度,也就是时间片切换到它的时候)执行,阻塞,并且在这个三个状态之间不断的转换,等待cpu执行时间片到了。 14 # print('*' * 10) #这是主进程的程序,上面开启的子进程的程序是和主进程的程序同时运行的,我们称为异步View Code
进程的创建(第二种方法)
三. 进程之间是空间隔离的(验证)
四. os.getpid() os.getppid()
五. for循环创建进程
本文标题为:python-day30(进程 验证空间隔离)
基础教程推荐
- Python爬取当网书籍数据并数据可视化展示 2023-08-11
- CentOS 7.5 安装 Python3.7 2023-09-03
- python的环境conda简介 2022-10-20
- ubuntu 18 python3.6 的安装与 python2的版本切换 2023-09-03
- 基于Python实现股票数据分析的可视化 2023-08-04
- Python基础学习之函数和代码复用详解 2022-09-02
- Python 中 Elias Delta 编码详情 2023-08-08
- centos系统 anaconda3(python3)安装pygrib 2023-09-04
- Centos7下安装python环境 2023-09-04
- 四步教你学会打包一个新的Python模块 2022-10-20