少年行 我很想你,也想那个有风的夜晚
一溪风月 Published on 2023-04-10

linux 进程管理

linux进程管理 linux 系统中运行着许多进程,有些进程还有不同的线程,不同进程或者线程的执行,都需要硬件资源。硬件资源是有限的,那么必须有一个完善的进程管理体系,才能解决好资源的管理调度问题。 在 linux 中,无论是进程,还是线程,在内核中统一称为 Task。由统一的结构 task_st

一溪风月 Published on 2023-04-04

程序装载问题

程序装载 比尔盖茨在上个世纪 80 年代做了一个语言:“640K ought to be enough for anyone”(640K 内存对于任何人来说都够用了)。这在今天是不可理解的,如今随便一台个人 PC,少说都有 8G 内存,相较于 640K 提升了万倍不止,那比尔盖茨这句话该怎么理解呢?

一溪风月 Published on 2023-03-22

使用纸带编写计算机程序

使用纸带编写计算机程序 计算机并不认识高级语言,因此需要将高级语言翻译成机器语言,CPU才能执行。机器语言就是一串数字。我们用纸带的孔来代表 0 和 1。这样我们就可以使用纸带表示一条条机器指令,让 CPU 去执行。接下来看一个例子。 //test.c int main(){ int a =

一溪风月 Published on 2023-01-06

计算机网络协议之TCP

计算机网络协议之TCP TCP协议比UDP协议要复杂的多,它需要处理各种丢包,乱序,重传,拥塞的场景。但这并不意味着他能让网络情况变好,如果网络的确很差,是无法在软件层面上避免的。TCP协议能做的就是不断的重传,重试,通过各种算法保证。 TCP包头格式 源端口号和目的端口号是指明这个包需要发送给哪个

一溪风月 Published on 2022-12-26

CPU的冒险和预测

CPU的冒险和预测 为什么叫做冒险 流水线设计中需要解决三大冒险问题,分别是结构冒险(Structural Hazard)、数据冒险(Data Hazard)和控制冒险(Control Hazard)。 搜索一下 Hazard 这个词,会发现它有两种词性,可以当名词讲,意思是危险,危害;也可以当动词

一溪风月 Published on 2022-12-23

计算机网络协议之UDP

计算机网络传输层UDP协议 UDP包头 格式 源端口号(16位) 目标端口号(16位) UDP长度(16位) UDP校验和(1

一溪风月 Published on 2022-12-22

CPU的流水线设计思想

现代CPU 的流水线设计 为什么需要流水线设计 CPU 指令的执行,概括性来讲是由:“取指(Fetch)-> 指令译码(Decode)-> 执行指令(Execute)”三个步骤组成的。出于对性能的考虑,自然希望这样一整条指令的执行是在一个时钟周期内完成的。采用这种思想设计的CPU 叫做单指令周期处理

一溪风月 Published on 2022-12-21