
计算机网络、操作系统等
文章平均质量分 89
计算机网络、操作系统等
baiiu
每天前进三十公里
展开
-
操作系统 内存管理单元MMU TLB
本文详细介绍Linux操作系统下的内存管理单元MMU和TLB。内存管理子系统的架构如图所示,分为用户空间、内核空间和硬件3个层面。硬件层面处理器包含一个称为内存管理单元(Memory Management Unit, MMU)的部件,负责把虚拟地址转换成物理地址。内存管理单元包含一个称为页表缓存(Translation Lookaside Buffer, TLB)的部件,保存最近使用过的页表映射,避免每次把虚拟地址转换成物理地址都需要查询内存中的页表。MMU地址转换流程主要分为几个阶段:1. 用户进程访原创 2022-10-15 23:54:37 · 973 阅读 · 0 评论 -
计算机网络 网络地址转换NAT
前言本文介绍网络地址转换NAT,NetworkAddress Translation,主要用于解决IPv4太少的问题。NAT的主要作用由于IPv4地址空间太小,所以使得目前Internet正面临了两个关键问题:一是公网IP地址资源的匮乏,二是路由表的日益庞大,路由效率低。NAT(NetworkAddress Translation,网络地址转换)技术其出发点都是为了解决IPv4地址(主要是针对公网IPv4地址)不足的问题,提高现有IPv4地址利用率。NAT技术允许组织内部网络使用非全局可路由IP地址原创 2021-08-15 22:07:32 · 1604 阅读 · 0 评论 -
计算机网络 DNS解析命令汇总
前言本文参考倪朋飞老师的DNS 解析时快时慢,该怎么办文章,结合DNS服务介绍和ICMP协议 ping和traceroute介绍这两篇文章,能对DNS从理论到具体解析流程有个理解。DNS各种命令介绍DNS 协议在 TCP/IP 栈中属于应用层,不过实际传输还是基于 UDP 或者 TCP 协议(UDP 居多) ,并且域名服务器一般监听在端口 53 上。DNS 服务通过资源记录的方式,来管理所有数据,它支持 A、CNAME、MX、NS、PTR 等多种类型的记录。参考DNS各项记录:A 记录原创 2021-07-09 12:22:38 · 10396 阅读 · 0 评论 -
计算机网络 网络层 ICMP协议 ping和traceroute介绍
前言本文介绍ping命令和traceroute命令;ping命令ping命令功能ping 命令用于检测主机是否运作正常。原理执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。可用参数(也可以通过man ping查看):-d 使用Socket的SO_DEBUG功能。-c <完成次数> 设置完成要求回应的次数。-f 极限检测。-i<间隔秒数> 指定收发信息的间隔原创 2021-05-20 10:53:52 · 2051 阅读 · 2 评论 -
操作系统 虚拟内存技术
前言本文介绍操作系统里的虚拟内存技术,它是目前最常用的内存扩充技术。虚拟内存技术虚拟内存的概念请求分页管理方式页面置换算法页面分配策略虚拟内存技术的概念传统存储管理方式的特征、缺点特征1,一次性:作业必须一次性全部装入内存后才能开始运行。这会造成以下两个问题:作业很大时,不能全部装入内存,导致大作业无法运行;当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。特征2,驻留性:一旦作业被装入内存,就会一直驻留在内存原创 2021-03-14 16:29:46 · 2836 阅读 · 0 评论 -
操作系统 内存管理 分页/分段/段页式管理
前言上篇介绍了内存管理的连续分配方式,本文介绍非连续分配方式。非连续分配方式连续分配方式的缺点:固定分区分配:缺乏灵活性,会产生大量内存碎片,内存的利用率极低。动态分区分配:会产生很多外部碎片,虽然可以用紧凑技术来处理,但是紧凑的时间代价很高。非连续分配如果可以将一个进程分散的装入到许多不相邻的分区中,便可以充分的利用内存,而无需再进行紧凑。于是变产生了非连续分配方式。连续分配:为用户进程分配的是一个连续的内存空间;非连续分配:为用户进程分配的是一些分散的内存空间;分页式存原创 2021-03-13 13:55:37 · 6265 阅读 · 1 评论 -
操作系统 内存管理概念和连续分配方式
前言本文梳理内存管理相关概念:内存空间的扩充覆盖技术交换技术虚拟存储技术(下篇介绍)内存空间的分配与回收连续分配方式单一连续分配固定分区分配动态分区分配非连续分配方式(下篇介绍)基本分页存储管理基本分段存储管理段页式存储管理内存管理的概念地址转换操作系统需要提供地址转换功能,负责程序的逻辑地址与物理地址的转换。操作系统在可执行文件装入内存时进行地址转换,参考三种转入方式。存储保护操作系统需要内存保护功能,保证各个进程在各自地址空间内运原创 2021-02-06 21:31:44 · 1128 阅读 · 0 评论 -
操作系统 程序如何运行:编译、链接、装入
前言本文梳理程序是如何运行的。内存的基础知识内存的概念和作用内存是用于存储数据的硬件。程序执行前需要先放到内存中才能被CPU处理。存储单元内存地址从0开始,每个地址对应一个存储单元。如果计算机是按字节编址的,则每个存储单元的大小为1字节,即8位;如果是按字编址的,那么每个存储单元的大小为一个字;字长是按CPU指令长度来的,32位/64位等。进程运行的基本原理指令的工作原理代码会被编译成机器码被操纵系统执行,包含相应指令、操作码、和若干参数等。在生成机器指令时并不知道该进程原创 2021-01-31 18:52:16 · 5778 阅读 · 0 评论 -
操作系统 死锁和死锁处理策略
前言本文梳理死锁的概念什么是死锁在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象。发生死锁后,若无外力干涉,则这些进程都无法向前推进。死锁、饥饿、死循环的区别死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象;饥饿:由于长期得不到想要的资源,某进程无法向前推进;死循环某进程执行过程中一直跳不出某个循环。有时是因为程序逻辑bug导致的,有时候是程序员故意设计的。死锁产生的四个必要条件互原创 2021-01-26 13:11:40 · 2035 阅读 · 0 评论 -
操作系统 CPU调度 定义、分类、时机、方式、调度算法
前言本文梳理CPU调度相关知识。处理机调度处理机基本概念在多道程序系统中,进程的数量往往是多于CPU的个数的;CPU调度,就是从就绪队列中按照一定的算法选择一个进程并将CPU分配给它,以实现进程的并发执行。调度的三个层次高级调度:从后备队列中选择合适的作业将其调入内存、为其创建进程;按照一定的规则从外存上处于后备队列的作业中选择一个或多个作业,给他们分配内存等必要资源,并建立相应的进程、建立PCB,以使他们获得竞争处理机的权利。高级调度是外存与内存之间的调度。每个作业只调入一次,调出原创 2021-01-31 22:16:57 · 6202 阅读 · 0 评论 -
操作系统 线程的概念、属性和实现方式
前言本文在操作系统的角度梳理下线程的概念和实现方式。什么是线程,为什么引入线程线程可以理解为轻量级进程。线程是一个基本的CPU执行单元,也是程序执行的最小单位。线程的引入进一步提高了系统的并发度,使得一个进程内也可以并发的处理各种任务。进程是系统分配资源的基本单位,有独立的地址空间;线程是CPU调度的基本单位。线程的属性线程是处理机调度的单位多CPU计算机中,各个线程可占用不同的CPU每个线程都有一个线程ID、线程控制块 TCB每个线程也有就绪、阻塞、运行三种基本状态线程几乎不拥原创 2021-01-22 18:10:54 · 2165 阅读 · 0 评论 -
操作系统 进程篇之进程间通信
进程通信进程通信是指进程之间的信息交换。进程是操作系统分配资源的单位,每个进程拥有自己独立的内存地址空间;但是为了保证操作系统安全,一个进程是不能直接访问另一个进程的地址空间的,所以操作系统提供了一些方法来让进程间进行信息交换,即进程间通信。操作系统提供的方式为:共享存储、管道通信和消息传递。共享存储操作系统为两个进程分配一个共享空间,这两个进程通过操作该共享空间来进行通信。必须是互斥的两个进程对共享空间的访问必须是互斥的,还是通过操作系统提供的工具实现互斥,如P、V操作共享存储原创 2021-01-17 23:27:06 · 1030 阅读 · 0 评论 -
操作系统 进程篇之基本概念、状态和状态转换
前言本文梳理进程的概念、状态和状态转换等知识。进程的定义、组成、组织方式和特征进程的定义程序段、数据段、PCB三部分组成了进程实体(进程映像)。一般而言,我们把进程实体就简称为进程。创建进程实际上是创建进程实体中的PCB;撤销进程实际上是撤销进程实体中的PCB;PCB:进程控制块,用来描述进程的各种信息(如程序代码存放位置),它是进程存在的唯一标志。进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。进程的组成程序段存放要执行的程序代码数据段存放程序运行过程原创 2021-01-17 15:43:23 · 2494 阅读 · 1 评论 -
操作系统 定义、特征、用户态、核心态、中断、系统调用
前言本文梳理操作系统的基础知识。操作系统概念、功能和目标操作系统定义操作系统(Operating System,OS)是控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。操作系统的功能和目标作为系统资源的管理者CPU管理、存储器管理、文件管理、设备管理目标是安全和高效。作为用户和计算机硬件之间的接口,向用户提供服务命令接口:允许用户直接使用联机命令接口(交互式命原创 2021-01-13 13:56:37 · 3841 阅读 · 0 评论 -
计算机网络 CDN技术介绍
前言本文梳理CDN技术CDN是什么CDN(Content Delivery Network,内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。为什么需要CDNCDN服务缩短了用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题。CDN的优势:提高了用户访问网站的响应速度为了实现跨运营商、跨地域的全网覆盖互联不互通原创 2021-01-12 11:12:17 · 2582 阅读 · 0 评论 -
计算机网络 DNS服务介绍
前言本文梳理DNS服务DNS是什么DNS(Domain Name System,域名系统,也称为域名解析系统)是一种把计算机主机名称解析为对应的IP地址的服务。从网络通信原理上来讲,DNS并不是必需的,因为可以直接通过IP地址进行访问,而且事实上网络通信时最终所采用的寻址方式也是网络层的IP地址寻址。为什么需要DNS因为直接使用IP地址来运行各种网络应用的不足:不便记忆不方便变更不安全为了解决以上host文件名称解析方案中的不足,人们开发了基于域(这里的“域”是指“域名”)的分层命名原创 2021-01-12 11:07:25 · 4227 阅读 · 0 评论 -
计算机网络 常见网络性能指标
前言本文梳理计算机网络中常用性能指标。和速度相关的指标:速率、带宽、吞吐量和时间有关的指标:时延、时延带宽积、往返时延RTT衡量总体的:利用率速率速率即数据率或称数据传输率或比特率。连接在计算机网络上的主机在数字 信道上传送数据位数的速率。单位是b/s。带宽计算机网络中,带宽用来表示网络的通信线路传送数据的能力。通常是指单位时间内从网络中的某一点到另一点所能通过的最高数据率。网络设备所支持的最高速度。单位是b/s。在发送入口处最高能发送数据的速率。吞吐量表示在单位时间内通过某个原创 2021-01-10 16:51:13 · 3375 阅读 · 0 评论 -
计算机网络 网络层梳理
前言本文梳理网络层相关知识。网络层概述网络层的主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,实现两个网络系统之间的数据透明传送。网络层传输单位是数据报。网络层功能:路由选择与分组转发(最佳路径)屏蔽网络差异,提供透明传输,即依靠路由器异构网络互连(wifi、4G、内网)数据包封装与解封装拥塞控制网络层数据交换技术数据交换技术主要是指网络中间结点所提供的数据交换功能。从整个网络层数据交换技术的发展来看,交换技术经历了一个由电路交换、报文交换到现在最常用的分原创 2021-01-10 13:53:54 · 647 阅读 · 1 评论 -
计算机网络 UDP协议梳理
前言本文梳理UDP协议UDP:User Datagram Protocol,用户数据报文协议UDP是一种无连接传输层协议,不像TCP那样需要服务器监听,也不必等待客户端与服务器建立连接后才能通信,当然,最后能否把数据传输成功,UDP是不能保证的。TCP采用的是面向连接的分组报文传输方式,而UDP采用的是无连接的数据报传输方式。分组报文头部是有明确的源地址和目的地址的,而数据报头部是没有这些信息的。该服务对消息中传输的数据提供不可靠的、尽最大努力的传送。这意味着它不保证数据报的到达,也不保证所传送数原创 2021-01-08 21:00:01 · 492 阅读 · 0 评论 -
计算机网络 TCP协议梳理
前言本文梳理TCP协议TCP:Transmission Control Protocol ,传输控制协议TCP的主要特性面向连接的传输协议是指应用程序在使用TCP之前,必须先建立TCP传输连接,在传输数据完毕后,必须释放已建立的TCP传输连接。仅支持单播传输每条TCP传输连接只能有两个端点(socket),只能进行点对点的数据传输,不支持多播和广播的传输方式。提供可靠的交付服务TCP可以无差错、不丢失、不重复,且按时序达到对端。传输单位为数据段TCP仍采用了传统的"数据段"作为数据传原创 2021-01-07 21:55:34 · 1362 阅读 · 1 评论 -
计算机网络 浏览器输入url回车后发生了什么
前言写这篇文章的目的:看完了图解HTTP,系统的梳理一下整个流程。就想到了这个题目,浏览器输入url回车后发生了什么。参考了很多文章,整理了一下,作自己理解。先从介绍四层模型开始,了解网络模型;然后再说网络通信流大概过程;最后介绍请求过程中发生了什么。1. TCP/IP四层模型(Transfer Control Protocol/Internet Protocol) 应用层:决定了向用户提供应用服务原创 2017-03-12 21:00:25 · 1851 阅读 · 0 评论 -
计算机网络 TCP/IP参考模型
前言本文梳理TCP/IP的通信传输流。1. TCP/IP四层模型(Transfer Control Protocol/Internet Protocol)应用层:决定了向用户提供应用服务时通信的活动。主要功能:为用户提供接口、处理特定的应用;数据加密、解密、压缩、解压缩;定义数据表示的标准。比如FTP(File Transfer Protocol)DNS(Domain NameServer)域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。HTTP;SMTP(S原创 2021-01-03 23:31:03 · 2281 阅读 · 0 评论 -
图解HTTP第十一章:Web的攻击技术
本章讲解具体有哪些攻击Web站点的手段,以及攻击会造成怎样的影响。针对Web的攻击技术攻击目标:应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用等资源。HTTP不具备必要的安全功能 HTTP就是一个通用的单纯协议机制,因此具备较多优势,但在安全性方面则呈劣势。在客户端即可篡改请求 在HTTP请求报文内加载攻击代码,就能发起对Web应用的攻击。通过URL查询字段或表单、HTTP原创 2017-03-11 08:02:27 · 752 阅读 · 0 评论 -
图解HTTP第八章:确认访问用户身份的认证
某些Web页面只想让特定的人浏览,为达到这个目标,必不可少的就是认证功能。什么是认证为了弄清究竟是谁在访问服务器,就得让对方的客户端自报家门。核对的信息通常如下:密码:只有本人才会知道的字符串信息动态令牌:仅限本人持有的设备内显示的一次性密码数字证书:仅限本人持有的信息生物认证:指纹和虹膜等本人的生理信息IC卡等:仅限本人持有的信息HTTP使用的认证方式:BASIC认证(基本认证)DI原创 2017-03-11 07:59:57 · 3068 阅读 · 0 评论 -
计算机网络 HTTPS梳理
在HTTP协议中有可能存在信息窃听或身份伪装等安全问题,使用HTTPS通信机制可以有效的防止这些问题。 参考: SSL/TLS协议运行机制的概述HTTP的缺点通信使用明文,内容可能会被窃听TCP/IP是可能被窃听的网络:按TCP/IP协议族的工作机制,通信内容在所有线路上都有可能遭到窥视。加密处理防止被窃听,加密的对象如下:通信的加密 通过和SSL(Secure Socket L原创 2017-03-11 07:59:14 · 1547 阅读 · 1 评论 -
图解HTTP第六章:HTTP首部
学习HTTP首部的结构和首部中各字段的用法。HTTP首部字段使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。首部字段对应单个HTTP首部可以有多个值。如果首部字段重复,根据浏览器逻辑处理,有的以第一个为准,有的以最后出现的为准。4种首部字段类型通用首部字段(General Header Fields)请求首部字段(Request Header Fields)原创 2017-03-11 07:58:25 · 2237 阅读 · 0 评论 -
图解HTTP第五章:与HTTP协作的Web服务器
一台Web服务器可搭建多个独立域名的Web网站,也可作为通信路径上的中转服务器提升传输效率。用单台虚拟主机实现多个域名HTTP/1.1规范允许一台HTTP服务器利用虚拟主机(Virtual Host、虚拟服务器)的功能搭建多个Web站点。 由于在一台服务器内,所以访问的域名都具有相同的IP地址,因此必须在请求字段的HOST首部内完整指定主机名或域名URI。通信数据转发程序:代理、网关、隧道HTTP原创 2017-03-09 21:59:38 · 553 阅读 · 0 评论 -
图解HTTP第四章:返回结果的HTTP状态码
HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。 了解状态码的工作机制状态码告知从服务器端返回的请求结果状态码的职责 当客户端向服务器端发送请求时,用于描述返回的请求结果。状态码组成 以3位数字和原因短语组成,如200 OK 只要遵守状态码类别定义,自行创建它都可以。介绍常用的14种状态码2XX 成功:表明请求被正常处理了,已原创 2017-03-09 21:55:27 · 611 阅读 · 0 评论 -
图解HTTP第三章:HTTP报文内的HTTP信息
HTTP报文HTTP报文:用于HTTP协议交互的信息HTTP报文大致可分为报文首部和报文主体两块。由空行(CR+LF)来划分。 请求报文和响应报文请求行:包含用于请求的方法,请求URI和HTTP版本状态行:包括表明响应结果的状态码,原因短语和HTTP版本首部字段:包含表示请求和响应的各种条件和属性的各类首部。 实例: 编码提升传输速率报文主体和实体主体:报文 :HTTP通信的基本单原创 2017-03-09 21:54:43 · 550 阅读 · 0 评论 -
图解HTTP第二章:简单的HTTP协议
通过请求和响应的交换达成通信HTTP协议规定:请求从客户端发出,发出请求报文,最后服务器端响应该请求并返回。 请求以请求报文的方式发出。请求报文的构成:请求方法、请求URI、协议版本、可选的请求首部字段、内容实体。 接收到请求的服务器,会将请求内容的处理结果以响应的形式返回。HTTP是不保存状态的协议(无状态协议) HTTP协议自身不对请求和响应之间的通信状态进行保存,即该协议对于发送过的请原创 2017-03-08 08:31:12 · 509 阅读 · 0 评论 -
图解HTTP第一章:了解Web及网络基础
3项Web的构建技术:作为文本标记语言的HTML(HyperText Markup Language)作为文档传输协议的HTTP(HyperText Transfer Protocol)指定文档所在地址的URL(Uniform Resource Locator)TCP/IP协议族通常所使用的网络、包括互联网是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。TCP/IP原创 2017-03-08 08:29:11 · 581 阅读 · 0 评论