随笔分类 - 计算机基础知识
摘要:什么是TCP/IP? TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。并不只有TCP与IP两种协议,而是一个应用于不同网络间信息传输的协议簇,它对网络中各结构层
阅读全文
摘要:为什么需要内存分配器 系统的物理内存是有限的,而对内存的需求是变化的, 程序的动态性越强,内存管理就越重要,选择合适的内存管理算法会带来明显的性能提升。 比如nginx, 它在每个连接accept后会malloc一块内存,作为整个连接生命周期内的内存池。 当HTTP请求到达的时候,又会malloc一
阅读全文
摘要:冯诺依曼体系结构 冯诺依曼(John von Neumann)提出“存储程序”原理,即把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存,以此为基础的计算机称为冯诺依曼机(Von Neumannarchitecture)。 特点: 1. 计算机由运算器,控制器,存储器,输入和输出五部分
阅读全文
摘要:1. 操作系统定义 操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面
阅读全文
摘要:无论是上层应用还是操作系统内核开发,内存问题都是我们所需要关注的。 我们来看看Linux内核管理和分配机制。 伙伴算法 伙伴算法从物理连续的大小固定的段上进行分配。从这个段上分配内存,采用 2 的幂分配器来满足请求分配单元的大小为 2 的幂(4KB、 8KB、16KB 等)。请求单元的大小如不适当,
阅读全文
摘要:进程(Process) 我们知道操作系统可以管理计算机的资源(IO,处理器,文件,存储器),那么如果没有操作系统那么该如何管理计算机? 在没有操作系统之前,计算机只能运行一个程序,所有的资源只属于当前运行的程序。但是当前程序不能完全合理的去运用资源,因此在配置操作系统之后就引入了多道程序的概念。这样
阅读全文
摘要:计算机总线的概念 计算机总线(Bus)就是计算机内部各种功能部件之间传送信息的公共通信干线,总线上链接计算机各个设备的数据线。我们知道计算机有运算器,控制器,存储器,输入输出设备这五大组件,所以总线就是用来连接这些组件的导线。 总线分类 1. 数据总线(Data Bus)。 2. 地址总线(Addr
阅读全文
摘要:存储器分类 1. 按照存储器介质分类: 1) 半导体:存储的是由半导体元器件构成的,比如内存,U盘,固态硬盘。 2) 磁存储器:在金属或者塑料表面涂一层存储介质的存储器。比如磁带,磁盘。 2. 按存取方式分类: 1) 随机存储器(RAM):这种存储器任何单元可以随机读取,随机读取的时间与存储位置无关
阅读全文
摘要:ASCII码 1. 使用7个bits就可以完全表示ASCII(American Standard Code for Information Interchange)码(包含95个可打印的字符,33个不可打印的字符,比如一些控制字符), 33+95=128 = 2的7次方,最高位表示定位符。 ASCI
阅读全文
摘要:什么是机器指令系统? 指令是计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机所有的指令组成的集合就是该计算机的指令集(注:一台计算机只能执行自己的指令集中的指令,因为不同CPU的指令系统一般不兼容,比如手机上的ARM架构和PC上的X86架构是不同的,具体的可以参阅其他资料)。 指令是
阅读全文
摘要:什么是DHCP DHCP(Dynamic Host Configuration Protocol)动态主机设置协议。DHCP是一个局域网协议,是应用UDP协议等应用层协议,使用UDP协议来工作。 DHCP协议的作用 平时不管是手机,计算机还是平板电脑都需要配置一个IP地址。DHCP协议主要作用是集中
阅读全文
摘要:垃圾回收机制简介 垃圾回收的全称是 Garbage Collection 通常被简称为GC。是对内存中堆区域进行清理的一种技术。 为什么需要垃圾回收机制 1、内存溢出。 2、程序效率降低。 如何知道一个对象是否可以被回收 1、 引用计数算法:判断对象的引用数量。 原理就是为每个对象创建一个引用计数,
阅读全文
摘要:CDN是什么 CDN(Content Delivery Network)是内容分发网络。 作用: 使用户可以就近取的所需要的内容,加速用户访问网站资源的速度。物理距离更近,响应速度更快。拦截部分网络请求,对主站分流作用,减轻了主站的负载。 CDN= 更智能的镜像 + 缓存 + 流量导向 原理: 利用
阅读全文
摘要:TCP/IP协议简介 TCP/IP协议簇是一种分层结构,TCP/IP不是一个协议,而是一个协议族的统称,里面包括TCP协议,IP协议、IMCP协议等等。这里主要讲解TCP协议和IP协议。 UDP协议 UDP服务于很多知名应用,如网络文件系统(NFS)、简单网络管理协}义(SNMP)、域名系统(DNS
阅读全文
摘要:介绍 SSL安全协议又叫安全套接层(Secure Sockets Layer)协议,主要用于提高应用程序之间数据的数据安全。 SSL协议用途 HTTP协议现如今是应用最为广泛的协议。人们通过HTTP协议可以访问互联网上的网站,当我们输入一个网址的时候,浏览器会默认给加上网址的前面加上http,这表明
阅读全文
摘要:什么是SQL注入(SQL Injection)? SQL注入是一种未将输入参数进行过滤,然后将SQL代码添加到输入参数中并传递到SQL服务器解析并执行达到预想之外的一种攻击手法。这种SQL注入可以欺骗服务器并且执行一些非法的SQL语句从而导致信息泄漏及其他安全问题。SQL注入是安全问题中最高发的问题
阅读全文
摘要:XSS攻击是什么 XSS攻击指的是跨站脚本攻击(Cross Site Scripting),那么为什么不叫CSS呢,因为前端已经有CSS 层叠样式表 (Cascading Style Sheets)了,所以为了不混淆这里就叫做XSS。XSS攻击是一种经常出现在web应用中的计算机漏洞,它允许恶意用户
阅读全文
摘要:Linux系统上动态库一般的后缀后为.so文件,静态库一般的后缀为.a文件。由于静态链接会直接将库编译进程序里所以静态编译后的程序相较于动态链接所要大。这就是因为静态链接会将链接库编译进程序里的原因,所以占用就要大了,出于这种原因,静态库不易于维护与更新,如果链接库中有实现有bug等需要更新则需要更
阅读全文
摘要:IO线程模型一直在演化,由最开始的单线程模型,到BIO方式的单线程接受请求线程池线程具体处理单个请求的读写事件,再到NIO的单线程接受请求线程池里面的单个线程可以处理不同请求的读写事件,一个字没有最快,只有更快。 引入进程的目的,是为了使多道程序并发执行,以提高资源利用率和系统吞吐量;而引入线程,则
阅读全文
摘要:HTTP协议简介 HTTP(超文本传输协议:HyperText Transfer Protocol)是互联网中最广泛使用的一种通信协议,它允许将超文本标记语言(HTML)文档从WEB服务器传送到客户端的浏览器上,HTTP协议也是做WEB开发的基础,每个WEB开发者都应该了解。我们下面先了解下HTTP
阅读全文