学习日志
全麦小面包
这个作者很懒,什么都没留下…
展开
-
## CSAPP读书日记-第三章-1
CSAPP读书日记-第三章-1第三章主要讲程序是如何转为汇编代码的。刚开始看这一章的时候一头雾水,觉得跟现在的工作毫无关系,因为其就是引入了一堆非常用户不友好的指令,将你的代码转变为对内存或寄存器中的地址(间接)或值(直接)的操作。强行看了后,感觉有点说不清道不明的收获。。。先记一些知识点在下面,以作复习之用:1.每个寄存器的容量非常之小,现在最大也就是64位,目前x86-64的CPU一共包...原创 2018-11-05 19:37:03 · 146 阅读 · 0 评论 -
测试
01原创 2019-03-21 14:22:26 · 118 阅读 · 0 评论 -
计算机网络第一章
局域网私有的,局域网中每台主机都具有一个标识地址来定义自身,而互相发送的数据包都需要携带源主机和目的主机的标识地址。在过去,所有主机都连在一条公共电缆,需要接收的机器保存线上的包,不需要的则丢弃。而现在多数局域网采用智能连接交换机,可以识别数据包中地址然后引导该报到其目的地址,减轻了局域网中的流量广域网广域网对比局域网通常覆盖范围会更大,可以覆盖一个城市/一个省/一个国家/甚至真个世界。...转载 2019-05-26 19:05:39 · 178 阅读 · 0 评论 -
计算机网络第二章
应用程序体系结构:由应用程序开发者设计,规定了如何在各种端系统上组织该应用程序。如:C/S体系结构,P2P体系结构。流量密集型应用都是用P2P体系结构的。比如:文件共享(BitTorrent)、对等方协助下载加速器(迅雷)、因特网电话视频会议(Skype)。许多应用都是C/S和P2P混合的形式,比如:对于许多即时讯息应用而言,服务器被用于跟踪用户的IP地址,但是用户到用户的报文在用户主机...转载 2019-05-26 19:10:34 · 691 阅读 · 0 评论 -
计算机网络第三章
传输层解决的问题传输层解决的问题是,数据传输的问题。数据传输分为不可靠传输和可靠数据传输,分别对应的是UDP协议和TCP协议。运输层和网络层的关系运输层协议是在端系统中,只在端系统中发生作用,而不是在路由器中实现的。网络层提供了主机之间的逻辑通信,而运输层为运行在不同主机上的进程之间提供逻辑通信。在发送端,传输层将从发送应用程序接收到的报文(应用层报文)转换成报文段,随后将这些报文段传递...原创 2019-06-10 09:20:15 · 294 阅读 · 0 评论 -
计算机网络自顶向下 第三章(二)
TCP协议TCP连接约定TCP在端系统上运行和保存状态,而不是在中间的网络元素如路由器和链路层交换机运行,所以它们不会维持TCP的连接状态。它们只能看到数据报而不是连接。TCP提供全双工服务,点对点连接,但是不支持广播。TCP连接的建立过程通常是由一端打开一个套接字(socket)然后监听来自另一方的连接,这就是通常所指的被动打开(passive open)。服务器端被被动打开以后,用户...转载 2019-06-30 18:36:52 · 242 阅读 · 0 评论 -
计算机网络第四章
网络层的作用:实现主机到主机的通信服务,将分组从一台发送主机移动到一台接收主机。网络层重要的两大概念:转发和路由选择1、转发涉及分组在单一的路由器中从一条入链路到一条出链路的传送。2、路由选择涉及一个网络的所有路由器,它们经路由选择协议共同交互,以决定分组从源到目的地结点所采用的路径。计算这些路径的算法称为路由选择算法。每台路由器都有一张转发表,路由器通过检查到达分组首部字段的值来转发分组...转载 2019-06-30 18:41:51 · 646 阅读 · 0 评论 -
计算机网络第六章(一)
链路层概述链路层上面是网络层,负责网络中的终端和终端的通信,下面是物理层,负责提供物理链路节点间的比特流的传输沿着通信路径连接相邻节点的通信信道称为链路(link)。为了将一个数据报从源主机传输到目的主机,数据报必须通过沿端到端路径上的每段链路传输。在通过特定的链路时,传输节点将此数据报封装在链路层的帧中,并将该帧发送到链路上;接受节点然后接收该帧并提取出数据报。虽然网络层的任务是将运输层报...原创 2019-08-03 16:31:26 · 301 阅读 · 0 评论 -
计算机网络第六章(二)
链路层寻址和ARP地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络...原创 2019-08-03 17:39:40 · 384 阅读 · 0 评论 -
计算机网络中的安全(一)
什么是网络安全安全通信具有下列所需要的特性:机密性。仅有发送方和希望的接收方能够理解传输报文的内容。因为窃听者可以截获报文,这必须要求报文在一定程度上进行加密,是截取的报文无法被截获者所理解。报文完整性。发送方和希望的接收方希望确保其通信的内容在传输过程中未被改变——或者恶意篡改或者意外活动。端点鉴别。发送方和接收方都应该能证实通信过程所涉及的另一方,以确信通信的另一方确实具有其所生成的...原创 2019-08-04 22:07:37 · 467 阅读 · 0 评论 -
敏捷开发--第一周
一、敏捷实践人与人中间的交互是复杂的、并且其效果从来都是难以预期,确是工作中最为重要的方面。过程和方法对项目的结果只有次要的影响。首要的影响是人。1、可以工作的软件胜过面面俱到的文档就算微信的官方开发文档,也会有忽略的细节。而对应我们自己来说,功能做出来后还会有一波修改意见,文档不能反映当前状况才是常态。所以,尽快给出可以体验的功能很重要。并且,我很怀疑,一些东西是否必须以文档的形式来说明?...原创 2019-03-03 19:01:23 · 172 阅读 · 0 评论 -
##CSAPP读书日记-第十二章-并发编程
一、应用级并发的作用构造并发程序的方法:二、基于进程的并发编程构造并发程序最简单的方法就是用进程,使用像fork、exec和waitpid之类的函数。特点:父子进程之间共享文件表,但是不共享用户地址空间。优点:一个进程不会覆盖另一个进程的虚拟内存。缺点:进程共享状态信息变得困难,必须使用显式的IPC(进程间通信)机制。结果就是这种设计方式比较慢,因为进程控制和IPC的开销很高。...原创 2019-02-17 17:31:02 · 272 阅读 · 0 评论 -
## CSAPP读书日记-第三章-2
首先,看到上图,你可能会感慨,汇编指令的种类就那么点,就凭借这个,支撑起了我们的复杂的业务代码。言归正传,让我来说下感触较深的知识点:一、计算机实现控制是靠“条件码”。“条件码”是由CPU维护的一组单个位的寄存器。有以下几类:设置“条件码”的指令有2个:CMP:根据2个操作数的差值来设置条件码TEST:根据2个操作数的和来设置条件码设置好了后,肯定要让人来访问,那么访问条件码的操作是...原创 2018-11-11 11:35:51 · 242 阅读 · 0 评论 -
## CSAPP读书日记-第三章-3
揭开递归的神秘面纱~C语言中的数组:指针运算:一切皆数据:原创 2018-11-18 19:32:03 · 200 阅读 · 0 评论 -
## CSAPP读书日记-第六章-存储器层次结构
首先贴个图,展示存储器的层次结构:之所以这样设计存储器,就算为了以更低的成本达到接近于全部高级配备的才能达到的性能。(其中有个核心的思想:局部性原理)局部性原理有2种表现形式:1.时间局部性(被引用过一次的内存位置会在不久继续被引用)2.空间局部性(一个内存被引用了一次,在不久会引用其附近的)那么数据是如何被利用的呢?再来看个总线设计图:虽然不同的厂商有着不同的总线设计,但是上面的...原创 2018-12-02 19:52:31 · 214 阅读 · 0 评论 -
## CSAPP读书日记-第七 章-链接-第一周
链接的基本过程:其中,gcc命令分为3步骤(可用-v命令运行gcc查看)1cpp(c预处理器):将.c文件翻译成一个ASCII码中间文件.i文件2.cc1(c编译器):将.i文件翻译成一个ASCII汇编语言文件.s3.as(驱动程序运行汇编器):将.s文件翻译成一个可重定位目标文件.0文件最后我们运行可执行文件prog的时候,只要./prog即可目标文件:链接:...原创 2018-12-09 21:07:20 · 158 阅读 · 0 评论 -
## CSAPP读书日记-第八章-异常控制流-第一周
异常控制流,简称:ECF(Exceptional Control Flow)需要理解ECF的原因:异常是ECF的一种形式,它一部分由硬件实现,一部分由操作系统实现。如图:硬件实现的部分是CPU发现控制流中的突变,为了响应这些事件,CPU会去查询异常表,找到对应条目的代码。然后就交给操作系统的子程序来处理,这就是操作系统实现的地方。系统中有哪些异常:异常和进程的关系:...原创 2018-12-30 18:12:11 · 191 阅读 · 0 评论 -
## CSAPP读书日记-第八章-异常控制流-第二周
程序和进程的区别:再明确下进程的经典定义:进程是一个执行中程序的实例。理解上面的,有助于理解fork和execve函数fork函数是创建出一个新的子进程然后在子进程中跑相同的程序.两个程序对应两个PID(进程id)execve函数是在当前进程的上下文中加载运行一个新的程序, 直接覆盖掉当前进程的地址空间, 并没有创建出新的进程. 新旧程序的PID是一样的.补充:进程是如何并发执行的?...原创 2018-12-30 18:38:05 · 134 阅读 · 0 评论 -
##CSAPP读书日记-第九章-虚拟内存
虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据。它为每个进程提供了结构一致的地址空间,从而简化了内存管理。它保护了每个进程的地址空间不被其它进程破坏。物理和虚拟寻址:计算机系统的主存被组织成一个由M...原创 2019-01-13 20:07:32 · 253 阅读 · 0 评论 -
##CSAPP读书日记-第十章-系统级I/O
什么是系统级I/O?输入/输出(I/O)是在主存和外部设备之间复制数据的过程。Unix I/O中的关键抽象所有的I/O设备都被模型化为文件,而所有的输入和输出都被当作对相应文件的读和写来执行.这种将设备优雅地映射为文件的方式,允许Linux内核引出一个简单、低级的应用接口,成为Unix I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行:打开文件。内核记录有关这个打开文件...原创 2019-01-21 10:49:58 · 223 阅读 · 0 评论 -
##CSAPP读书日记-第十一章-网络编程
一、The Client Server Model每个网络应用都是基于该模型的。采用这个模型,一个应用是由一个服务器进程和一或多个客户端进程组成。服务器管理某种资源,通过操作这种资源来为它的客户端提供某种服务。该模型中的基本操作是transaction,一个transaction组成:1)当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务transaction。2)服务器收到请求后...原创 2019-02-17 17:04:24 · 229 阅读 · 0 评论