如何选择建网站公司,做网页设计的步骤,电子商务网络运营,中国建设银行网站首页河西网点#x1f466;个人主页#xff1a;Weraphael ✍#x1f3fb;作者简介#xff1a;目前正在学习c和Linux还有算法 ✈️专栏#xff1a;Linux #x1f40b; 希望大家多多支持#xff0c;咱一起进步#xff01;#x1f601; 如果文章有啥瑕疵#xff0c;希望大佬指点一二 … 个人主页Weraphael ✍作者简介目前正在学习c和Linux还有算法 ✈️专栏Linux 希望大家多多支持咱一起进步 如果文章有啥瑕疵希望大佬指点一二 如果文章对你有帮助的话 欢迎 评论 点赞 收藏 加关注 目录 一、认识冯诺依曼体系结构硬件1.1 体系结构1.2 体系之间是如何工作的 二、操作系统软件2.1 什么是操作系统2.2 操作系统为什么要管理2.3 操作系统是怎么管理 三、系统调用和库函数 一、认识冯诺依曼体系结构硬件
1.1 体系结构
我们常见的计算机如笔记本台式机等大部分都遵守冯诺依曼体系 截至目前我们所认识的计算机都是有一个个的硬件组件组成
输入设备键盘、鼠标、摄像头、麦克风、磁盘、网卡等输出设备显示器、播放器、磁盘、网卡等存储器指的是内存。注意磁盘和U盘统称外存运算器对输入的数据进行计算算术运算、逻辑运算控制器控制计算硬件流程
运算器和控制器合起来叫做中央处理器也就是我们常说的CPU
注以上五个部分其实是独立的个体。
所以各个硬件单元必须用“线”链接起来这些线就是总线
系统总线(CPU和内存)IO总线(内存和外设)
1.2 体系之间是如何工作的 输入设备的的数据不能直接传送到CPU中
首先通过输入设备传给存储器然后由存储器交给CPU经过运算后CPU再交给存储器最后才能给输出设备
那么为什么是以上顺序呢
这就要涉及到存储的效率问题
【金字塔存储体系】 这是因为外设和CPU速度差距太大了。就类似于木桶原理如果外设直接和CPU交互那么计算机整个体系结构的效率就以输入输出的效率为主效率相当低下于是就选择既不快也不快的存储器来当中介。
总之所有设备都只能直接和内存打交道。
二、操作系统软件
2.1 什么是操作系统
概念操作系统是一款对硬件的管理也可以是对软件的管理的软件。
2.2 操作系统为什么要管理
以下是操作系统在计算机中所处的层次图 最底层就是硬件(眼睛能看的到摸得着)早期计算机是通过硬件电路来控制的需要用户手动进行硬件控制。随着科技的发展硬件变得越来越完善所以就要有一款软件对硬件进行管理我们称为操作系统。而硬件也随之变得复杂功能也越来越多因此在操作系统和硬件之间还有一个设备驱动。而有这些还是不够的比如一个电脑买回来仅仅是铁疙瘩但是安装操作系统后就可以开机(应用软件)。因此在操作系统之上我们还需要各种不同的应用软件来满足用户的不同应用场景。
因此操作系统的【核心工作】为什么会有操作系统对下管理好软硬件资源的手段以达到为用户提供良好的(稳定、快速、安全)操作/使用环境
操作系统给我们提供非常良好的服务并不代表操作系统会相信我们反而操作系统不相信任何人
举例理解就好比银行给我们提供良好的服务但所有服务都是基于一个小小的柜台窗口因为银行在为我们提供服务时要确保自身的安全因此银行的服务是基于窗口进行的
而操作系统也是一样的为了保证自己数据安全也为了保证给用户能够提供服务操作系统以接口的方式给用户提供调用的入口来获取操作系统内部的数据对上提供接口这种调用称为系统调用。
所以说所有访问操作系统的行为都只能通过系统调用完成
2.3 操作系统是怎么管理
为了让大家更好理解以学校系统为例。
在学校系统中我们学生是典型的被管理者校长是典型的管理者。
但是我们有天天见到校长吗实际上并没有。因此校长管理者和学生被管理者是不需要见面的。
校长和学生不见面那么校长是如何管理学生的呢
其实校长只需要知道你在学校的数据情况就能实施某种意义上的管理。因此管理的本质通过数据的管理来达到对人的管理。
那么问题来了校长是如何拿到数据的呢
这我们都可以想到通过老师即可。因此管理和被管理之间还有一个老师。
那么老师是管理者吗
有的人想肯定是因此自己天天在学校都是被老师管hh。但是老师并不是管理者。
实际上我们对一个事情的思考分为两种
决策做 or 不做执行做
在整个学校系统中校长是做决策的而老师才是真正意义上的执行者。
通过以上例子我们可以得出一下结论
操作系统 — 管理者驱动程序 — 执行者软硬件资源 — 被管理者
接下来又有一个问题由于学校有成千上万个学生每个年级的老师将学生的数据全部上报数据量太大的时候想要管理者校长做出一个决策是非常困难的。
在学校常见的就是老师发出一个表格给学生来收集信息比如姓名性别年龄电话等。这个过程就是一个描述的过程。当每个老师将这个表整理好以后再给校长
那么校长面对成千上百万张纸如何进行高效的数据管理呢
回想我们一路学习的知识是不是有一门叫做数据结构。
比如我们用一个链式结构也可以是别的数据结构来存储每一个人的信息这就是描述的过程接着我们就可以实例化多个对象。再通过多个函数方法来进行管理这个步骤我们称为组织。
这样的话校长就成功的对学生的管理工作转换成为了对链表的增删改查。
// 描述
struct student
{char _college[]; //学院char _name[]; //姓名char _class[]; //班级......struct student* next;
};【总结】 关于如何管理答案是先描述后组织。同时这就注定了在操作系统中一定存在了大量的数据结构来对数据进行高效的管理。 三、系统调用和库函数 系统调用由于操作系统不相信任何用户就需要有用户操作接口供上层开发使用。库函数库函数将系统调用进行了封装和抽象使得程序员能够更加方便地使用高级接口来完成各种任务而不必关心底层系统调用的具体实现。因此计算机语言都是建立在操作系统上实现的。