冯诺依曼体系结构  
 
 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。  
 
 截至目前,我们所认识的计算机,都是有一个个的硬件组件组成  
 
 输入单元:包括键盘 ,  鼠标,扫描仪 ,  写板等  
 
 中央处理器 (CPU) :含有运算器和控制器等  
 
 输出单元:显示器,打印机等  
 
 关于冯诺依曼,必须强调几点:  
 
 这里的存储器指的是内存  
 
 不考虑缓存情况,这里的 CPU 能且只能对内存进行读写,不能访问外设 ( 输入或输出设备 )  
 
 外设 ( 输入或输出设备 ) 要输入或者输出数据,也只能写入内存或者从内存中读取。  
 
 一句话,所有设备都只能直接和内存打交道。  
 
 对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上,请解释,从你登录上 qq 开始和某位朋友聊  
 
 天开始,数据的流动过程。 从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在 qq 上发  
 
 送文件呢?  
 
 操作系统 (Operator System)  
 
 概念  
 
 任何计算机系统都包含一个基本的程序集合,称为操作系统 (OS) 。笼统的理解,操作系统包括:  
 
 内核(进程管理,内存管理,文件管理,驱动管理)  
 
 其他程序(例如函数库, shell 程序等等)  
 
 设计 OS 的目的  
 
 与硬件交互,管理所有的软硬件资源  
 
 为用户程序(应用程序)提供一个良好的执行环境  
 
 定位  
 
 在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的 “ 搞管理 ” 的软件  
 
 如何理解  " 管理 "  
 
 管理的例子  
 
 描述被管理对象  
 
 组织被管理对象  
 
 总结  
 
 计算机管理硬件  
 
 1.  描述起来,用 struct 结构体  
 
 2.  组织起来,用链表或其他高效的数据结构  
 
 系统调用和库函数概念  
 
 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分  
 
 由操作系统提供的接口,叫做系统调用。  
 
 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统  
 
 调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。  
 
 承上启下  
 
 那在还没有学习进程之前,就问大家,操作系统是怎么管理进行进程管理的呢?很简单,先把进程描述起来,再把  
 
 进程组织起来!  
 
 进程  
 
 ~over~