Linux 进程(一) 从冯诺依曼到操作系统 目录一. 冯诺依曼体系结构1.1 计算机的主要组成1.2 为什么软件运行必须先加载程序运行之前又在哪里呢1.3 为什么需要内存1.3.1 存储分级1.3.2 为什么需要内存(续)1.4 数据流动示例二. 操作系统(OS)2.1 为什么要有操作系统2.2 相关小知识2.2.1 软硬件体系层状结构2.2.2 其他概念(先了解)2.3 理解操作系统2.3.1 操作系统的核心功能2.3.2 理解管理的本质一. 冯诺依曼体系结构我们常见的计算机如笔记本。我们不常见的计算机如服务器大部分都遵守冯诺依曼体系。1.1 计算机的主要组成组成部分作用例子CPU负责执行指令、处理数据运算器、控制器内存存储器为程序运行提供工作空间RAM输入设备(外设)向计算机输入数据键盘、鼠标、麦克风输出设备(外设)向外输出处理结果显示器、打印机外存长期保存数据磁盘、SSD注意磁盘既可以作为数据的输入来源也可以作为数据的输出目标。1.2 为什么软件运行必须先加载程序运行之前又在哪里呢从冯诺依曼体系结构我们可以知道在数据层面上与cpu交互的只有存储器(内存)而程序中的代码归根结底是交由cpu进行那么程序的运行就必须经过内存才行。程序在运行之前一般是存于磁盘上。整个数据的流动可以看作是数据从一个设备拷贝到另外一个设备而整个体系结构的效率由各设备的拷贝效率决定1.3 为什么需要内存我们之前说过在数据层面上cpu只与内存交互那我能不能去掉内存让cpu直接与外设交互呢1.3.1 存储分级简单总结一下离cpu越近速度越快价格越高容量越低cpu越远速度越慢价格越低容量越大1.3.2 为什么需要内存(续)通过上面所谈的存储分级那么我们应该也知道外设的速度相较于cpu是非常低的那么会造成整个体系结构的效率低下因为cpu会一直等待外设的传输很浪费时间。而内存的效率又比外设要高cpu要低价格相对来说不算高。我先将数据传输到内存再传输到cpu对外设和cpu之间的速度不匹配做一个适配在很大程度上可以提高整个体系结构的效率性价比也高。1.4 数据流动示例二. 操作系统(OS)操作系统是一个基本的程序集合是一款进行软硬件管理的软件。操作系统包括内核进程管理内存管理文件管理驱动管理其他程序例如函数库shell程序等2.1 为什么要有操作系统• 对下与硬件交互管理所有的软硬件资源。• 对上为用户程序应用程序提供⼀个良好的执行环境。2.2 相关小知识2.2.1 软硬件体系层状结构由上图可知软件硬件体系采用层状结构将计算机系统划分为用户程序、接口、操作系统、驱动程序和底层硬件等不同层次。高内聚每一层内部的功能尽量集中、职责明确。例如操作系统内部的内存管理、进程管理和文件管理各自负责不同的工作。低耦合不同层次之间尽量减少不必要的依赖通过接口进行交互。例如用户使用ls命令查看文件不需要了解底层磁盘是如何工作的。总结层状结构通过明确各层的职责、减少层与层之间的依赖实现高内聚、低耦合让整个计算机系统更容易维护和扩展。2.2.2 其他概念(先了解)访问操作系统必须使用系统调用 -- 其实就是函数只不过是系统提供的我们的程序只要你判断出它访问了硬件那么它必须贯穿整个软硬件体系结构库可能在底层封装了系统调用2.3 理解操作系统2.3.1 操作系统的核心功能在整个计算机软硬件架构中操作系统的定位是一款纯正的 “搞管理” 的软件。2.3.2 理解管理的本质• 管理的例子-学生辅导员校长• 描述被管理对象• 组织被管理对象