操作系统理论

UDP协议

服务端
import socket

while True:
    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'))
    # 客户端的IP地址
    print('address>>>:', address)
    # 客户端发来的数据
    res = input('返回给客户端>>>:').strip()
    server.sendto(res.encode('utf8'), address)

客户端
import socket

while True:
    client = socket.socket(type=socket.SOCK_DGRAM)
    server_address = ('127.0.0.1', 8080)
    res = input('发给服务端>>>:').strip()
    client.sendto(res.encode('utf8'), server_address)
    msg, address = client.recvfrom(1024)
    print('address>>>:', address)
    # 客户端的IP地址
    print('msg>>>:%s' % msg.decode('utf8'))
    # 客户端发来的数据

'''
UDP服务端不需要考虑客户端是否异常退出
UDP不存在黏包问题
UDP多用于短消息的交互
'''

操作系统理论

操作系统的发展史

'''
三大核心硬件
CPU		内存		硬盘
'''

1穿孔卡片
CPU利用率非常低,但程序员可以一人独占计算机

2.联机批处理系统
缩短录入数据时间,让CPU连续工作的时间变长,提升CPU利用率

3.脱机批处理系统
是现代计算机的雏形,提升CPU利用率

4.操作系统的发展史也可以看成是CPU利用率提升的发展史

多道技术

前提:一核/一CPU

1.单道技术
所有程序排队执行,总耗时是所有程序耗时之和

2.多道技术
计算机利用空闲时间提前准备好一些数据,提高效率,总耗时较短

3.多道技术(切换+保存状态)
3.1CPU在两种情况下回切换(先去执行其他程序)
程序自身进入IO操作
'''
IO:输入输出操作
获取用户输入
time.sleep()
保存文件
读取文件
'''
3.2保存状态
每次切换之前都会记录当前执行状态了,切换回来后就可以基于当前状态继续执行
img

进程理论

1.什么是进程
程序:一堆躺在文件中的代码
进程:正在执行的代码

2.进程的调度算法
2.1如果先来先服务,对耗时断的程序不友好
2.2如果短作业优先,对耗时长的程序不友好
2.3时间片轮转法+多级反馈队列
让用户感觉所有程序都在执行
'''
将固定的时间分成很多份,所有的程序都执行一份
分配多次之后如果还有程序,则分到下一层
越往下表示程序总耗时越长,每次分的时间片越多 但是优先级越低
'''

进程的并行与并发

1.并行
多个进程同时执行,单个CPU无法实现并行,必须要有多个CPU
'当一个CPU执行一个线程时,另一个CPU可以执行另一个线程'

2.并发
多个进程好像在同时执行,单个CPU可以实现并发,并行也属于并发
'在同一个时间段内,两个或多个程序执行,但任一个时刻点上只有一个程序在运行'

3.描述一个网址很牛(扩展:面试小坑)
3.1这个网址很厉害,可以支持10亿并行量(高并行)>>>不合理,哪来那么多CPU
3.2这个网址很厉害,可以支持10亿并发量(高并发)>>>合理,12306nb
img

进程的三状态

1.所有的进程想要运行,就要先进入就绪态
2.运行过程中如果出现了IO操作,就会进入阻塞态
3.运行过程中如果时间片用完了,则在进入就绪态
4.阻塞态想要运行,就要先进入就绪态

同步异步与阻塞非阻塞

1.同步和异步
1.1同步
提交任务之后等待任务结束,期间什么都不做
1.2异步
提交任务之后就去做其他事,结果会自动提醒

2.阻塞与非阻塞
2.1阻塞
阻塞态
2.2非阻塞
就绪态、运行态

3.同步异步与阻塞非阻塞
同步阻塞:在银行排队,并在队伍中什么事情都不做
同步非阻塞:在银行排队,并且在队伍中做点其他事
异步阻塞:取号再在旁边座位上等着叫号,期间不做事
异步非阻塞:取号再在旁边座位上等着叫号,期间做点其他事
posted @ 2022-08-08 16:43  无言以对啊  阅读(75)  评论(0)    收藏  举报