linux进程管理 linux 系统中运行着许多进程,有些进程还有不同的线程,不同进程或者线程的执行,都需要硬件资源。硬件资源是有限的,那么必须有一个完善的进程管理体系,才能解决好资源的管理调度问题。 在 linux 中,无论是进程,还是线程,在内核中统一称为 Task。由统一的结构 task_st
使用纸带编写计算机程序 计算机并不认识高级语言,因此需要将高级语言翻译成机器语言,CPU才能执行。机器语言就是一串数字。我们用纸带的孔来代表 0 和 1。这样我们就可以使用纸带表示一条条机器指令,让 CPU 去执行。接下来看一个例子。 //test.c int main(){ int a =
计算机网络协议之TCP TCP协议比UDP协议要复杂的多,它需要处理各种丢包,乱序,重传,拥塞的场景。但这并不意味着他能让网络情况变好,如果网络的确很差,是无法在软件层面上避免的。TCP协议能做的就是不断的重传,重试,通过各种算法保证。 TCP包头格式 源端口号和目的端口号是指明这个包需要发送给哪个
现代CPU 的流水线设计 为什么需要流水线设计 CPU 指令的执行,概括性来讲是由:“取指(Fetch)-> 指令译码(Decode)-> 执行指令(Execute)”三个步骤组成的。出于对性能的考虑,自然希望这样一整条指令的执行是在一个时钟周期内完成的。采用这种思想设计的CPU 叫做单指令周期处理