【Linux】初见,进程概念

📅 2026/7/4 15:31:23 👁️ 阅读次数 📝 编程学习
【Linux】初见,进程概念

1.冯诺依曼体系结构

我们所见的大部分计算机都是遵循的冯诺依曼体系结构

我们的计算机都是由一个个硬件所组成的

  • 输出设备:显示器、音响、摄像头、网卡.......
  • 输入设备:鼠标、键盘 、网卡.......
  • 中央处理器(CPU):包含运算器、控制其等等等等......

对于冯诺依曼体系结构我们要注意以下几点:

  • 存储器:其实就是我们所说的内存。相应的外存就是我们说所的磁盘
  • 输入与输出(Input/Output,IO):输入与输出我们要站在内存的角度来看待,外设的数据流出内存叫做输入,内存将数据交给输入设备叫做输出。
  • CPU与内存:CPU在数据层面上只能直接访问内存,并不能直接访问硬件设备。所以一切软件的运行都想要先将其加载到内存才行。加载的本质其实是Input,数据从一个设备“拷贝”到另一个设备。拷贝的效率决定了体系结构的效率。
  • 软件运行:软件的运行是通过CPU执行我们的代码,访问我们的数据来得以实现的。
  • 理解内存:假设没有内存,CPU直接从输入设备中拿去数据,再交由输出设备。我们知道输入设备与输出设备的速度是远远的慢与CPU的。这就导致了不论CPU有多快都没用,CPU始终要等着输入设备的数据过来才能开始处理,这个设备的效率全部取决于了外设。这显然是不合理的。

而内存的出现解决了,CPU与外设之间运算速度不匹配的弊端。内存会提前将输入设备中的数据拿过来,尽可能的减少CPU与外设之间的速度差。

  • 理解数据的流动

2.操作系统(Operator System)

2.1基本概念

任何一个计算机都包含一个最基本的程序:OS(操作系统)

操作系统本质是一款用于管理软硬件的软件

广义的操作系统包含:内核(进程管理、文件管理、内存管理、驱动管理) 其他程序(外壳shell、函数库等等等等) 狭义的操作系统包含:内核

2.2设计OS的目的是什么

对下:与硬件交互,管理软件与硬件的资源(手段) 对上:为应用程序提供一个良好的运行环境(目的)

注意:

1.操作系统是封装起来的任何人都无法访问其内部,只能通过操作系统给用户提供的接口(既系统调用)来执行功能

2.计算机上的任何操作都必须访问操作系统,且只能通过调用系统接口实现。其接口本质就是函数,只不过是系统提供的。

3.软硬件结构都为层状结构

4.我们的程序只要是访问了硬件(比如显示器,磁盘)那它就必定会贯穿整个软硬件体系结构

5.我们常用的库函数:printf,显示器上打印信息。它也访问了硬件设置,这也就意味着这个库函数底层封装了系统调用

2.3理解操作系统的“管理”

在学校的管理体系中,校长是管理层,辅导员是执行层,而学生则是被管理者。校长拥有决策权,而执行校长的决定不可能由校长亲自执行,而是辅导员来。在计算机体系中,校长就相当于是操作系统。辅导员相当于是驱动程序。学生则相当于是底层硬件

“校长”应该如何管理?

校长要管理学生,但是校长不可能将想要管理的学生一个个都喊到办公室来。校长与学生不必见面。更合理的做法是校长通过学生册里面的信息来进行管理,做出的决定交由辅导员来执行。