day32

进程的基础

程序

一堆静态的代码文件

进程

一个正在运行的程序进程。抽象的概念

  • 被谁运行?

    • 由操作系统操控调用交于CPU运行

操作系统

  • 管理控制协调计算机中硬件与软件的关系
  • 操作系统的作用?
    • 如果没有操作系统:你们在开发软件
    • 第一层:对硬件(CPU,内存,磁盘等等)协调,调用
    • 第二层:如何调用各种接口,去编程
第一个作用

将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口。例:open函数

第二个作用

多个进程抢占一个(CPU)资源时,从操作系统会将你的执行变得合理有序

  • 阻塞:input、read、write、sleep、recv、accept、sendto、recvfrom...

操作系统的发展史

最早出现的计算机:

算盘

电子类的计算机发展史:
  • 第一代计算机(1940~1955)

    在大学里出现了机房,想使用计算机必须预约

    先连接调配各个硬件,1.5小时,真空管,然后再插上程序调试,效率低

    • 优点:个人独享整个计算机资源
    • 缺点:
      • 硬件调试插线,耗时
      • 所有人都是串行执行
  • 第二代计算机(1955~1965)

    磁带存储——批处理系统

  • 优点

    • 程序员不用亲自对硬件进行插线操控,效率提高
    • 可以进行批量处理代码
  • 缺点
    • 程序员不能独自使用计算机
    • 你的所有程序还是串行
  • 第三代计算机(1955~1965)

    集成电路,多道程序系统

    大背景:

    1、集成电路:把所有的硬件变小,线路板

    2、将两套不同的生产线合并成一条生产线

    技术上的更新:多道技术

    • 空间上的复用:

    ​ 将内存分区域,一个内存可以同时加载多个进程

    • 时间上的复用:

    ​ 实现将cpu在多个进程之间来回切换,并且保留状态

    几乎所有的程序都有IO阻塞

    洗衣服:10分钟 50分钟

    烧水: 5分钟 10分钟

    做饭:15分钟 5分钟

    同时加载到内存3个任务,3个进程,每个进程都有阻塞情况,只要cpu运行一个进程时,遇到IO阻塞立马会切换,长时间占用cpu也会切换

    提升效率,最大限度的使用cpu

    如果是一个IO密集型进程,来回切换提升效率

    如果是一个计算密集型,来回切换降低效率

    第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生:

    每个人占用计算机的时间有限的,

    多人(少于10个)共同使用一个计算机主机

  • 第四代计算机:至今

进程的理论

串行:所有的任务一个一个的完成

并发:一个cpu完成多个任务,看起来像是同时完成

并行:多个cpu执行多个任务,真正的同时完成

阻塞:cpu遇到IO就是阻塞

非阻塞:没有IO,就叫非阻塞

1、程序:一堆静态文件

2、一个正在执行的程序任务,一个进程

3、一个程序能否开启多个进程?可以

4、进程的创建

  • 一个子进程必须依赖于一个主进程才可以开启

  • 一个主进程可以开启多个子进程

    • unix:fork创建子进程

      unix(linux,mac):创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变

    • windows:操作系统调用CreateProcess处理进程的创建

      windows:创建一个子进程,会copy主进程所有的资源,但是会改变一些资源

  • 进程的状态

day32——进程、操作系统的更多相关文章

  1. day32 进程

    上午: # 1 开启子进程 #target #args # if __name__ == '__main__' #start() # 2.其它的方法: #方法: #terminate() #is_al ...

  2. python 操作系统和进程

    一. 操作系统介绍 多道程序系统 多道程序设计技术       所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行.即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种 ...

  3. 每天3分钟操作系统修炼秘籍(6):Idle进程

    点我查看秘籍连载 CPU的归属:Idle进程 操作系统并不总是繁忙.例如个人PC上任务比较轻,多数时候都无法充分利用CPU,导致CPU处于空闲状态.但CPU既然通电了,它就得运行,那么在它没有任务需要 ...

  4. 进程、线程、轻量级进程、协程与 go 的 goroutine【转载+整理】

    本文内容 进程 线程 协程 Go 中的 goroutine 参考资料 最近,看一些文章,提到"协程"的概念,心想,进程,线程,协程,前两个很容易,任何一本关于操作系统的书都有说,开 ...

  5. 进程、线程、轻量级进程、协程和go中的Goroutine

    进程.线程.轻量级进程.协程和go中的Goroutine 那些事儿电话面试被问到go的协程,曾经的军伟也问到过我协程.虽然用python时候在Eurasia和eventlet里了解过协程,但自己对协程 ...

  6. Linux下C语言的进程控制编程

    代码: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/ty ...

  7. linux内核分析--操作系统是如何工作的?

    一个简单的时间片轮转多道程序 操作系统的"两把剑":中断上下文(保存现场和恢复现场)和进程上下文的切换 源代码的分析 *使用的源代码为视频中所使用的精简内核的源代码 首先分析myp ...

  8. socket--多进程,多线程服务器

    一:概念: 我们知道IP地址是标志网络中不用主机的IP地址,而端口号就是同一台主机上标志不同进程的地址,IP地址和端口号标志网络中的唯一地址.(又称socket) 在TCP协议中,建⽴立连接的两个进程 ...

  9. Linux间的进程通信;以及子进程的创建

    "-----第六天-----------------------------------------------------------------------------" .版 ...

随机推荐

  1. js 鼠标事件详细

    常用的几个类型 onClick HTML: 2 | 3 | 3.2 | 4 Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick HT ...

  2. C# 监测每个方法的执行次数和占用时间(测试5)

    又找到了一个bug 测试的类: public class Class11_1 { public virtual List<int> test2_1(List<tb_SensorRec ...

  3. 第12组 Beta冲刺(2/5)

    Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 由于这两天在修严重Bug,故项目没有新的进展,燃尽图没有变化 展示Git当日代码/文档签入记录(组内 ...

  4. 使用深度学习的超分辨率介绍 An Introduction to Super Resolution using Deep Learning

    使用深度学习的超分辨率介绍 关于使用深度学习进行超分辨率的各种组件,损失函数和度量的详细讨论. 介绍 超分辨率是从给定的低分辨率(LR)图像恢复高分辨率(HR)图像的过程.由于较小的空间分辨率(即尺寸 ...

  5. Markdown 打出上下标

    1. 打上标,下标 2<sup>10</sup> <!--下标--> 2.同时打上下标 $x^p_ {ij}$ <!--上标为p,下标为ij,{}是用来组合i ...

  6. linux性能监控常用命令

    概述 我们在linux下,如果想要监控服务器性能.我们必须掌握以下常用的指标查看命令. ps pstree top free vmstat sar ps ps命令能给出当前系统中进程的快照.下面我们列 ...

  7. 刷题记录:[LCTF]bestphp's revenge

    目录 刷题记录:[LCTF]bestphp's revenge 一.知识点 1.SoapClient触发反序列化导致ssrf 2.serialize_hander处理session方式不同导致sess ...

  8. ubuntu之路——day17.1 卷积操作的意义、边缘检测的示例、filter与padding的关系、卷积步长

    感谢吴恩达老师的公开课,以下图片均来自于吴恩达老师的公开课课件 为什么要进行卷积操作? 我们通过前几天的实验已经做了64*64大小的猫图片的识别. 在普通的神经网络上我们在输入层上输入的数据X的维数为 ...

  9. spring boot eclipse 远程调试

    <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  10. 公网IP地址就一定是A类地址和B类地址吗?那C类地址就一定是私有地址吗?

    A,B,C三类中既有公网地址,也有私网地址:在A类地址中,10.0.0.0-10.255.255.255是私有地址.在B类地址中,172.16.0.0-172.31.255.255是私有地址.在C类地 ...