🔥个人主页: Milestone-里程碑
❄️个人专栏: <<力扣hot100>> <<C++>><<Linux>>
🌟心向往之行必能至
目录
[1.2 问题](#1.2 问题)
[二 操作系统(Operator System)](#二 操作系统(Operator System))
[2.1 基本概念](#2.1 基本概念)
[2.2 设计OS的目的](#2.2 设计OS的目的)
[2.3 核心功能](#2.3 核心功能)
[2.4 如何理解"管理"](#2.4 如何理解"管理")
[2.5 理解系统调用](#2.5 理解系统调用)
一.冯诺依曼体系结构
计算机 服务器等等,基本都遵守冯诺依曼体系结构

我们所认识的计算机,都是由一个一个硬件组成
• 输⼊单元:包括键盘, ⿏标,扫描仪, 写板等
• 中央处理器(CPU):含有运算器和控制器等
• 输出单元:显⽰器,打印机等
强调
此处存储器指的是内存
所有通过上面的图,我们发起数据只能通过内存与CPU交流,同样CPU只能通过内存与外部交流
所有这就是为什么软件必须先加载,体系结构决定
1.1体系设计的原因
1.我们都知道GPU的运行速度极快,所以如果去掉存储器,直接让GPU与输入与输出设备交流,那么就会出现GPU的大部分时间都在等待数据,运行效率低
(原因在于外部硬件于GPU使用的内存不同)
2.如果为了效率,将外部硬件也使用寄存器,那么成本昂贵(有矿另说),那么使用存储器在中间过渡,可以先将硬盘等设备上的数据先加载到其中
因此,当代的计算机,是性价比的产物
1.2 问题
你给你的好朋友发送吃饭了吗,数据是如何传输的?
首先你先在键盘上输入吃饭了吗,传给存储器,存储器再传给GPU,GPU加密 打包等操作后再传输给输出设备 显示屏(你的聊天界面出现) 网卡
网卡再将信息输出,输入到你好朋友的网卡,再将信息输入给GPU,GPU完成解密,解压等操作后,再将信息输出到显示屏

二 操作系统(Operator System)
2.1 基本概念
任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。
操作系统分为
• 内核(进程管理,内存管理,⽂件管理,驱动管理)
• 其他程序(例如函数库,shell(前面提过)程序等等)
安卓就是使用了Linux的内核

printf的本质是自己把自己的数据写到了硬盘 显示屏
2.2 设计OS的目的
对下,与硬件交互,管理所有的软硬件资源(手段而非目的)
对上,为⽤⼾程序(应⽤程序)提供⼀个良好的执⾏环境(目的)

访问操作系统,就必须调用系统函数--本质就是库,只不过是系统提供
2.3 核心功能
在整个计算机软硬件架构中,操作系统的定位是:⼀款纯正的"搞管理"的软件
2.4 如何理解"管理"
先描述再组织
举例子 校长 :管理者
辅导员:执行者
学生:被管理者
对于成千上万的学生的多项数据,校长先对学生数据进行描述,然后再进行管理,对学生的指令交给辅导员来执行
如:校长就是程序员,辅导员就是操作系统,学生就是数据,程序员先用类 结构体等进行描述,然后再用stl等数据结构进行组织,对数据的增删查改对交给操作系统执行
2.5 理解系统调用
操作系统要向上提供相应的服务,但操作系统又不相信任何人和用户
举例子理解
银行就是一个典型例子,银行要对人们提供服务,但又不相信任何人(不会让你进钱库进行存钱于取钱),而是让你在前台的小窗与工作人员交流操作

