三月三十一

昨日天朗气清,只是学习效率依旧不是很高。

上午

上午看了传输层的内容,回忆一下重点:

  • 一些基本控制机制
    • 流量控制
    • 差错控制
    • 拥塞控制
    • ……
  • 传输层的传输要求
  • 依据传输要求层层递进的传输
    层协议
    • 无连接与面向服务连接
  • 通过有限状态机描述传输过程
    • 停等协议
    • 回退N帧协议
    • 选择性重复协议
  • 一些特殊的名词

    • 滑动窗口
  • UDP协议的剖析

    • 用户数据报
    • UDP的一些相关内容
  • TCP协议的剖析

    • TCP的特点
    • 理解字节流
    • TCP的控制机制
      • 流量控制
      • 差错控制
      • 拥塞控制
      • TCP计时器

下午

下午用Queue写了一个应用场景,没睡午觉感觉整个下午人都不号了。

应用场景是:

实验室内,有10个学生。这些学生在给定时间内打印两次,他们的打印任务(task)的打印张数在1~20之间。我们需要计算出学生们的平均等待时间,即,a task在Queue中的等待时间

假定我们给定时间 3600 s = 1h

打印机有两种模式:

  • PerMinutPrinter 10张
  • PerMinutPrinter 5张

打印机的状态:

  • busy:正在打印,当前任务(currentTask != None)
  • tick :计算打印时间 。任务期间:打印时间一秒一秒的减少。任务完成后 ,currentTask = None
  • startNest :准备开始下一个任务(如果有的话)。获得新的任务(newTask),获得张数(newTask.getPages());获得新的设定时间(timeRemaining = 张数/每分钟打印张数)

打印任务的处理:

  • 获得时间戳(getStamp)
  • 获得任务张数(getPages)
  • 获得等待时间(waitTime):return值

如何确定打印状态?

  • 假如是1个小时内有20个Task(10个同学打印两次),则一个,那么一个Task所需时间就是180s
  • 对于每一秒,我们可以生成1~180之间的随机数来模拟打印任务发生的机会,如果数字是180,我们说任务是180,我们说任务已经创建(have created)

模拟打印:

  • 创建一个空队列(Queue);设置打印常数:给定时间(numSeconds),给定打印速率(PPM);创建一个空列表(List)来存储等待时间
  • 扫描每一秒来确定打印机状态
    • 如果这一秒是180(num == 180 return true): 将当前的时间做个标记(timesample = currentSecond ), 然后入队(enqueue)。
    • 如果打印机不忙 and 队列不空:就开始打印刚才enqueue的任务
      这里模拟了打印机正在任务,nextTask正在等待的过程:
**注意**:task = Task(currentSecond)-->task 入队-->nexttask =  task出队 --> nexttask.waitTime(currenSecond)--> return currentTime - timesaple*
关于这个过程看了挺久,是对与class的一个初级应用,但是有些不明白。
task应该是有两个值? timestamp与pages。入队之后等待打印机有空了出队;出队之后赋给nexttask.waitTime(currenSecond) return 等待时间(currenSecond 一直在向前走)
  • 然后时间就一秒一秒的减少(tick)

  • 平均时间:等待时间长度/等待任务的个数

代码准备自己重写一遍。需要再看一下关于递归和类的内容。
现在暂时不贴上代码。

晚上

  • 晚上看了看沈从文
  • 英语单词并没有背完,实在太多
  • 毕设遇到了问题,知道了大概的拓扑但是不知道怎么写公式

今天的任务:

  • 知道怎么调试计算机网络的代码
  • 看完网络层后梳理一下
  • 写一写Python爬虫
  • 数据结构
  • 周记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值