冯·诺依曼体系结构
也叫普林斯顿体系结构(这个叫法不太常见),99%的程序员都知道这个体系结构是在描述一台计算机是如何构成的。我们常见的计算机比如笔记本;不经常见的如服务器,大部分都遵守冯诺依曼体系结构
计算机的组成组件
1.输入单元:键盘,扫描仪,写字板等 2.中央处理器(CPU):含有运算器和控制器等 3.输出设备:显示器,打印机
小Tips
1.这里的存储器指的是CPU 2.不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入设备以及输出设备) 3.外设(输入设备以及输出设备)要输入或者输出数据,也只能写入内存或者从从内存中读取 4.所有的设备只能直接和内存打交道
操作系统
概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),即内核+配套的应用程序,用通俗一点的话来说:操作系统其实就是一个搞管理的软件,一方面管理计算机的硬件设备,另一方面管理计算机的软件资源。 其实上面的图很好理解,举个例子来说,假如我们要在屏幕上输出“hello world”,我们就要现在应用程序中写下代码:System.out.printIn(“hello world”),在代码真正执行起来的时候,printIn会进入到依赖的库代码中,本质上需要操作显示器这个硬件设备来完成显示,printIn然后就会通过相关的系统调用进入到内核中来执行代码,这个内核中的代码再来执行“让显示器输出“这样的动作(内核调用显卡驱动程序,由驱动程序来具体操作显示器)
操作系统如何管理
所谓管理,核心就是两件事:描述、组织
那么如何进行描述与组织呢,就相当于在一个学校中, 校长作为管理者给做为被管理者的学生发奖学金,校长要先知道每个同学的基本信息(姓名、班级、学号、成绩)---->依赖描述。然后校长再在所有的同学信息中进行筛选,选出若干个成绩最好的同学---->依赖组织。
再举一个更加好理解的例子:上面的校长知道每个同学的基本情况这就好比是创建了一个Student类,类中包含一些需要的属性,再根据当前的数据创建一堆Student的实例---->依赖描述。然后再借助一定的数据结构,把这些Student的实例放到一起,然后再按照一定的规则来筛选---->依赖组织
操作系统的作用
1.与硬件交互,管理所有的软硬件资源(对内且对下) 2.为用户程序(应用程序)提供一个良好的执行环境(对外且对上)
文末,许下我的一个圣诞小愿望,西安加油!!!“长安”常安
|