地址

《计算机是怎样跑起来的》 || 第三章 • 体验一次手工汇编(上)

谁说我不能喝 提交于 2019-12-28 00:39:30
作者:矢泽久雄 —————————————————————————————————————— 第三章 • 体验一次手工汇编(上) —————————————————————————————————————— 【00】基础知识 机器语言:由二进制数字构成的程序,CPU可以直接对其解释、执行,机器语言也叫“原生代码” 地址:标识内存或I/O中存储单元的数字叫做地址,计算机从0开始编号标识每个存储单元 标志寄存器:CPU中的一个寄存器,用于在运算指令执行后,存储运算结构的某些状态,例如运算结果是否为0、是否产生了负数、是否溢出等 【01】了解硬件信息 1、CPU信息 CPU种类:决定了使用哪种机器语言,即使相同的机器语言由于CPU种类不同,对其解释也不同 时钟信号的频率:时钟发生器发送给CPU的电信号频率单位是MHz(兆赫兹=100万回/秒)通常把发出一次滴答的时间成为一个时钟周期执行指令所需要的时钟周期数取决于指令的类型 2、内存信息 地址空间:每个地址都标示着一个内存中的数据存储单元,这些地址所构成的范围就是内存的地址空间每个地址既可以存储指令又可以存储数据​ 每个地址中可以存储多少bit的信息 3、I/O信息 I/O种类:连接计算机和周边设备的I/O的种类 地址空间:指定I/O寄存器的地址范围地址编号不同(寄存器类型不同)功能也不同 连接何种周边设备 图示 【02

子网掩码-2

一曲冷凌霜 提交于 2019-12-27 12:28:19
一、 子网掩码的概念及作用 子网掩码 (subnet mask) 又叫网络掩码、地址掩码、子网络遮罩,是一个应用于 TCP/IP 网络的 32 位二进制值。它可以屏蔽掉 IP 地址中的一部分,从而分离出 IP 地址中的网络部分与主机部分,基于子网掩码,管理员可以将网络进一步划分为若干子网。它必须结合 IP 地址一起使用。 二、 为什么需要使用子网掩码 虽然我们说子网掩码可以分离出 IP 地址中的网络部分与主机部分,可大家还是会有疑问,比如为什么要区分网络地址与主机地址?区分以后又怎样呢?那么好,让我们再详细的讲一下吧! 在使用 TCP/IP 协议的两台计算机之间进行通信时,我们通过将本机的子网掩码与接受方主机的 IP 地址进行 ' 与 ' 运算,即可得到目标主机所在的网络号,又由于每台主机在配置 TCP/IP 协议时都设置了一个本机 IP 地址与子网掩码,所以可以知道本机所在的网络号。 通过比较这两个网络号,就可以知道接受方主机是否在本网络上。如果网络号相同,表明接受方在本网络上,那么可以通过相关的协议把数据包直接发送到目标主机;如果网络号不同,表明目标主机在远程网络上,那么数据包将会发送给本网络上的路由器,由路由器将数据包发送到其他网络,直至到达目的地。在这个过程中你可以看到,子网掩码是不可或缺的! 三、 如何用子网掩码得到网络 / 主机地址 既然子网掩码这么重要

操作系统 - 分段机制 & 分页机制

北城余情 提交于 2019-12-27 12:08:44
文章目录 分段机制 简介 段的定义 段描述符表 段选择符 段描述符 代码和数据段描述符类型 系统描述符类型 分页机制 简介 页表结构 页表项格式 区别 分段机制 简介 80X86 使用了一种称为 段 (Segment)的寻址技术。这种寻址技术把内存空间分成一个或多个称为段的线性区域,从而对内存中一个数据对象的寻址就需要使用一个段的起始地址(即段地址)和一个段内偏移地址两部分构成。 段地址部分使用 16 位的 段选择符 指定,其中 14 位可以选择 2 14 2^{14} 2 1 4 次方即 64K 个段。 段内偏移地址部分使用 32 位的值来指定,因此段内地址可以是 0 到 4G。即一个段的最大长度可达 4G。 程序中由 16 位的段和 32 位的偏移构成的 48 位地址称为一个 逻辑地址 (虚拟地址)。 分段提供了一种机制,用于把处理器可寻址的 线性地址空间 划分成一些较小的称为段的受保护地址空间区域。 段可以用来存放程序的代码、数据和堆栈,或者用来存放系统数据结构(例如 TSS或 LDT)。 如果处理器中有多个程序在运行,那么每个程序可分配各自的一套段。此时处理器就可以加强这些段之间的界限,并且确保一个程序不会通过访问另一个程序的段而干扰程序的执行。 段的定义 每个段由三个参数定义: 段基地址(Base address):指定段在线性地址空间中的开始地址。基地址是 线性地址

Wireshark学习笔记

无人久伴 提交于 2019-12-27 09:59:39
捕获数据技巧 在使用过滤器的时候wireshark是有自动补全功能的 根据单个IP地址过滤数据包 host 10.10.0.1:捕获目的地址和源地址为10.10.0.1的数据 host IPv6 :捕获IPv6地址的数据 not host IP :捕获除IP之外的数据 src host IP :捕获来自IP的数据 dst host IP :捕获到达IP的数据 host IP1 or host IP2 :捕获两个IP的数据 host www.xxx.com :捕获解析www.xxx.com的IP地址上的数据 根据广播和多播地址过滤数据 ip broadcast :捕获到255.255.255.255的数据 ip multicast :捕获通过224.0.0.0~239.255.255.255的数据 dst host ff02::1 :捕获所有主机到IPv6多播地址的数据 dst host ff02::2 :捕获所有路由到IPv6多播地址的数据 根据MAC地址过滤数据 ether host MAC地址1 :捕获MAC地址1的数据 ether src MAC地址2:捕获来自MAC地址2的数据 ether dst MAC地址3:捕获来自MAC地址3的数据 not ether host MAC地址4:捕获除MAC地址4以外的数据 根据端口号过滤A数据 port 80

8086的内存分段机制

北慕城南 提交于 2019-12-27 01:23:08
文章目录 1 代码段和数据段 2 8086的分段机制 2.1 8086的分段机制 1 代码段和数据段 对于我们的程序来说,通常分为代码段和数据段: 对于上面的代码使用的是绝对地址,当我们的操作系统把数据段不是加载在0x0100的地址时,就会出现访问数据的错误。这其实就是重定位的问题,需要借用段寄存器解决: 我们需要知道如下几点: 指令中的地址是数据在段内的偏移地址。 数据段寄存器DS中的值是数据段的段地址。 段地址+偏移地址=物理地址,也就是数据实际所在的地址。 重定位就是通过改变数据寄存器DS中的值来实现的。 2 8086的分段机制 2.1 8086的分段机制 8086的处理器地址引线:20根,那么逻辑地址就是20位。而我们的寄存器只有16位,为了解决这个问题:段地址实际上也是20位,将段寄存器中的值左移4位(每个分段必须加载到地址最低位为0的位置,相对于16进制表示而言)。偏移地址仍然是16位,也就意味着每个段的最大长度为65536个字节。 参考资料: 深度学习:C/C++、计算机体系 来源: CSDN 作者: SlowIsFastLemon 链接: https://blog.csdn.net/SlowIsFastLemon/article/details/103709407

计算机网络——网络层

扶醉桌前 提交于 2019-12-26 22:56:29
title: 计算机网络——网络层 date: 2019-12-23 21:23:30 categories: 计算机网络 tags: 网络层提供的两种服务 网络层关注如何将 分组 从源端沿着网络路径送达目的端 争论实质:在计算机通信中,可靠交付应当由谁来负责? 虚电路服务 是逻辑上的连接,并不是简历一条物理连接 通俗的理解:一条流水线,是传什么的就传什么,中间不更改,只不过是传输前才做逻辑上指定的流水线 数据报服务( 现在使用服务 ) 根据数据报上的地址,路由器接收地址信息临时选择传递,最终到达目的地址 通俗的理解:一个无向图,中间有若干的路,随机的走,最终到达终点 比较 对比的方面 虚电路服务 数据报服务 思路 可靠通信由网络保证 可靠通信由用户主机保证 连接的建立 必须有 不需要 终点地址 仅在连接建立阶段使用,每个分钟用短的虚电路号 每个分组有终点的完整地址 分组的转发 同一个虚电路的分组均按照同一个路由转发 每一个分组独立选择路由进行转发 当结点故障时 所有通过出故障结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化 分组的顺序 总是按发送顺序到达 不一定按发送顺序到达 端到端的差错处理和流量控制 可由网络负责,也可由用户主机负责 由用户主机负责 网际协议IP 虚拟互联网 网络互联的设备 中间设备(中间系统|中继系统) 物理层中继系统:转发器

云主机centos系统修改网卡Mac地址

送分小仙女□ 提交于 2019-12-26 15:40:52
云主机 在文件/etc/sysconfig/network-scripts/ifcfg-eth0 中增加一行类似如下   MACADDR=00:04:AC:33:1C:3B   答:MAC地址是网卡的物理地址,其实在Linux下也可更改MAC地址:   1)闭网卡设备   /sbin/ifconfig eth0 down   2)修改MAC地址   /sbin/ifconfig eth0 hw ether MAC地址   3)重启网卡   /sbin/ifconfig eth0 up   Red Hat Linux下如何修改网卡MAC地址   OS版本:Red Hat Enterprise Linux AS4   核心:Kernel 2.6.9-42   网上有很多关于linux下修改MAC地址的方法,大多依葫芦画瓢,似乎都没验证过,达不到修改的目的。   经过宵云小编的详细测试,最终成功解决了这个问题。   误区一:   #ifconfig eth0 down / 禁掉eth0网卡,这里以eth0网卡为例 /   #ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE / 修改eth0网卡的MAC地址 /   #ifconfig eth0 up / 重新启动eth0网卡 /   然后重新启动主机。   结论:按照这种方法修改MAC地址

EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案中如何使用EasyNVR实现微信直播观看

自作多情 提交于 2019-12-26 10:57:49
进入移动互联网时代以来,企业微信公众号已成为除官网以外非常重要的宣传渠道,当3.2亿直播用户与9亿微信用户的势能累加,在微信上开启直播已成为越来越多企业的必然选择。 ​ EasyNVR 核心在于摄像机的音视频流的获取、转换、转码与高性能分发,同时同步完成对实时直播流的录像存储,在客户端(PC浏览器、Android、iOS、微信)进行录像文件的检索、回放和下载。 ​ 接下来,就为大家介绍下如何使用EasyNVR在微信进行直播观看。 提出问题 实际项目中有很多客户并不需要基于 EasyNVR 去做集成的工作,只希望简单的实现在浏览器上无插件播放监控视频,例如微信直播、H5直播之类,特别是一些公众号、小程序应用上,本身接入设备的数量一般不会太多,那怎么获取一个简单直接的直播地址呢? 解决问题 在EasyNVR播放页面有一个“分享”功能,在“iframe”这个选框里有一整个嵌套地址,我们只需要将里面来源地址拿出来就可以了,比如官网演示里这个示例地址: 只需要把src里的 http://demo.easynvr.com:10800/play.html?channel=3&iframe=yes 这个地址拿出来链接到需要展示的页面就可以了。 来源: https://www.cnblogs.com/EasyNVR/p/11512708.html

可用主机ip地址数量的计算

本小妞迷上赌 提交于 2019-12-26 06:25:00
IP地址数量为2的19次方减2,可用地址范围是10.64.0.1至10.71.255.254。 计算具体事例: IP 192.168.1.1, 子网 255.255.255.0, 十进制255换做二进制就是1111 1111八个1, 十进制192换成二进制是1100 0000。把IP和子网掩码全换成二进制,对比一下, IP:1100 0000 1010 1000 0000 0001 0000 0001, 子网:1111 1111 1111 1111 1111 1111 0000 0000。 后面有八位遇到0的,就是又2的八次方个地址,即256个地址,除去一个网络地址,一个组播地址,就剩254个可用地址。 网络可用地址算法: 把子网有1的上面相对应的数字抄下来得到,遇到子网为0的变0。1100 0000 1010 1000 0000 0001 0000 0000,即得到十进制数字为192.168.1.0,这个地址就是这个网络段的网络地址。 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机。网络ID用来标识计算机所处的网段;主机ID用来标识计算机在网段中的位置。IP地址通常用4组3位十进制数表示,中间用“.”分隔,比如,192.168.0.1。 来源: https://www.cnblogs.com/huangzz/p

iOS中NSLog的输出格式

拟墨画扇 提交于 2019-12-25 01:30:44
%@  对象 %d   %i 整数 %u   无符整形 %f   浮点/双字 %x, %X 二进制整数 %o   八进制整数 %zu  size_t %p   指针 int tem=2; NSLog(@"%p",&tem); &:(取地址符)解释 教科书通常会把&符号解释的很细。 真正要理解了你需要知道汇编的一点儿原理,知道地址是什么意思。然后还要知道C语言的编译原理。 如果都不知道,就按教科书上的死记硬背就可以了。简单的说很多东西,它是一个指针指向的东西。 如果要表达这个东西就用一个名子,编译器会自己分配地址运算。 如果用取址符,则编译后运算的对象是这个地址本身。 比如函数指针。 另一个情况是传递参数。通常传递的参数都是常数。 不过如果你传递的是地址,再用地址去引用变量的位置,就可以修改变量了,这样函数退出后,结果就保留下来了。这就是地址引用参数最广的用法。 %e   浮点/双字 (科学计算) %g   浮点/双字 %s   C 字符串 %.*s  Pascal字符串 %c   字符 %C   unichar %lld   64位长整数(long long) %llu   无符64位长整数 %Lf   64位双字 来源: https://www.cnblogs.com/On1Key/p/5253864.html