网络编程——UDP协议使用、操作系统发展史、多道技术、进程理论


一、UDP协议使用

import socket
server = socket.socket(type=socket.SOCK_DGRAM)  # 自己指定UDP协议(默认是TCP协议)
server.bind(('127.0.0.1', 8080))
msg, addr = server.recvfrom(1024)
print('msg>>>:', msg.decode('utf8'))
print('addr>>>:', addr)
server.sendto(b'hello baby', addr)


import socket
client = socket.socket(type=socket.SOCK_DGRAM)
server_addr = ('127.0.0.1', 8080)  # 查找通讯录
client.sendto(b'hello server baby', server_addr)
msg, addr = client.recvfrom(1024)
print('msg>>>:', msg.decode('utf8'))
print('addr>>>:', addr)

二、操作系统发展史

1.穿孔卡片

穿孔纸带:早期计算机的信息输入设备,通常可以储存80列数据。即穿孔纸带是程序也是数据存储器。说白了就是当时的程序储存器,编好的程序被通过打孔的方式记录在纸带上,需要运行的时候就从纸带上读取

霍列瑞斯博士巧妙的设计在于自动统计。他在机器上安装了一组盛满水银的小杯,穿好孔的卡片就放置在这些水银杯上。卡片上方有几排精心调好的探针,探针连接在电路的一端,水银杯则连接于电路的另一端。与杰卡德提花机穿孔纸带的原理类似:只要某根探针撞到卡片上有孔的位置,便会自动跌落下去,与水银接触接通电流,启动计数装置前进一个刻度。由此可见,霍列瑞斯穿孔卡表达的也是二进制信息:有孔处能接通电路计数,代表该调查项目为“有”(“1”),无孔处不能接通电路计数,表示该调查项目为“无”(“0”)

在这里插入图片描述

有孔为1无孔为0,中间的小孔起到传动和定位的作用.
优势:一个人独占电脑
劣势:CPU利用率极低

2.联机批处理系统

联机是指I/O设备与主机直接连接的方式
把一堆人的输入输出聚集起来,一起输入一起输出。把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。
监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率
但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作

一次性可以录入多个用户指令、缩短了CPU等待的时间、提高了CPU的利用率

3.脱机批处理系统

脱机批处理系统出现在联机批处理系统之后,为克服与缓解:高速主机与慢速外设的矛盾,提高CPU的利用率,又引入了脱机批处理系统,即输入/输出脱离主机控制
这种方式有个显著的特征:增加一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机
其功能是:
(1)从输入机上读取用户作业并放到输入磁带上。
(2)从输出磁带上读取执行结果并传给输出机。
这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带机发生关系,有效缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力

是现代计算机核心部件的雏形、提高CPU的利用率

在这里插入图片描述


三、多道技术

目的:提升CPU利用率 降低程序等待时间

串行:
多个任务排队执行 总耗时就是多个任务完整时间叠加

在这里插入图片描述

多道:
利用空闲提前准备 缩短总的执行时间并且还能提高CPU利用率

在这里插入图片描述


四、进程理论

4.1 什么是程序、什么是进程

程序:一堆没有被执行的代码(死的)

进程:正在运行的程序(活的)

4.2 为什么有进程的概念

就是为了更加精确的描述出一些实际状态

4.3 进程调度算法发展史

1.先来先服务
对短作业任务不太友好

2. 短作业优先
多长作业任务不太友好

3. 时间片轮转法与多级反馈队列
时间片轮转法:先公平的将CPU分给每个人执行
多级反馈队列:根据作业长短的不同再合理分配CPU执行时间

4.4 并发与并行

并发:

多个程序运行期间CPU资源来回切换由于时间极端,计算机使用者使用时感觉不到认为程序是一起运行的,实质上是程序是间断运行的。

并行:

多个程序同时运行,每个线程负责一个程序的运转。
在这里插入图片描述

4.5 同步与异步

同步:

提交完任务之后原地等待任务的返回结果 期间不做任何事情

异步:

提交完任务之后不愿地等待任务的结果 直接去做其他事情 有结果自动提醒

在这里插入图片描述

4.6 阻塞与非阻塞

阻塞:通过指令切断cup资源让其停下
就绪:所有资源准备完毕,只缺少CPU资源
执行:获得CPU资源后开始运作

在这里插入图片描述

4.7 同步异步与阻塞非阻塞结合

同步阻塞:

在需要某资源时马上发起请求,并暂停本线程之后的程序,直至获得所需的资源。

同步非阻塞:

在需要某资源时马上发起请求,且可以马上得到答复,然后继续执行之后的程序。但如果得到的不是完整的资源,之后将周期性地的请求。

异步阻塞:

在需要某资源时不马上发起请求,而安排一个以后的时间再发起请求。当到了那时发出请求时,将暂停本线程之后的程序,直至获得所需的资源。

异步非阻塞:

在需要某资源时不马上发起请求,而安排一个以后的时间再发起请求。当到了那时发出请求时,可以马上得到答复,然后继续执行之后的程序。但如果得到的不是完整的资源,之后将周期性地的请求。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值