随笔分类 - 操作系统
摘要:案例篇:服务器总是时不时丢包,我该怎么办? 所谓丢包,是指在网络数据的收发过程中,由于种种原因,数据包还没传输到应用程序中,就被丢弃了。这些被丢弃包的数量,除以总的传输包数,也就是我们常说的丢包率。丢包率是网络性能中最核心的指标之一。 丢包通常会带来严重的性能下降,特别是对 TCP 来说,丢包通常意
阅读全文
摘要:关于 Linux 网络,你必须知道这些 网络模型 开放式系统互联通信参考模型(Open System Interconnection Reference Model),简称为 OSI 网络模型。 应用层,负责为应用程序提供统一的接口。 表示层,负责把数据转换成兼容接收系统的格式。 会话层,负责维护计
阅读全文
摘要:基础篇:Linux 文件系统是怎么工作的? 同 CPU、内存一样,磁盘和文件系统的管理,也是操作系统最核心的功能。 磁盘为系统提供了最基本的持久化存储。 文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。 索引节点和目录项 在 Linux 中一切皆文件。不仅普通的文件和目录,就连块设备、套
阅读全文
摘要:基础篇:Linux内存是怎么工作的? 内存映射 Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。 虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指令可以处理数据的最大长
阅读全文
摘要:基础篇:到底应该怎么理解“平均负载”? $ uptime 02:34:03 up 2 days, 20:14, 1 user, load average: 0.63, 0.83, 0.88 我相信你对前面的几列比较熟悉,它们分别是当前时间、系统运行时间以及正在登录用户数。 02:34:03 //当前
阅读全文
摘要:x86 架构 作为 Linux 操作系统,何尝不是这样。如果下面的硬件环境千差万别,就会很难集中精力做出让用户易用的产品。毕竟天天适配不同的平台,就已经够头大了。x86 架构就是这样一个开放的平台。今天我们就来解析一下它。 计算机的工作模式是什么样的? CPU 和内存是完成计算任务的核心组件,所以这
阅读全文
摘要:你可以把 Linux 内核当成一家软件外包公司的老板 操作系统其实就像一个软件外包公司,其内核就相当于这家外包公司的老板。所以接下来的整个课程中,请你将自己的角色切换成这家软件外包公司的老板,设身处地地去理解操作系统是如何协调各种资源,帮客户做成事情的。 趣谈操作系统组成,类比至外包软件公司 操作系
阅读全文
摘要:存储器层次结构全景:数据存储的大金字塔长什么样? 理解存储器的层次结构 我们常常把 CPU 比喻成计算机的“大脑”。我们思考的东西,就好比 CPU 中的寄存器(Register)。寄存器与其说是存储器,其实它更像是 CPU 本身的一部分,只能存放极其有限的信息,但是速度非常快,和 CPU 同步。 而
阅读全文
摘要:建立数据通路(上):指令+运算=CPU 在“指令”部分,我为你讲解了计算机的“指令”是怎么运行的,也就是我们撰写的代码,是怎么变成一条条的机器能够理解的指令的,以及是按照什么样的顺序运行的。 在“计算”部分,我为你讲解了计算机的“计算”部分是怎么执行的,数据的二进制表示是怎么样的,我们执行的加法和乘
阅读全文
摘要:计算机指令:让我们试试用纸带编程 思维导图 上大学的时候,我们系里教 C 语言程序设计的老师说,他们当年学写程序的时候,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)”。用这种设备写程序,可没法像今天这样,掏出键盘就能打字,而是要先在脑海里或者在纸上写出程序,然后在
阅读全文
摘要:冯·诺依曼体系结构:计算机组成的金字塔 计算机的基本硬件组成 要自己组装一台计算机,要先有三大件,CPU、内存和主板。 我们首先要说的是 CPU,它是计算机最重要的核心配件,全名你肯定知道,叫中央处理器(Central Processing Unit)。计算机的所有“计算”都是由 CPU 来进行的。
阅读全文
摘要:# 硬件语言筑基 ## 一个芯片的内部电路是怎么样的? 一般情况下,你所接触到的处理器芯片,已经不是传统意义上的 CPU 了,比如在业界很有名的国产手机芯片华为麒麟 990 芯片。这样一款芯片,包含了 CPU 核、高速缓存、NPU、GPU、DDR、PMU 等模块。 ![img](https://im
阅读全文