今日内容回顾

基于UDP协议的套接字通信

# 服务端
import socket
server = socket.socket(type=socket.SOCK_DGRAM)
server.bind(('127.0.0.1', 8080))
msg, address = server.recvfrom(1024)
print('msg>>>:%s' % msg.decode('utf8'))
print('address>>>:',address)
server.sendto('服务端'.encode('utf8'), address)

# 客户端
import socket
client = socket.socket(type=socket.SOCK_DGRAM)
server_address = ('127.0.0.1', 8080)
client.sendto('客户端'.encode('utf8'), server_address)
msg, address = client.recvfrom(1024)
print('msg>>>:%s' % msg.decode('utf8'))
print('address>>>:',address)

'''补充说明'''
1.服务端不需要考虑客户端是否异常退出
2.UDP不存在黏包问题(UDP多用于短消息的交互)

操作系统的发展史

  1. 穿孔卡片

    需提前制作好穿孔卡片放到早期的输入机中,等待输入机中的卡片内容读取完毕后,输入到计算机内存

    启动控制台对输入的数据运行,执行完毕后。打印结果,用户取走卡片后才让下一个用户使用

    穿孔卡片阶段cup利用率非常的低。

  2. 联机批处理系统

    缩短录入数据的时间,让cpu能够更好的发挥它的作用,提升cpu利用率

    img

  3. 脱机批处理系统

    等同于现代计算机的雏形,更近一步的提升cpu的的利用率

    img

操作系统的发展史也可看成是cpu利用率提升的一个过程。

多道技术

单道技术

所有的程序排队执行,总耗时是所有程序的耗时的总和。

多道技术

计算机利用空闲时间提前准备好一些数据,提高效率,减少耗时。

多道技术的俩种状态,切换和保存状态

  • 切换

    当程序长时间占用cpu或程序自身进入io操作的时候,cpu会在这停顿期间切换执行其他程序。

  • 保存状态

    每次切换之前都要记录当前执行的状态,之后切回来基于当前状态继续执行

进程理论

  • 什么是进程

    首先程序指的一堆存放在文件上的死代码,没有被运行的。

    而进程指的是正在被运行的程序。

进程的并行与并发

  • 并行

    多个进程之间同时执行,单个cpu无法实现并行,必须要有多个cpu

  • 并发

    多个进程看上去像同时执行就可以称之为并发,单个cpu完全可以实现并发的效果,如果是并行那么肯定也属于并发

  • 小题目

    描述一个网址非常牛逼能够同时服务很多人的话术。

    1.我们这个网站很牛逼,能够支持14亿并行量(高并行)

    2.我们这个网站很牛逼,能够支持14并发量(高并发)

    首先第一题不合理,没有这么多cpu(集群也不现实),第二题就比较合理。

进程的三状态

img

  1. 所有的进程想要被运行,就必须先经过就绪态
  2. 运行过程中如果出现了io操作,则进入阻塞态
  3. 运行过程中如果时间片用完,则继续进入就绪态
  4. 阻塞态要想进入运行态必须先经过就绪态

同步和异步

同步异步用于描述任务提交的状态

同步:提交任务完成之后原地等待任务结果,在没有得到结果之前不会进行任何操作

异步:提交完任务之后不会原地等待结果,直接去做其它事情,结果自动提醒。

阻塞与非阻塞

阻塞与非阻塞用于描述进程的执行状态

阻塞:程序遇到了io操作进入阻塞态等待io操作结束

非阻塞:程序正常运行在就绪态或运行态阶段

同步异步与阻塞非阻塞

  • 同步阻塞

    在银行排队 并且在队伍中什么事情都不做

  • 同步非阻塞

    在银行排队 并且在队伍中做点其他事

  • 异步阻塞

    取号 在旁边座位上等着叫号 期间不做事

  • 异步非阻塞

    取号 在旁边座位上等着叫号 期间为所欲为

posted @   瓮小辉  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示