摘要: 此项目利用 TP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS +Swoole 的架构方案 GitHub 地址:https://github.com/DOUBLE-Baller/momo QQ群:274904994 演示地址:live.logde.cn 优点介绍 阅读全文
posted @ 2017-09-27 18:05 ノGHJ 阅读(583) 评论(1) 推荐(0) 编辑
摘要: 上一篇博客 我们介绍了几种数据传送指令,包括MOV,MOVS,MOVZ,PUSH和POP等,理解起来也不算难。本篇博客我们来接着看汇编语言的算术与逻辑运算指令,算术无非就是加减乘除,而逻辑运算也就是与或非,移位等操作。下面这张图是汇编里面的算术和逻辑操作: 上面除了 leal(加载有效地址)指令通常 阅读全文
posted @ 2017-09-27 17:29 ノGHJ 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 在进行本章的讲解之前,我们先说明讲解的机器语言型号。上一篇汇编语言和机器语言我们讲过,机器语言是直接面向处理器(Processor:CPU)的程序设计语言,但是每一种这样的微处理器(CPU)由于硬件设计和内部结构的不同,所以每一种微处理器都有自己的机器指令集,也就是机器语言。而汇编语言是便于记忆的机 阅读全文
posted @ 2017-09-27 17:28 ノGHJ 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博客 程序编码以及数据格式 中我们给出了一个简单的C程序,然后编译成了汇编代码。大家看不懂没关系,后面的博客我们将逐渐揭开一些汇编指令的神秘面纱。本篇博客我们将对操作数指示符和数据传送指令进行详细的介绍。 1、整数寄存器 上一篇博客我们讲了在汇编语言中,如下的几个处理器状态是可见的: 一、程 阅读全文
posted @ 2017-09-27 17:28 ノGHJ 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 《深入理解计算机系统》第三章——程序的机器级表示。作者首先讲解了汇编代码和机器代码的关系,阐述了汇编承上启下的作用;接着从机器语言IA32着手,分别讲述了如何存储数据、如何访问数据、如何完成运算以及如何进行跳转。通过这些步骤,又告诉了我们分支语句、循环语句是怎么完成的,函数调用、栈帧结构以及递归过程 阅读全文
posted @ 2017-09-27 17:27 ノGHJ 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 整数的表示和运算我们已经讲完了,在实际应用中,整数能够解决我们大部分问题。但是某些需要精确表示的数,比如某件商品的价格,某两地之间的距离等等,我们如果用整数表示将会有很大的出入,这时候浮点数就产生了。 在 20世纪80年代以前,每个计算机厂商都设计了自己表示浮点数的规则,以及对浮点数执行运算的细节, 阅读全文
posted @ 2017-09-27 17:26 ノGHJ 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客我们讲解了二进制小数如何表示以及IEEE浮点标准。而且我们也提到过因为这种表示方法限制了浮点数的范围和精度,浮点数只能近似的表示一个数。 比如 数字1/5,我们能用十进制小数 0.2 准确的表示,但是我们却不能把它准确的表示为一个二进制小数,我们只能通过增加二进制表示的长度来提高表示的精度 阅读全文
posted @ 2017-09-27 17:26 ノGHJ 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客我们讲解了计算机中整数的表示,包括无符号编码和补码编码,以及它们之间的互相转换,个人觉得那是非常重要的知识要点。这篇博客我们将介绍C语言中的有符号数和无符号数以及扩展和截断数字。 1、C语言中的有符号数和无符号数 上一篇博客我们给出了C语言中在32位机器和64位机器中支持的整型类型数据,我 阅读全文
posted @ 2017-09-27 17:25 ノGHJ 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 前面两篇博客我们详细讲解了计算机中整数的表示,包括有符号和无符号(补码编码)的详细介绍。那么这篇博客我们将对它们的运算有个详细的了解。 在讲解之前首先看下面的一个程序,看看输出结果是啥? 1 2 3 4 5 6 7 8 9 #include <stdio.h> int main() { int i 阅读全文
posted @ 2017-09-27 17:25 ノGHJ 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客我们主要介绍了布尔代数和C语言当中的几个运算符。那么这一篇博客我们主要介绍在计算机中整数是如何表示的,诸如我们在编码过程中遇到的对数据类型进行强制转换可能会得到意想不到的结果在这篇博客里你会得到解答。 1、什么是整数? 整数包含正整数,0,负整数。我们从小的数学常识,整数是无穷无尽的,即整 阅读全文
posted @ 2017-09-27 17:24 ノGHJ 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的。但是对于各个进制的转换 LZ 只是一笔带过了,后来LZ仔细研究了进制转换的原理,发现还是挺有感悟的。那么这篇博客就讲讲进制转换。 1、进制的介绍 在讲进制之前,我们先看一下数制的定义:用一组固定的数字和一套统一的规则来表示数目的方法称为数 阅读全文
posted @ 2017-09-27 17:23 ノGHJ 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 本篇博客我们主要讲解计算机中的布尔代数以及C语言的几个运算符。 1、布尔代数 我们知道二进制值是计算机编码、存储和操作信息的核心,随着计算机的发展,围绕数值0和1的研究已经演化出了丰富的数学知识体系。而布尔代数便是乔治.布尔(George Boole)将逻辑值 True(真)和 False(假)编码 阅读全文
posted @ 2017-09-27 17:23 ノGHJ 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客我们讲解了存储设备的层次结构,并详细讲解了高速缓存的原理,以及可以利用高速缓存来提高程序性能。如果对Java Web 熟悉的,我们可以理解高速缓存类似Web 端的缓存机制。那么这一篇博客我们来引出并谈谈操作系统的抽象概念。 1、操作系统 首先接着来讨论 hello world 程序的例子。 阅读全文
posted @ 2017-09-27 17:22 ノGHJ 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 前面我们介绍了《深入理解计算机系统》第一章的内容 计算机系统漫游。包括简单介绍了 Hello World 程序在计算机中是如何运行的,存储设备的层次结构以及操作系统的抽象概念。第一章的内容只是对很多概念有个简单了解,所以还是不懂的话也不要紧,后面都会对这些概念进行深入的探究。而这一章我们将介绍《深入 阅读全文
posted @ 2017-09-27 17:22 ノGHJ 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 上一篇序章我谈了谈 程序员为啥要懂底层计算机结构 ,有人赞同也有人反对,但是这并不影响 LZ 对深入理解计算机系统研究的热情。这篇博客以案例驱动的模式,通过跟踪一个简单 Hello World 程序的生命周期开始系统的学习,包括它被程序员创建,到在系统上运行,输出简单的消息,然后终止。LZ 将沿着这 阅读全文
posted @ 2017-09-27 17:21 ノGHJ 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 上一章我们讲解了hello world 程序在计算机系统中是如何运行的。 hello 程序的机器指令最初是存放在磁盘上的,当程序加载时,他们被复制到主存;当处理器运行程序的时候,指令又从主存复制到处理器。相似的,数据串"Hello World" 初始时在磁盘上,然后复制到主存,最后从主存上复制到显示 阅读全文
posted @ 2017-09-27 17:21 ノGHJ 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 万丈高楼平地起,计算机系统就像程序员金字塔的地基。理解了计算机系统的构造原理,在写程序的道路上才能越走越远。道理LZ很早就懂了,可是一直没下定决心好好钻研,或许是觉得日常工作中根本用不到这些,又或许是每次拿起书看到那些复杂的底层架构,看到存储器,寄存器,CPU,总线等等这些概念就头大。总之,由于各种 阅读全文
posted @ 2017-09-27 17:20 ノGHJ 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 1、结构特点 肖特基管,又称金属-半导体二极管。其正极通常是某种贵金属a,而负极通常为N型半导体b。因为N型半导体内有大量的自由电子(N型半导体电子为多子),由于N型半导体中电子浓度比金属中电子浓度高,便会发生电子由b向a的扩散。b内失去电平衡,显正电性;而a内开始多电子,显负电性。由此,便形成b→ 阅读全文
posted @ 2017-09-27 17:12 ノGHJ 阅读(746) 评论(0) 推荐(0) 编辑