进程初识-操作系统发展史

程序: 应用软件,一堆代码文件

进程: 一个正在执行的程序/文件,抽象的概念

启动一个进程过程: 程序存在硬盘,磁盘中,双击(触发操作系统),操作系统将程序加载到内存,交给cpu来处理

来一个任务,先给操作系统,然后操作系统给cpu,cpu做这个任务才是一个进程

进程源于操作系统

操作系统

定义:操作系统就是一个软件,管理,协调,控制计算机硬件与软件之间的控制软件

作用:

1.将一些丑陋的与硬件的接口变成了漂亮的美丽的接口

2.出现同一时刻多个进程共同去抢占一个cpu资源的情况时,操作系统要合理有序的去安排不同进程的执行顺序问题

操作系统与软件的区别:

操作系统与用户程序的差异并不在于二者所处的地位 操作系统是一个大型的,特别的,长寿的软件

操作系统发展史

 第一代计算机

 

二战期间哈佛大学创建第一台电子计算机 没有操作系统的概念,直接操作计算机硬件

工作流程:程序员拿着插件版(后期更新为穿孔技术),预约时间去计算机房研究

优点:一个程序员可以独享一个计算机

缺点:

1.浪费计算机资源,一个时间段内只有一个人能使用计算机

2.所有的程序都是串行的(一个一个按照顺序执行),效率低

第二代计算机

分为三个部分,两个机器

 

工作流程:程序员按照顺序将字节的穿孔卡片给第一个机器,转化成磁带,再交由第二个机器运行处结果,最终交由第一个机器打印出结果

优点:批处理,节省了计算机的时间

缺点:

1.效率低,中间传输还需要人员参与

2.所有程序还是串行处理

3.每个人不能独享计算机了,出现bug不能及时修复

第三代计算机

集成电路   多道程序技术

多道技术:

空间上的复用:内存可以加载很多个不同的任务

时间上的复用:可以同时处理多个进程,遇到IO阻塞就交换

初期还有缺陷:

1.内存级别各种进程间的数据没有进行物理隔离

2.没有达到个人独享的效果

后期出现分时系统,对内存级别的数据进行物理隔离,又出现的unix分账户概念,让人们认为自己在独享电脑

概念

串行: cpu将一些进程一个接一个的执行(之前所接触的代码都是串行)

并发: 一个cpu执行多个任务,看起来像是同时执行的

并行: 真正意义上的一对一服务

阻塞: 只有IO才能称为阻塞

非阻塞: 进程没有IO就是非阻塞

 

进程创建: 双击程序或者运行一个py文件,就是开启一个进程

开启多个进程:

发起一个命令,在主进程(父进程)的代码里面,通过导入模块或者执行一些操作,通过操作系统再开启一个子进程,把代码放进父进程中,这样就开启了两个进程

 linux(unix,macos)和windows

开启进程的命令不同:

linux(unix,macos):fork

windows:CreatProcess

开启进程内部方式稍有不同:

linux(unix,macos):会将主进程的所有数据复制一份,放到进程空间中

windows:除了完全复制一份之外,还会在子进程空间创建一些额外的数据

进程的状态:

 

进程并发的实现:

进程遇到IO阻塞或者长时间运行,操作系统会将进程挂起,为此,操作系统维护一张表格,即进程表(process table),每个进程占用一个进程表项(这些表项也称为进程控制块)

 

该表存放了进程状态的重要信息:程序计数器、堆栈指针、内存分配状况、所有打开文件的状态、帐号和调度信息,以及其他在进程由运行态转为就绪态或阻塞态时,必须保存的信息,从而保证该进程在再次启动时,就像从未被中断过一样。

 

转载于:https://www.cnblogs.com/sandy-123/p/10435288.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值