普通人

无线通信技术的变革与详解

无线通信架构 声音在无线网络中的传输 这是一张关于无线通信过程的架构图,讲述了声音信号如何从发声人到接收人进行传递。 首先发送者的信号传递到了麦克风,由于人声的频率较低(100Hz 到 10000Hz),而无线通信频率较高(850/900/1800/1900MHz),需要通过调制器,将人声变成高频信号 之后通过功率放大器和发送天线,将信号发送出去 在对端接收到该信号后...

传输层安全(TLS)相关技术详解

TLS 的目标 传输层安全(TLS)是网络安全的主力。它允许网站向 Web 浏览器证明其身份,并保护所有交换的信息被加密且免受窥探。 TLS 有两个主要目标:保密性和身份验证。两者对于在互联网上进行安全通信都至关重要。保密性主要由密钥安全交换技术和 AES 加密算法实现,身份验证主要由数字签名技术实现 保密性 对称密钥 像 RSA 和 DH 这样的公共关键算法使用大量的 CPU,是...

关于VSCode使用Remote SSH时git gutter(代码差异装饰器)无法显示的问题

diff decorations gutter介绍 diff decorations gutter中文翻译为代码差异装饰器,就是在使用git或svn插件时代码编辑器序号旁边显示的彩色装饰条,点击可以看到改动后的内容和最后一次提交内容的差异 这玩意看似简单,却是版本管理的利器,没有它我都不敢写代码了 无法显示问题 在使用Remote SSH进行远程开发时发现代码差异装饰器无法显示,...

《Operating Systems: Three Easy Pieces》学习笔记(六) 调度:多级反馈队列

本章将介绍一种著名的调度方法–多级反馈队列(Multi-level Feedback Queue,MLFQ)。1962 年,Corbato 首次提出多级反馈队列,应用于兼容时分共享系统(CTSS)。Corbato 因在 CTSS 中的贡献和后来在 Multics 中的贡献,获得了 ACM 颁发的图灵奖(Turing Award)。该调度程序经过多年的一系列优化,出现在许多现代操作系统中。 ...

《Operating Systems: Three Easy Pieces》学习笔记(五) 进程调度:介绍

假设 为了方便概念的描述,对操作系统中运行的进程(有时也叫工作任务)做出如下的假设: 工作负载 每一个工作运行相同的时间。 所有的工作同时到达。 一旦开始,每个工作保持运行直到完成。 所有的工作只是用 CPU(即它们不执行 IO 操作)。 每个工作的运行时间是已知的。 调度指标 任务的周转时间定义为任务完成时间减去任务到达系统的时间。更正式的周转时间定义 T...

《Operating Systems: Three Easy Pieces》学习笔记(四) 机制:受限直接执行

本文中文版翻译质量堪忧,有不少名词翻译不知所云,建议对照英文版阅读 前言 在构建这样的虚拟化机制时存在一些挑战。 第一个是性能:如何在不增加系统开销的情况下实现虚拟化? 第二个是控制权:如何有效地运行进程,同时保留对 CPU 的控制? 控制权对于操作系统尤为重要,因为操作系统负责资源管理。如果没有控制权,一个进程可以简单地无限制运行并接管机器,或访问没有权限的信息 ...

《Operating Systems: Three Easy Pieces》学习笔记(二) 抽象:进程

本系列文章将按照《Operating Systems: Three Easy Pieces》一书的章节顺序编写,结合原文与自己的感悟,以作笔记之用,如有不足之处,恳请在评论区指出 进程 API 创建(create) 操作系统必须包含一些创建新进程的方法。在 shell 中键入命令或双击应用程序图标时,会调用操作系统来创建新进程,运行指定的程序。 销毁(destroy) 由于存在创建...

Makefile和SHELL中$及$$的区别

最近在看linux内核代码时看到在Makefile中用到了$$()的使用方式,虽然能猜到什么意思,但不知道使用方法和具体含义,于是查找资料,在此写一个总结 SHELL中的$说明 在shell中,$的一种用法是引用shell变量,执行脚本时,$引用的变量会被替换为相应的字符串。 当然shell中$的用法远不止于此,此处就不多做展开,想要了解更多,可以阅读Linux Shell中’$’...

© Kai. 保留部分权利。

浙ICP备20006745号-2,本站由 Jekyll 生成,采用 Chirpy 主题。