小张在努力写代码

小张在努力写代码

1. 冯诺依曼体系结构

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

【Linux】冯诺依曼体系结构&&初识操作系统-LMLPHP

一般来说,计算机分为输入设备、输出设备、存储器、运算器&&控制器

关于冯诺依曼,需要强调与解释的东西:

们知道,CPU的速度是最快的,里面配有寄存器也是最快的,内存是较快的,而外设是较慢的

【Linux】冯诺依曼体系结构&&初识操作系统-LMLPHP

内存存在的意义在于:

【Linux】冯诺依曼体系结构&&初识操作系统-LMLPHP

而我们所说到的IO(输入输出既input和output)就是从内存的角度上看,把数据从输入设备存入内存的过程叫做input,把内存中的数据输出到输出设备的过程叫做output,这就是IO的过程

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。

2. 初识操作系统

2.1 操作系统是什么?

操作系统是一个对软硬件资源进行管理的软件

操作系统的定位:是一款专注于管理的软件

2. 为什么要有操作系统

为了更好的管理一台计算机的软硬件资源

通过合理的管理软硬件资源(手段),为用户提供更好良好的(稳定的,高效的,安全的)执行环境(目的)

3. 操作系统是怎么管理的

举个例子:大家作为学生,与自己学校的校长打过交道吗?应该很少有,但是大家又作为这个学校的学生被校长管理着,那么校长是怎么做到的呢?

是通过对数据的管理来管理学生的

所有的管理,本质是对数据做管理,管理的方法是先描述再组织

计算机管理软硬件资源的方式:

  1. 描述起来,用struct结构体
  2. 组织起来,用链表或其他高效的数据结构

计算机体系结构图

【Linux】冯诺依曼体系结构&&初识操作系统-LMLPHP

4. 系统调用(System Call)

在开发角度上看,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发

这对应着用计算机体系结构图中的户操作接口和system call,我们或者说用户不是直接和操作系统进行操作交流的,需要通过调用各种接口间接地进行交流

10-10 10:46