网编提高 进程阶段

目录

  • 进程的基础

    • 2.操作系统
  • 操作系统的发展史
    • 多道技术
    • 第二代 1955~1965 磁带存储--批处理系统
    • 第三代集成电路,多道程序系统(1955~1965)
  • 进程的理论(重点)
    • 进程的创建(进程之间不允许通信)?
    • 进程的状态

进程的基础

? 1.程序

? 一堆静态的代码文件

? 2.进程

? 一个正在运行的程序

? 由操作系统操控调用交由cpu运行 ,被cpu运行

2.操作系统

? 1。管理控制协调计算机中硬件与软件的关系

? 2。操作系统的作用?

? 2.没有操作系统:你们在开发软件

? 第一层。对硬件(cpu,内存,磁盘)协调,调用

? 第二层 如何调用接口去编程

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

? 第二个作用:多个进程抢占一个(cpu)资源时,操 作系统会将你的执行变得合理有序,雨露均沾(比较 快感受不到)

阻塞:input read write sleep recv accept sendto recvfrom 。。。

操作系统的发展史

百万级代码 写的系统

多道技术

最早出现的计算机:算盘

电子类的计算机发展史

第一代计算机1940~1955(手工操作----穿孔卡片

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

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

优点:个人独享整个计算机资源

缺点;1.硬件条件插线,耗时

? 2.所有人串行执行

第二代 1955~1965 磁带存储--批处理系统

优点程序员不用亲自对硬件进行插线操控,效率提高

可以进行批量处理代码

缺点:

1.程序员不能肚子使用计算机

2.你的所有程序还是串行

第三代集成电路,多道程序系统(1955~1965)

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

2.将两套不同的生产线合并成一个生产线

? 技术上的更新:多道技术,操作系统的理念

? 空间上的复用

? 将一个内存可以同时加载多个进程

? 时间上的复用

? 实现将cpu在多个进程之间来回切换,并且保留状态,在切回来还能保持原样

几乎所有的程序都会有io阻塞

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

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

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

如果在一个计算密集型,耗时来会切换降低效率

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

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

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

第四代计算机:至今

面向字:大型的科学计算机

面向字符:商用计算机

进程的理论(重点)

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

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

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

阻塞:cpu遇到io就是阻塞

非阻塞:没有IO叫非阻塞

程序:一堆静态文件

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

一个程序能否同时开启多个进程?可以

进程的创建(进程之间不允许通信)?

一个子进程必须基于主进程

主进程是启动子进程的

? 一个主进程可以开启多个子进程。

unix:fork创建子进程

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

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

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

? 系统是最主进程

进程的状态

运行程序运行到io进行阻塞 程序进入阻塞状态

阻塞结束进入就绪态 需要在就绪态等待开始运行 等程序遇到io阻塞再进行运行

原文地址:https://www.cnblogs.com/strawberry-1/p/11378152.html

时间: 2024-11-01 16:19:50

网编提高 进程阶段的相关文章

Python网编_进程之间的数据隔离

写在前面: 控制台的本质是一个文件 文件操作的时候尽量不要用r+ w+ a+ 如果用要小心文件指针混乱 随着进程数量的增多会有一些隐患 from multiprocessing import Process n = 100 # 定义一个全局变量 def func(): global n # 通过global改变n的值 n -= 1 if __name__ == '__main__': lis = [] for i in range(2): # 开启两个进程 p = Process(target=

Python网编_进程对象的其他方法

直接上代码: from multiprocessing import Process import time class MyProcess(Process): def __init__(self,a,b): super().__init__() self.a = a self.b = b def run(self): print('start') time.sleep(0.1) print(self.a,self.b) if __name__ == '__main__': p = MyProc

Python网编_进程间的数据共享

Manager提供了很多数据共享机制,但是对于一些基础数据类型来说,是数据不安全的,那么Q:如何解决呢? A: 需要我们自己手动加锁 from multiprocessing import Manager,Process,Lock # Process开子进程用,Lock数据加锁用,Manager进程间数据共享用 def work(d,lock): # lock.acquire() # d['count'] -= 1 # lock.release() with lock: # 上下问管理 注意了l

Python网编_进程池的回调函数

将n个任务交给n个进程去执行每一个进程在执行完毕之后会有一个返回值,这个返回值交给callback函数指定的那个函数去处理这样的话所有的进程哪一个执行的最后快,哪一个就可以先进性统计工作这样就能在最短的时间内得到我们想要的结果 import time import random from multiprocessing import Pool def get(i): # 使用i模拟网站地址 在子进程中执行 time.sleep(random.random()) # 模拟不同的网站返回数据的时间

Python网编_守护进程

假如我有500台机器,跑着500个进程,假如有一部分台机器挂了,我们怎么能及时的知道呢?我们维护自己的机器当然要及时的直到啦so 如果我们有一个监控的软件来实时的监控是不是就可以解决这个问题啦其原理是:client端每隔一个时间段(比如60秒)汇报给server端 没有在正确的时间收到某台机器的汇报就说明这台机器出问题了,应该去看一看.那么如何做呢?在client端的主进程中开启一个子进程,通过这个子进程来汇报,看下面: from multiprocessing import Process i

python面试题 -- 网编并发

Python面试重点(进阶篇) 注意:只有必答题部分计算分值,补充题不计算分值. 第一部分 必答题 简述 OSI 7层模型及其作用?(2分) # 应用层:文件传输,文件管理,电子邮件的信息处理# 表示层:确保一个系统的应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据的解密和加密# 会话层:验证访问和会话管理# 传输层:为应用程序之间提供端对端的逻辑通信.# 网络层:选择合适的网间路由完成两个计算机之间的多个数据链路,通过路由协议和地址解析协议(ARP).IP,RIP(路

网编试题

深圳骑士计划脱产班全栈3期第三次统一考试 考试时长:5个小时                   满分:150分 评分标准(150分):  (150, 'A+'), (136, 'A'), (129, 'B+'), (121, 'B'), (106, 'B-'), (91, 'C+'), (76, 'C'), (61, 'C-'), (0, ' D') 1.请编写一个函数实现将IP地址转换成一个整数.(5分) 如 10.3.9.12 转换规则为: 10            00001010 3

Python网编_join方法

前言:我们知道父进程要负责回收子进程占用的系统资源(就是父要给子收尸)so父进程要等子进程结束之后收了尸才能结束,如果父进程先结束,子进程的资源就没法被回收,就会一直占用系统资源,就成了僵尸进程了我们的Python中如果父进程即使运行完了或者报错了也要等待子进程结束收了尸再结束 举个例子:我们要给500个人群发邮件 假设我们每发送一封邮件需要0.1s 总耗时0.1*500 = 50s 那么我们开启了10个进程,每个进程负责50个邮件 所有进程发送完邮件,我们需要得到一个通知:所有的进程都已经发送

网贷备--案阶段,关注行业市场动态很重要

近来,好几家平台良性退出,让网--贷市场再次陷入了比较恐慌的状态,很多投资人对P2P再次心存质疑了.在平台完全备--案之前,投资人到底该不该撤资?其实笔者认为,投资人不必恐慌,也不必过于担忧,网--贷-平-台清退实际上是政-策-监-管的必然结果,只是为了把运营不善,本身就存在问题的平台清理干净罢了.在这样的背景下,我们投资人要做的是沉着冷静,掌握正确的投资方法,避免遇到这样的事情发生,而不是自我否定和恐慌.笔者认为,这三种正确的P2P投资方式可以降低你的资金风险.1.稳定即安稳定即安这是什么意思