- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 计算机网络-自顶向下方法 习题3
写在前面本章前言提到运输层协议为运行在不同主机上的应用进程提供逻辑通信功能而前面的应用层协议不也是服务于应用进程的吗,那二者的区别或者界限在哪里?我的理解是应用层协议更多的是一种规范,一个特有的应用程序与网络上的主机通信的时候有一个约定的协议,在这个协议框架之下可以愉快的交流而不是鸡同鸭讲,而运输层协议就是一个贴心服务的信使,全程伴随应用层协议下发的报文。这里专业的解释就是上面引用的部分。可靠数据传输原理假设考虑底层传输协议的丢包的可能性,就进化出rdt3.0,主要增加了超时重传的机制,同时
2020-09-19 16:15:47 298
原创 UNIX环境高级编程 第三章
终于进入正题了,本章介绍的文件I/O是不带缓冲的I/O函数,不是ISO C的组成部分,直接对应于系统调用(因为是POSIX.1和SUS的组成部分)open / openat二者的函数原型为#include <fcntl.h> //需要的oflag常量宏定义int open(const char *path, int oflag, ...)int openat(int fd, const char *path, int oflag, ...)//fd是相对路径名在文件系统的在开始地址,
2020-08-29 21:54:09 147
原创 计算机网络-自顶向下方法 习题2
R6UDP.因为TCP需要先建立连接,同时有复杂的拥塞控制机制和分组开销,不适合需要快速交互的应用。R7远程手术。近端和远端的操作必须是几乎同步且不能丢失指令,否则会导致医疗事故。R8可靠数据传输: TCP吞吐量定时安全...
2020-08-20 17:02:39 246
原创 计算机网络-自顶向下方法 习题1
R12电路交换提供恒定可以保证的带宽,可以建立可靠的端到端传输通道。FDM需要复杂的模拟硬件来将信号转换到合适的频带上R22差错控制error control,流量控制flow control,多路复用/分解multiplexing/demultiplexing,报文分段segmentation,重新装配reassembly,连接建立connection setup。R23应用层:网络应用程序及他们的应用层协议存留的地方运输层:在应用程序断点之间传输应用层报文。网络层:负责将数据报从一台
2020-08-19 15:35:49 222
原创 UNIX环境高级编程 第二章
UNIX标准化这一节介绍了三个重要的标准ISO CPOSIXSUSISO C由于C语言在UNIX系统中的地位不言而喻,C语言的标准化也是UNIX标准化的重要组成部分。ISO C标准当中包括了语法和语义标准库时间线:1989(发布)-1999(更新)-2001 2004 2007 (勘误)-2011(更新)IEEE POSIXPOSIX(Portable Operating System Interface,可移植操作系统接口)指的是IEEE 1003的各种标准,这里只关注
2020-08-13 17:04:10 142
原创 清华大学-操作系统实验-Lab2-读练习1代码(练习23暂时放弃)
实验目的理解基于段页式内存地址的转换机制理解页表的建立和使用方法理解物理内存的管理方法实验内容本次实验包含三个部分。首先了解如何发现系统中的物理内存;然后了解如何建立对物理内存的初步管理,即了解连续物理内存管理;最后了解页表相关的操作,即如何建立页表来实现虚拟内存到物理内存之间的映射,对段页式内存管理机制有一个比较全面的了解。本实验里面实现的内存管理还是非常基本的,并没有涉及到对实际机器的优化,比如针对 cache 的优化等。如果大家有余力,尝试完成扩展练习。读代码boot/bootasm
2020-08-12 17:52:37 651
原创 清华大学-操作系统实验-Lab1
练习1列出本实验各练习中对应的OS原理的知识点,并说明本实验中的实现部分如何对应和体现了原理中的基本概念和关键知识点。在此练习中,大家需要通过静态分析代码来了解:操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果)编译 kmonitor.c panic.c clock.c console.c intr.c picirq.c trap.c编译 trapentry.s vectors.s p
2020-08-12 17:50:02 2605
原创 Leetcode数据结构-线性结构(线性表/栈/队列/链表)
栈栈与深度优先搜索DFS的递归模板/* * Return true if there is a path from cur to target. */boolean DFS(Node cur, Node target, Set<Node> visited) { return true if cur is target; for (next : each neighbor of cur) { if (next is not in visited) {
2020-08-12 17:42:46 161
原创 UNIX环境高级编程 第一章 习题
2分析图1-6的程序,说明ID位852 853的 进程发生了什么情况图1.6的程序是printf("hello world from the process ID %Id\n",(long) getpid());执行后打印出来的进程号是851 854.但是明明是连续执行的,为什么PID不连续呢?其实不复杂,就是UNIX在851创建之后到854创建之前又创建了两个进程罢了。3顺便复习一下指针常量(const在*的后边)和常量指针(指向常量的指针,const在 * 的左边)指针常量:指针
2020-08-12 17:38:48 150
原创 在ZYNQ7020上学习ARM架构(1)——练习指令集
1. 前言最近在看ARM的架构,看到指令集 这一章,讲的比较简单,也没有具体的例子,所以就想着实践一下。ARM官网也给出了几个练习,就想着先尝试一下。但是官方的开发软件是收费的同时使用的还是模拟器,而我手边正好有搭载ARM Cortex-A9的ZYNQ7020,就直接在ZYNQ上练习好了。Note: 这篇文章记录了我的思路历程,不是纯粹的教程,可能会繁琐。2. ZYNQ的ARM核是怎么样启动的到最后才发现,这里其实不需要知道就可以继续了,但是既然去了解了我就把他写下来。2.1 stage0:Boo
2020-07-20 15:27:30 1495
原创 深入理解计算机系统 第二章 重点梗概
信息的表示关于位,数据类型,无符号和有符号编码及其转换 这部分比较基础,不在此赘述,实践中会加深理解。这里再加深一下补码编码的定义的印象B2Tw(x)=−xw−1∗2w−1+∑i=0w−2xi2iB2T_w(x)=-x_{w-1}*2^{w-1}+\sum_{i=0}^{w-2}x_i2^i B2Tw(x)=−xw−1∗2w−1+i=0∑w−2xi2i信息的处理1. 整数加法(减法就是有符号数的加法)无符号加法较为简单,溢出模2w2^w2w就可以了。有符号加法比较复杂−2w−1<
2020-07-19 13:57:45 146
原创 深入理解计算机系统 第一章 内容梗概
一个简单的Hello程序1. 生成可执行文件图中所列的预处理器->链接器都是可执行程序,在shell(进程A)中执行预处理器就会读取文本文件hello.c到内存,产生一个进程B,CPU按照指令执行加载存储操作跳转等功能输出hello.i文件到内存,再调用I/O写入磁盘。进程B退出。其他程序也相似,最终在磁盘中生成可执行程序hello。2. 执行hello程序进程A:shell程序会等待用户的输入,输入./hello的过程就是shell通过键盘I/O读取内容到寄存器并同步放到内
2020-07-18 13:26:24 143
原创 c++ Primer 第十五章 面向对象程序设计 重点梗概
面向对象的程序设计三个基本概念数据抽象: 这个前面已经很熟悉了继承动态绑定后两个是本章重点动态绑定当且仅当对通过指针或引用调用虚函数时,才会在运行时解析该调用,也只有在这种情况下对象的动态类型才有可能与静态类型不同上述事实是C++支持多态性的的根本,因为我们能使用这些具有继承关系的多种形式而无需在意他们的差异。虚函数在基类中定义,希望派生类重写的函数,在定义之前使用virtual关键字。所有的虚函数都必须有定义。继承的特殊情况继承与静态成员静态成员只能存在唯一的定义。如果
2020-07-14 14:40:12 94
原创 c++ Primer 第十二章 动态内存 遗留问题
重点不要使用new delete手动管理动态内存,而是使用智能指针shared_ptr和unique_ptr问题112.3节的文本查询类 在定义时为什么使用了file(new vector<string>)而不是make_shared<vector<string>>这种更安全的方式?2最终的print函数当中,为什么可以访问对象的私有成员lines/file??只是因为他们时shared_ptr类型吗解决明早手写一遍看看...
2020-07-01 11:16:41 111
原创 c++ Primer 第十一章 关联容器 重点梗概
使用关联容器map虽然是关联容器,但仍然是有序存储的,也就是说关键字的类型必须有比较运算,当然可以自定义.map使用下标运算会创建关键字,而使用at方法不会,所以下标运算只能对非const的map使用map的迭代器指向它的value_type,是一个pair向map添加元素时,类型也必须是pairinsert的返回值也是一个pair,first是一个迭代器,指向插入的那个元素,second是一个boolset如何自定义关键字严格弱续mutiset<Sales_data, decl
2020-06-30 10:22:24 90
原创 c++ Primer 第十章 泛型算法 重点梗概
概述算法依赖于迭代器,而迭代器不依赖于容器,所以算法不依赖于容器但是算法往往涉及比较,但是容器中的元素不一定定义了比较运算符,所以大多数的算法提供了一种方法,允许我们使用自定义的操作来代替默认的运算符初识泛型算法1. 只读算法accumulate(iterator beg, iterator end, T value)equal (iterator beg, iterator end, iterator beg2)对于只读取而不改变元素的算法,最好使用cbegin() cend
2020-06-28 19:51:51 116
原创 c++ Primer 第九章 顺序容器 重点梗概
前言顺序容器和关联容器顺序容器: vector之类的按序索引的容器关联容器:map等按键索引的容器容器库概览将一个容器初始化为另一个容器的拷贝C c1(c2); C c1 = c2; 两种容器类型和元素类型都必须相同C c(beg, end); 不要求容器类型一致,甚至元素类型可以转换时,元素类型也可以不一样。swap和assign前者必须是两个相同类型的容器后者则无需tips:使用非成员函数版本的swap是一个好习惯,在泛型编程中十分钟重要。容器的比较必须在元素定义了关系运
2020-06-26 16:55:56 90
原创 c++ Primer 第八章 IO库 梗概
三种IO库类型分别定义了处理标准char和宽字符char(wchar_t: 超过32位,一般用来保存unicode编码的字符)的流处理类型普通流文件流string流每种流都是iostream的派生类除了通用的方法,还有自己的方法状态值条件状态时iostate的位值,有1位不是0就表示失败条件状态有管理和查询的方法输出缓存记得刷新文件流需要考虑文件模式String流可以活学活用...
2020-06-22 11:03:39 108
原创 计算FFP-TF相邻波分通道系数的模型
波分间隔△λ=2nm\triangle\lambda=2nm△λ=2nm要求相邻波分通道系数△k=∣k1−k2∣\triangle k=|k_1-k_2|△k=∣k1−k2∣k1,k2∈(0,1)k_1,k_2\in(0,1)k1,k2∈(0,1) Vi=ki×2VrefV_i=k_i\times2V_{ref}Vi=ki×2VrefV1,V2V_1,V_2V1,V2...
2019-12-21 17:09:29 161
原创 C++ Primer第七章习题
练习7.1#include <iostream>#include <string>using namespace std;struct Sales_data{ string bookNo; unsigned units_sold = 0; double revenue = 0;};int main(int argc, char* argv){ ...
2019-09-18 21:07:09 266 1
原创 C++ Primer第六章习题
前言从本章开始每一道题都要进行回答。毕设也结束了,今天也拿到了研究生录取通知书,暑假就要迅速吃透这本书,并做好下一步的计划。练习6.1实参和形参的区别是什么实参必须是有定义的,是函数体之外定义好的,形参是函数体之内需要使用的但是未定义的。实参列表无须声明类型,形参列表必须每个参数都要声明类型。练习6.2找出函数的错误(1)函数定义类型是int与返回值类型不匹配(2)没有声明函数的返...
2019-06-20 12:10:28 470
原创 WIN7+CENTOS7 双系统安装流程 + 坑 + SSH远程连接
前言学习Linux一个多月了,在旧的笔记本里面装的VBOX虚拟机,但是我一般去图书馆背的新的笔记本,所以基本上就是TEAMVIWER 连到旧笔记本的WIN7,然后打开虚拟机的CentOS。这样就很烦,网络差的时候反应慢,显示有延迟。最气的是TeamViewer莫名其妙疯狂占用CPU,没有电源的时候笔记本撑不了多久。试着想远程用SSH连回到虚拟机,但试了一晚上遇到几个解不开的矛盾:用VBOX...
2019-05-19 10:24:06 392
原创 C++ Primer第五章习题
习题5-1:空语句就是什么都不写,只含有一个单独的分号。;//空语句使用场景:语法上需要一条语句但是逻辑上不需要。
2019-05-14 17:02:37 163
原创 C++ Primer第四章习题
习题4-21:条件运算符的使用#include <iostream>#include <vector>using namespace std;int main(){ cout << "Please input some numbers, type -1 to stop" << endl; vector<int> te...
2019-05-14 16:58:47 103
原创 C++ Primer第三章习题
#include <iostream>#include <string>using namespace std;int main(){ string s; cout << "Please Input Your Name;" << endl; getline(cin,s); cout << s << endl...
2019-04-29 18:00:00 97
原创 鸟哥的Linux私房菜学习笔记:Linux磁盘与文件系统管理
Linux文件系统的层次挂载点文件系统/分区磁盘上面的层次是自顶向下的,也就是说最顶层是挂载点,用户可以通过挂载点进入文件系统进行文件的读写、执行操作;文件系统是操作系统的一部分,是文件存取和磁盘管理的工具。Linux常用的是索引式文件系统。分区与文件系统属于同一层,可以认为分区就是文件系统的物理存在形式。本书主要介绍GPT分区表。最底层自然就是磁盘,一块磁盘要想使用需要分区、制作文...
2019-04-24 16:53:59 150
原创 HEVC-SCC学习与研究:LD配置下编码无端终止的解决方法
HEVC-SCC学习与研究:LD配置下编码无端终止的解决方法运行环境操作系统:WIN10 WIN7HM版本: HM16.8+SCM8.0VS版本: VS2019 社区版 编译VC2015的版本配置文件:encoder_lowdelay_main_scc.cfgCPU:Intel Core i5 - 8250URAM: 8G遇到的问题之前的实验为了验证一些算法的实现,因此仅仅跑到6...
2019-04-15 12:17:25 870
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人