计算机网络——自顶向下的方法第三章的学习
自顶向下,目前是比较重要的一层,在传输层。
这里有两个比较重要的协议:TCP和UDP协议。
梗概TCP 是面向连接的,可靠的运输层传输协议
UDP 是面向无连接的,不可靠的运输层传输协议。
概述和运输层服务运输层提供了应用进程之间的逻辑通信,因为对于应用程序来看,依靠 TCP 和 UDP 协议好像可以使互联网上任意两台主机进行直接通信。应用进程使用运输层提供的逻辑通信功能发送报文,无需考虑这些报文的物理基础设施的细节,我们把运输层的分组叫报文段(segment)。
运输层和网络层关系网络层实际而言提供了两台主机之间的通信,而运输层提供了两台主机所在进程的逻辑通信。
我自己理解了一遍创建了一个新的类比,就可以类比成快递。
假如我有一个很大的物件,我想通过快递直接送给另一个人(逻辑上)。
那么我会先把他交给我们市所在的菜鸟驿站,菜鸟驿站可以理解为一个运输层协议了。像上可以直接提供快递收发服务(这直接是两个人之间的发送接收,菜鸟驿站本身提供的功能),向下可以直接将快递无差错运输到其它市的菜鸟驿站(这里的向下可以理解为物流服务,物流服务用于给两个驿站之间提供服务)。
在这个了例子中:
端 ...
计算机网络——自顶向下的方法第二章的学习
自顶向下,那就先开始应用层。
梗概网络应用是计算机网络存在的理由,如果我们没有网络应用的话,那计算机网络将毫无意义。
应用层是最好的学习起点。
应用层协议原理因为网络的核心设备(路由器、交换机)不在应用层,因此我们编写网络程序不需要考虑网络层和链路层的一些事情,这样就提升了网络应用的开发效率。
网络应用程序体系结构当今有两大应用程序体系结构:
客户端/服务器结构(Client/Server)
对等体系结构(P2P)
常见的,如 Web,Telnet,FTP,Mail 等都是 C/S 体系结构,我们把主动发起请求的端系统称为客户端,被动等待请求的端系统称为服务器,在这个体系结构当中,两个客户端是不直接通信的。比如仅仅使用浏览器,你无法直接建立一条连接。如果服务量比较大的话,一台主机显然不足以支撑服务的平稳运行。为此,配备大量主机的数据中心(data center)常被用于创建强大的虚拟服务器,相当于是在做负载均衡,把请求平摊到每一个主机上面。
而P2P的通信双方是对等方,相当于直接点对点通信,我只要知道你的ip地址我就可以直接对你发你起通信,如果我们 ...
计算机网络——自顶向下的方法第一章的学习
直接开始看这本书了。
第一章就是基本介绍
梗概今天的因特网无疑是有史以来由人类创造、精心设计的最大系统,该系统具有数以亿计的相连的计算机、通信链路和交换机,有数十亿的用便携计算机、平板电脑和智能手机连接的用户,并且还有一批与因特网连接的“物品”,包括游戏机、监视系统、手表、眼 镜、温度调节装置、体重计和汽车。
第1章概述了计算机网络和因特网。这一章的目标是从整体上粗线条地勾勒岀计算机网络的概貌,并且描述本书内容的框架。这一章包括大量的背景知识,讨论大量的计算机网络构件,而且将它们放在整个网络的大环境中进行讨论。
什么是因特网因特网(Internet)是一种特定的计算机网络,也叫“公共因特网”,也是我们俗称的公网。
什么是因特网?我们会以软硬件(具体构成)和服务两个方面来回答这个问题。
具体构成描述因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备 的网络。在不久前,这些计算设备多数是传统的桌面PC、Linux 工作站以及所谓的服务器。
现在连接到互联网的设备种类越来越多,已经不仅仅局限于 PC,服务器和其它专用网络设备(路由器,交换机等等)。计算机网络这个术 ...
高等数学复习(5)
高等数学复习(5)——一元函数微分学的几何应用
回顾先来讲讲上一章的一些例题吧。
碰到这种题目:
$\lim\limits _{x\to 0} \frac{f(x)}{x}$ 如果存在,那么说明 $f(x)=0$ 一定成立(如果 $f(x)$ 在 $x=0$ 处连续的话)
这么看,因为 $x$ 已经是无穷小量了,一个数除一个无穷小量存在且是不为0的常数说明两个数互为同阶无穷小。如果存在且为 0 那么 $f(x)$ 应该是 $x$ 的高阶无穷小,不管怎么说 $\lim\limits _{x\to 0}f(x)=0$ 是一定成立的,再加上这一点连续,那么这一点的极限值就是函数值。
充分条件和必要条件一个命题P的充分条件是指如果P成立,那么某个其他命题Q也必须成立。换句话说,如果P发生,那么Q就必须是真的。这种关系通常表示为P ⇒ Q,其中“⇒”表示蕴含符号。
一个命题P的必要条件是指如果Q是真的,那么P也必须是真的。换句话说,P是Q的一个必要条件,当且仅当只要Q成立,P就必须成立。这种关系通常表示为Q ⇒ P,其中“⇒”表示蕴含符号。
一个条件既可以是 ...
高等数学复习(4)
高等数学复习(4)——微分学的概念
导数导数反应了函数在某一时刻的瞬间变化率,几何意义上就是该点切线的斜率。
在某一处导数存在,也可以说在该点可导,如果直接给出导数值,也证明这一点可导。
概念计算$\frac{函数的增量}{自变量的增量}$的极限,当自变量增量趋于 0 的时候,趋于 0 可以在 0 的左边,也可以在右边,不同的位置分别叫它左导数和右导数。
在某点处导数存在 $\Leftrightarrow$ 该函数的左右导数都存在并且相等。
连续不一定可导。($y=|x|$ 在 $x=0$ 处连续但是不可导)
可导一定连续。
定义
增量形式:$f’(x_0)=\lim\limits _{\triangle x\to 0} \frac{\triangle y}{\triangle x}=\lim\limits _{\triangle x\to 0} \frac{f(x_0+\triangle x)-f(x_0)}{\triangle x}$
定义形式:$f’(x_0)=\lim\limits _{\triangle x\to x ...
高等数学复习(3)
高等数学复习(3)——数函极限与连续性。
函数的极限邻域以点 $x_0$ 为中心的任何开区间称为点 $x_0$ 的邻域,记作 $U(x_0)$
函数极限的定义同数列极限:
$f(x)-A$ 可以足够小,当 $x\to x_0$ 时。
函数极限性质
唯一性:如果极限存在,那么极限只有一个
局部有界性
局部保号性
洛必达法则超级好用的一个定理。
对于极限 $\lim\limits _{x\to a} \frac{f(x)}{g(x)}$ 如果,$f(a)\to 0$ 且 $g(a)\to 0$ 或者 $f(a)\to \infty$ 且 $g(a)\to \infty$。
那么$\lim\limits _{x\to a} \frac{f(x)}{g(x)}=\lim\limits _{x\to a} \frac{f’(x)}{g’(x)}$。
就是直接上面求导比下面求导,如果求导还是这样,那么还可以继续用洛必达。
泰勒公式就是把函数展开为多项式的形式。
这样能快速记住一些等价无穷小的替换。
比如当 $x\to 0$ 的时候,可以用以下的多项式替换:
$\sin x ...
高等数学复习(2)
写在前面:中间闭关了一星期没有学习,主要是因为期末考试,再加上有师傅结合我当前的情况给我提了一些建议,我觉得很棒,把考研的目标院校转为了,希望最后能成功上岸吧,今天接着更新高数的笔记。
高等数学复习(2)——数列极限。
数列极限定义需要记住一种语言的说明:
$\lim\limits_{n\to\infty} {x_n}=a\Leftrightarrow \forall \epsilon >0,\exists N \in N_+,当n>N时,恒有|x_n-a|<\epsilon$
直白点就是讲,如果给定任意一个够小的数 $\epsilon$,我只要确定有一个整数 $N$ 使得它之后的值全部趋近于 a 即可,即 $<\epsilon$。
性质
唯一性:极限存在即唯一。
有界:极限存在则有界
保号:极限存在则可以确定极限值的符号,只能保部分的数列,不能保所有的。(important)
夹逼准则简单来讲,就是数列放缩,如果能放大到其中一个数列,算出极限值,再缩小到一个数列算出极限值。如果极限值一样,那么这样也能间接算出数列的极限值。
单调有界准则单调 ...
计算机组成原理复习(2)
考研复习第 3,4 天
计算机组成原理相关内容的复习
原码,补码,反码,移码
移位,加减法,乘法运算
数据编码原码,补码,反码,移码原码字面意思,有符号时,最高位只表示负号
补码最高位权值为负,其它与原码一致。
反码在原码的基础上,若最高位为1,则对原码除符号位所有位取反
移码看成无符号然后-一个偏置值即可。
单符号与双符号单符号一般写的时候用小数点隔开,但是不表示小数点的含义,比如 0.0001 如果是原码表示正数的1,1.0001 如果是原码表示负数的1。在此基础上,还可以再做一个符号的扩展,用于判断溢出。若出现 01,则表示正溢,若出现 10,则表示负溢。
比如 00.1111 如果表示原码就是正数的15,11.1111 如果表示原码就是负数的15,而 10.0001 不能表示一个正确的数,因为它溢出了,同样 01.0001 也不行。但是在下面的乘法算法的时候,允许临时溢出。
移位运算主要是循环移位有一个带进位和不带进位的区别。带进位就是说,在挪出去的过程中要算上 CF 一起,如果不带进位,那么原本被丢弃的位进入 CF 和最高位或者最低位。
乘法和除法有这么几种算法, ...
CS:APP第十二章学习
开始学 CSAPP的第十二章
最后一章了,不知不觉这本书已经看完了!!
梗概并发有很多用处,比如在进行 IO 访问,服务访问的时候,如果不能合理利用并发,那么有很多时钟周期会被浪费掉。
最简单的并发方式是使用多进程,让内核进行调度的方法来并发。
基于进程的并发编程父进程接受客户端连接请求,然后 fork 一个子进程,让子进程处理主要服务逻辑。
而在父进程中,需要及时的关闭连接描述的副本,否则会因为内存泄漏导致系统崩溃。
基于进程的并发服务器因为服务器通常会运行很长的时间,这意味着操作系统不会帮助进程回收内存,我们需要做到以下几点:
包括一个 SIGCHLD 处理程序来回收僵死进程,因为 Linux 的信号是不排队的,所以说一次要处理完所有的子进程。
对于父进程,需要在 fork 之后马上 close 建立连接的描述符,对于子进程来说,也要关闭所有的文件描述符。
进程的优劣进程共享文件表,但是不共享用户地址空间(这既是优点也是缺点),不会发生内存覆盖的情况,但是也造成了通信困难。
为了通信,需要使用 IPC(进程间通信)机制。
基于 I/O 多路复用的并发编 ...
高等数学复习(1)
谨以此笔记,记录考研的学习
函数基本定义函数具有一对一,多对一的性质,但是不能是一对多,即:一个确定的 x 不能有多个 y 值与之对应。
反函数从图像上来看,把所有点交换 $x$ 与 $y$ 的坐标值即得到对应反函数曲线,并且反函数和原函数关于 $y=x$ 对称。
严格单调的函数一定有反函数。
$y=f(x)$ 与 $x=f^{-1}(y)$ 完全一致,只有在后面表达式中交换 $x$ 和 $y$ 才得到反函数,即 $y=f^{-1}(x)$。
有反函数的不一定是单调函数,也可以是分段函数。
复合函数就是把外面函数的自变量用一个函数去替代。
如:
$f(x)=x^2+x$,那么 $f(g(x))=(g(x))^2+g(x)$
复合函数求导需要先把 $g(x)$ 当成自变量先求一次导,再乘上 $g(x)$ 的导数。
有界性有界一定要指明区间。
若能找到一个数使得 $|f(x)|\le M$ 则有界。
或者说,若在区间内,某点的极限算出来是无穷大,那么无界,否则有界。
单调性通俗的讲,沿着 $x$ 增加的方向,$y$ 也 ...