Linux:冯诺依曼体系结构、操作系统、进程概念(一.初识进程)
文章目录
- 1.冯诺依曼体系结构
-
- 总线与数据传输通路
- 为什么有内存这个部分
- 计算机存储结构
- 2.操作系统(Operator System)
-
- 2.1 概念
- 2.2 设计OS的目的
- 2.3 理解“管理”
-
- 先描述再组织
- 2.4 用户使用
-
- 系统调用和库函数(lib)概念
- 总结
- 3.初识进程
-
- 3.1 基本事实与引入
- 3.2 进程概念
- 3.3 描述进程—PCB
- 3.4 task_struct—linux中的PCB
1.冯诺依曼体系结构
冯诺依曼体系结构是计算机体系结构中的一种基本设计原则,它描述了计算机系统的组成和运作方式。该体系结构由计算机科学家约翰·冯·诺伊曼(John von Neumann)于20世纪中期提出,被广泛应用于现代计算机系统的设计和实现中。
冯诺依曼体系结构包括以下几个关键组成部分:
- 存储器(Memory):冯诺依曼体系结构中的存储器用于存储指令和数据。这里的存储器通常指的是内存,包括随机存储器(RAM)和只读存储器(ROM)。存储器中的数据可以根据地址进行读取和写入操作。
- 中央处理器(CPU):CPU是计算机的核心部件,负责执行指令并处理数据。CPU包括运算器(Arithmetic Logic Unit,ALU)和控制器(Control Unit)。运算器执行算术和逻辑运算,而控制器负责指挥数据的流动和执行指令的顺序。
- 输入/输出设备(Input/Output Devices):输入/输出设备用于与外部世界交互,包括键盘、鼠标、显示器、打印机等。在冯诺依曼体系结构中,所有的输入和输出都通过存储器进行传递,即输入设备将数据写入内存,输出设备从内存读取数据。
- 存储器-中央处理器之间的数据传输通路:冯诺依曼体系结构中,存储器和中央处理器之间有一条数据总线(Data Bus)和一条地址总线(Address Bus),用于传输数据和地址信息。
总线与数据传输通路
在计算机系统中,各个设备之间通过总线连接在主板上。总线是一组电子管道或连接,它允许数据在设备之间传输,以及设备与 CPU 或内存之间进行通信。总线可以传输各种类型的数据,包括指令、地址和数据。
设备之间的数据流动本质是数据在不同设备之间来回拷贝,拷贝的整体速度是决定计算机效率的重要指标
总线的作用是将计算机中的各种硬件设备连接起来,使它们可以相互通信和协作。通过总线,CPU 可以访问内存中的数据和指令,外部设备(如键盘、鼠标、硬盘等)可以与 CPU 或内存进行数据交换。
总线通常分为三种类型:地址总线、数据总线和控制总线。
-
地址总线(Address Bus):用于指示数据在内存或 I/O 设备中的位置。地址总线的宽度决定了系统可以寻址的内存空间大小。例如,32位地址总线可以寻址 2^32 个不同的内存单元,即 4GB 的内存空间。
-
数据总线(Data Bus):用于在 CPU、内存和 I/O 设备之间传输数据。数据总线的宽度决定了系统一次可以传输的数据位数。例如,32位数据总线可以一次传输 32 位(4 字节)的数据。
-
控制总线(Control Bus):用于控制数据的传输和操作。控制总线包括各种控制信号,如读写信号、时钟信号、中断信号等,用于指示数据传输的方向和时序。
总线连接在主板上,通过电路板上的导线和连接器进行物理连接。当 CPU 或其他设备需要访问内存或进行数据交换时,它们会通过总线发送相应的控制信号和数据,然后在目标设备上进行处理或存储。
- 数据传输通路:
- 数据传输通路通常指的是在芯片内部或芯片之间的数据传输路径,它们可以是在 CPU 芯片内部的各种通路,也可以是连接芯片之间的内部通路,比如连接 CPU 和内存、连接 CPU 和缓存等。数据传输通路的主要特点是速度非常快,因为它们通常是直接连接在芯片内部或紧密连接的芯片之间,所以传输速度非常高。
- 总线:
- 总线是计算机系统中不同组件之间进行数据传输的通道。它是连接 CPU、内存、输入输出设备和其他部件的物理通道,用于在它们之间传输数据和控制信号。总线分为地址总线、数据总线和控制总线三种,其中地址总线用于指示数据的存储位置,数据总线用于传输实际的数据,控制总线用于控制数据传输的时序和流向。总线的主要特点是它连接了整个计算机系统的各个部件,因此它的带宽和传输速度通常比较有限,而且需要考虑更多的时序和控制问题。
为什么有内存这个部分
-
平衡速度差异:CPU 的速度远远快于外部设备,如硬盘、光驱等。内存作为介于CPU和外部设备之间的媒介,可以帮助平衡这种速度差异。CPU 可以快速地从内存中读取或写入数据,而内存则可以暂时存储来自外部设备的数据,使得 CPU 不必等待外部设备完成读写操作。
-
提高效率: 内存的引入使得计算机的运行更加高效。CPU 可以直接从内存中读取数据进行运算,而无需每次都去访问外部设备。这样可以大大提高数据访问速度,加快计算机的响应速度,提高整体性能。
-
缓存作用: 内存可以看作是一个非常大的缓存,存储了 CPU 需要频繁访问的数据和程序。通过在内存中暂时存储数据,可以减少 CPU 对外部设备的访问次数,提高计算机系统的效率。
-
降低成本: 内存的成本相对于 CPU 来说比较低廉,这使得计算机更加实用和经济。如果没有内存,CPU 将不得不直接与外部设备进行