程序锅

  • 首页
  • 分类
  • 标签
  • 归档
  • 关于

  • 搜索
基础知识 Etcd LeetCode 计算机体系结构 Kubernetes Containerd Docker 容器 云原生 Serverless 项目开发维护 ELF 深入理解程序 Tmux Vim Linux Kernel Linux numpy matplotlib 机器学习 MQTT 网络基础 Thrift RPC OS 操作系统 Clang 研途 数据结构和算法 Java 编程语言 Golang Python 个人网站搭建 Nginx 计算机通用技术 Git

网络基础 | 应用层-DNS

发表于 2021-09-24 | 分类于 网络 | 0 | 阅读次数 2924
每个人上网,都需要访问 DNS,一旦它出了故障,整个互联网都将瘫痪。另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大。因而,DNS 服务器,一定要设置成高可用、高并发和分布式的。DNS 的层次结构DNS 采用如下的树状的层次结构:根 DNS 服务器 :返回顶级域
阅读全文 »

网络基础 | 运输层

发表于 2021-09-23 | 分类于 网络 | 0 | 阅读次数 3593
TCP/UDP 的包到达机器之后,发现 MAC 地址匹配,之后会交给 IP 层的代码进行处理。IP 层的代码处理之后发现目标 IP 也匹配,接下去就要交给运输层进行处理了。在 IP 头里面有个 8 位协议,表示是这个数据包是 UDP 的还是 TCP 的。运输层处理完之后,内核的事情就基本干完了,接下
阅读全文 »

网络基础 | IP 层【专栏摘记】

发表于 2021-09-22 | 分类于 网络 | 0 | 阅读次数 2500
IP 地址分类网络地址32 位的 IP 地址一开始被分为 5 类。对于 A、B、 C 类来说,IP 地址主要分两部分,前面一部分是网络号,后面一部分是主机号。下面这个表格,详细地展示了 A、B、C 三类地址所能包含的主机的数量。D 类是组播地址。使用这一类地址,属于某个组的机器都能收到。这有点类似在
阅读全文 »

网络基础 | 数据链路层【专栏摘记】

发表于 2021-09-21 | 分类于 网络 | 0 | 阅读次数 2939
数据链路层物理层就是只负责数据通信,就是上层数据交给我之后,我就往外发。那么,这个数据包怎么知道自己应该去往哪里呢?同时,假如大家都在发的话,势必会产生冲突,那么谁先该发?谁后发呢?怎么判断有没有发送出错?这几个问题都是数据链路层,也就是 MAC 层要解决的问题。MAC 的全称是 Medium Ac
阅读全文 »

网络基础 | 物理层【专栏摘记】

发表于 2021-09-20 | 分类于 网络 | 0 | 阅读次数 3311
两台电脑互通用一根网线连接两台电脑的时候,这根网线的水晶头要做交叉线,用的就是所谓的 1-3、2-6 交叉接法。水晶头的第 1、2 和第 3、6 脚,它们分别起着收(1、2)、发(3、6)信号的作用。将一端的 1 号和 3 号线、2 号和 6 号线互换一下位置,就能够在物理层实现一端发送的信号,另一
阅读全文 »

Linux Kernel | Linux 内存管理-内存映射

发表于 2021-09-17 | 分类于 Linux Kernel | 0 | 阅读次数 2940
1. 分段和分页1.1. 分段机制分段机制下的虚拟地址由两部分组成,段选择子和段内偏移量。段选择子就保存在段寄存器里面。段选择子里面最重要的是段号,用作段表的索引。段表里面保存的是这个段的基地址、段的界限和特权等级。段基地址加上段内偏移量就得到了物理内存地址。在 Linux 里面,段表全称段描述符表
阅读全文 »

Linux Kernel | Linux 内存管理-物理内存

发表于 2021-09-17 | 分类于 Linux Kernel | 0 | 阅读次数 2401
1. 物理内存管理1.1. 硬件架构传统的 SMP(Symmetric multiprocessing)系统中,所有处理器都共享系统总线。因此当处理器的数目增大时,系统总线的竞争冲突加大,系统总线成为瓶颈。为了提高性能和可扩展性,后来有了一种更高级的模式,NUMA (Non-uniform memo
阅读全文 »

Linux Kernel | Linux 内存管理-虚拟内存

发表于 2021-09-17 | 分类于 Linux Kernel | 0 | 阅读次数 1789
物理地址对于进程不可见,谁也不能直接访问这个物理地址。操作系统会给进程分配一个虚拟地址。所有进程看到的这个地址都是一样的,里面的内存都是从 0 开始编号。在程序里面,指令写入的地址是虚拟地址。之后,系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。当程序要访问虚拟地址的时候,由内
阅读全文 »

Linux Kernel | Linux 信号机制介绍

发表于 2021-09-16 | 分类于 Linux Kernel | 0 | 阅读次数 3477
1. 信号1.1. 概述信号(Signal)其实就是 Linux 进程收到的一个通知。这些通知产生的源头有很多种,通知的类型也有很多种。比如如果我们按下键盘“Ctrl+C”,当前运行的进程就会收到一个信号 SIGINT 而退出;如果我们的代码写得有问题,导致内存访问出错了,当前的进程就会收到另一个信
阅读全文 »

Linux Kernel | Linux 权限介绍

发表于 2021-09-15 | 分类于 Linux Kernel | 0 | 阅读次数 2235
进程权限控制是指进程能否有权限访问某个文件、能否访问其他进程、能否进行某些操作,以及进程能否被其他项目组访问。task_struct 中关于进程权限的成员变量有如下这些,其中 cred 表示我这个进程可以操作谁,实质上就是我操作别人时具有的权限是什么;real_cred 表示谁能操作我这个进程。操作
阅读全文 »
5 6 7
dawnguo

dawnguo

215 日志
24 分类
37 标签
RSS
Creative Commons
© 2018 — 2025 程序锅
0%