【Linux】浅谈冯诺依曼体系结构与操作系统

目录

一.冯诺依曼体系结构

1.概念

2.问题

为什么不能让输入输出设备与CPU直接交互呢??

程序要运行,为什么必须先加载到内存??

请简述一下在qq上,发送数据的一方,发出“hello”,数据是如何流向的?(这里不对网络详细解释,只是用这个例子更加熟悉冯诺依曼体系结构)

二.操作系统

1.粗略认识

操作系统是什么?

为什么要有操作系统?

如何实现的管理?

2.全面认识

图文描述

结论


一.冯诺依曼体系结构

1.概念

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

【Linux】浅谈冯诺依曼体系结构与操作系统_第1张图片

存储器:内存

输入设备:键盘,摄像头,话筒,磁盘,网卡...

输出设备:显示器,音响,磁盘,网卡...

运算器与控制器共同组成了CPU

运算器:算术运算,逻辑运算

控制器:响应外部事件,协调外部就绪事件,比如:拷贝数据到内存

不考虑缓存情况,CPU只能对内存进行读写,不能访问外设(也就是输入或输出设备)

外设要输入或输出数据,只能写入内存或者从内存中读取,总之,所有设备都只能直接和内存交互

2.问题

为什么不能让输入输出设备与CPU直接交互呢??

各部分计算速度:

CPU&&寄存器 > 内存 > 磁盘 > 光盘 > 磁带

CPU的速度远远大于输入输出设备,如果让CPU与输入输出设备直接交互,由于木桶效应,计算机的整体速度取决于最慢的那一部分,这样就会大大降低计算机的整体速度,有了存储器(内存),让输入输出设备先与内存交互,内存再与CPU交互,这样操作系统软件就可以参与进来,比如,可以预先加载一部分输入输出数据到内存,再由CPU去访问内存,这样计算机的整体速度就与内存有关了,大大缓解整机效率。

输入设备 -> 存储器 --- input --- 例如:scanf

存储器 -> 输出设备 --- output --- 例如:printf

这个数据流动的整体就是一个IO的过程

总结:有了存储器(内存),计算机启动时,操作系统会存在于内存中,将输入输出设备的数据预先加载到内存,再让CPU访问。这样做便可以让操作系统软件参与进来,加快计算机速度。

程序要运行,为什么必须先加载到内存??

答:因为冯诺依曼体系结构的特点决定的!CPU只能对内存进行读写!

请简述一下在qq上,发送数据的一方,发出“hello”,数据是如何流向的?(这里不对网络详细解释,只是用这个例子更加熟悉冯诺依曼体系结构)

答:qq是运行在内存中的,发送数据的一方,先从键盘输入到存储器,然后交由cpu处理,处理后交给存储器,再到输出设备(也就是网卡),由网络递交给收数据的一方,收数据的一方先从输入设备(也就是网卡)接收数据,再交由cpu处理,处理后交给存储器,最后交付到输出设备(显示器)

【Linux】浅谈冯诺依曼体系结构与操作系统_第2张图片

二.操作系统

1.粗略认识

操作系统是什么?

操作系统是用来管理软硬件的系统软件程序

对下进行软硬件的管理是手段,对上为用户提供良好的服务是目的

为什么要有操作系统?

操作系统可以给用户提供一个稳定,安全,简单的执行环境

如何实现的管理?

先描述,后组织。也就是先用结构体描述对象属性,后用数据结构,将这些对象组织起来

我们可以用现实生活中的例子来进一步理解操作系统是如何进行管理的以及扮演了怎么的一个角色

【Linux】浅谈冯诺依曼体系结构与操作系统_第3张图片

2.全面认识

图文描述

【Linux】浅谈冯诺依曼体系结构与操作系统_第4张图片

结论

1.所谓操作系统进行管理,需要先描述,再组织

2.操作系统是以系统调用(也就是调用接口(system call))的方式对外提供服务的

3.微观上的操作系统,是操作系统内核,是接口(system call)之下的部分

   宏观上的操作系统,是操作系统内核 + system call + shell与库函数

你可能感兴趣的:(Linux,linux,服务器,java)