⁶⁶   ⁶⁶⁶⁶⁶⁶   ⁶⁶66⁶⁶⁶⁶    ₆₆₆₆ 可以啊.这波  ₆₆₆₆⁶⁶⁶⁶⁶        ⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶66⁶⁶⁶⁶     卧槽⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶    666₆₆₆₆₆₆₆ 666        666 ⁶⁶⁶⁶⁶⁶₆₆₆₆₆₆ ₆⁶⁶⁶⁶⁶⁶⁶⁶⁶ ⁶⁶⁶⁶⁶⁶ ⁶⁶⁶⁶⁶⁶⁶⁶

与昊

32
获赞数
598
粉丝数
北京
2020-04-01 加入
浏览 2.1k

IT民工,主要从事web方向,喜欢研究技术和投资之道

个人动态
  • 发布了文章5 月 10 日
    【技术架构—要点】高可用架构
    实现上述高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器宕机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取数据。
  • 发布了文章5 月 9 日
    【技术架构—要点】高性能架构
    响应时间:指应用执行一个操作需要的时间,包括从发出请求开始到收到最后响应数据所需要的时间。响应时间是系统最重要的性能指标,直观地反映了系统的“快慢”。
  • 发布了文章5 月 9 日
    【技术架构—概述】架构演化、模式与核心要素
    如何打造一个高可用、高性能、易扩展、可伸缩且安全的应用系统?相信这是困扰着无数开发者的难题,在这里我们以一个网站为例,来讨论一下如何做好大型应用系统的架构设计。
  • 发布了文章5 月 4 日
    【计算机网络—概述】集线器、交换机和路由器
    从计算机发送出来的网络包会通过集线器、路由器等设备被转发,最终到达目的地。转发设备会根据包头部中的控制信息,在转发设备内部一个写有转发规则的表中进行查询,以此来判断包的目的地,然后将包朝目的地的方向进行转发。
  • 发布了文章4 月 28 日
    【计算机网络—概述】协议栈和网卡
    和浏览器不同的是,协议栈的工作我们从表面上是看不见的,可能比较难以想象。因此,在实际探索之前,我们先来对协议栈做个解剖,看看里面到底有些什么。
  • 发布了文章4 月 22 日
    【计算机网络—概述】浏览器
    从在浏览器中输入网址,到屏幕上显示出网页的内容,在这个只有几秒钟的过程中,很多硬件和软件都在各自的岗位上相互配合完成了一系列的工作。这里将以探索之旅的形式,带领大家探索这一系列工作中的每一个环节。
  • 发布了文章4 月 21 日
    【操作系统—持久化】文件系统
    随着时间的推移,有关存储虚拟化形成了两个关键的抽象。第一个是文件(file)。文件就是一个线性字节数组,每个字节都可以读取或写入。每个文件都有某种低级名称,通常是某种数字,用户通常不知道这个名字。由于历史原因,文件的低级名称通常称为inode号(inode numb...
  • 发布了文章4 月 20 日
    【操作系统—持久化】I/O设备
    我们先来看一个典型计算机系统的架构。其中,CPU通过某种内存总线(memory bus)或互连电缆连接到系统内存。图像或者其他高性能I/O设备通过常规的I/O总线(I/O bus)连接到系统,在许多现代系统中会是PCI或它的衍生形式。更下面是外围总线(peripheral bus),比如SC...
  • 发布了文章4 月 18 日
    【操作系统—并发】常见并发问题与事件并发模型
    多年来,研究人员花了大量的时间和精力研究并发编程的缺陷。并发缺陷有很多常见的模式,从大的方面来说可以分为两类:非死锁缺陷和死锁缺陷。了解这些模式是写出健壮、正确程序的第一步。
  • 发布了文章4 月 18 日
    【操作系统—并发】条件变量与信号量
    之前我们介绍了锁,然而锁并不是并发程序设计中所需的唯一原语。在很多情况下,线程需要检查某一条件(condition)满足之后,才会继续运行。例如,父线程需要检查子线程是否执行完毕。这种等待如何实现呢?
  • 发布了文章4 月 15 日
    【操作系统—并发】锁
    通过对并发的介绍,我们看到了并发编程的一个最基本问题:由于单处理器上的中断(或者多个线程在多处理器上并发执行),一些我们希望能原子执行的指令并不能正确运行。锁(lock)就是用来解决这一问题最基本的方法。程序员在源代码中加锁,放在临界区周围,保证临界...
  • 发布了文章4 月 13 日
    【操作系统—并发】线程
    我们将介绍为单个运行进程提供的新抽象:线程(thread)。经典观点是一个程序只有一个执行序列(一个程序计数器,用来存放要执行的指令),但多线程(multi-threaded)程序会有多个执行序列(多个程序计数器,每个都用于取指令和执行)。换一个角度来看,每个线程类...
  • 发布了文章4 月 13 日
    【操作系统—虚拟化】内存分页
    分段的内存管理方式存在固有的问题:将空间切成不同长度的分片以后,空间本身会碎片化(fragmented),随着时间推移,分配内存会变得比较困难。
  • 发布了文章4 月 13 日
    【操作系统—虚拟化】超越物理内存
    到目前为止,我们一直假定地址空间非常小,能放入物理内存。事实上,我们假设每个正在运行的进程的地址空间都能放入内存。现在,我们将放开这些假设,假设我们需要支持许多进程同时运行的巨大地址空间。
  • 发布了文章4 月 11 日
    【操作系统—虚拟化】内存分段
    利用基址和界限寄存器,操作系统很容易将不同进程重定位到不同的物理内存区域。但是,对于这些内存区域,栈和堆之间,有一大块“空闲”空间。栈和堆之间的空间并没有被进程使用,却依然占用了实际的物理内存。因此,简单的通过基址寄存器和界限寄存器实现的虚拟内存很...
  • 发布了文章4 月 10 日
    【操作系统—虚拟化】内存空间和地址转换
    操作系统曾经是一组函数(实际上是一个库),在内存中(在本例中,从物理地址0开始),然后有一个正在运行的程序(进程),目前在物理内存中(在本例中,从物理地址64KB开始),并使用剩余的内存。
  • 发布了文章4 月 10 日
    【操作系统—虚拟化】进程调度
    探讨可能的策略范围之前,我们先做一些简化假设。这些假设与系统中运行的进程有关,有时候统称为工作负载(workload)。在这里我们对工作负载所做的假设是不切实际的,但将来会放宽这些假设。现在,我们对操作系统中运行的进程(有时也叫工作任务)做出如下的假设:
  • 发布了文章4 月 5 日
    【操作系统—虚拟化】进程
    进程的非正式定义非常简单:进程就是运行中的程序。程序本身是没有生命周期的,它只是存在磁盘上面的一些指令(也可能是一些静态数据)。人们常常希望同时运行多个程序,一个正常的系统可能会有上百个进程同时在运行。
  • 发布了文章3 月 27 日
    【数据系统—派生数据系统】批处理系统
    Web和越来越多基于HTTP/REST的API使得请求/响应的交互模式变得如此普遍,以至于很容易将其视为理所当然。但是我们应当记住,这并不是构建系统的唯一途径,其他方法也有其优点。下面我们来区分三种不同类型的系统:
  • 发布了文章3 月 21 日
    【数据系统—分布式系统】一致性与共识
    为了构建容错系统,最好先建立一套通用的抽象机制和与之对应的技术保证,这样只需实现一次,其上的各种应用程序都可以安全地信赖底层的保证。这与事务的道理相同:通过事务,应用程序可以假装没有崩溃(原子性),没有与其他人并发访问数据库(隔离性),且存储设备...