Linux(9)操作系统
linux 之 操作系统冯若依曼体系体系结构理解数据流动操作系统什么是操作系统理解操作系统的调用系统调用的接口冯若依曼体系体系结构要理解进程首先就需要了解操作系统五大组件○ 输入设备 如键盘鼠标话筒摄像头,…网卡磁盘○ 输出设备 如显示器磁盘网卡打印机…○ CPU运算器控制器○ 存储器 如内存○ 磁盘 如外存读文件写文件 I/OCPU,内存与外设的核心关系软件运行必须先加载到内存。在没有运行之前文件是存储在磁盘上的CPU获取写入只从内存中来进行软件运行CPU访问代码访问数据这就是体系结构规定CPU数据获取核心CPU是不能直接把数据输入到外设的要通过缓冲区来进行刷新。这就是为什么有缓冲去的原因。这也是体系结构规定的。本质上就是从一个设备拷贝到另一个设备所以体系结构的效率由设备的拷贝效率决定。加载数据的本质就是I/O操作结论在数据层面CPU只和内存大交道。反之外设只和我们的内存打交道为什么这个结构要有内存呢我们可以直接用CPU不就行了嘛1输入输出设备运算效率与CPU的运算效率不匹配 CPU是纳秒级别。这时候就会发生CPU进行等待外设进行获取信息返回大大降低了效率2为了平衡这个效率那么引入内存进行对CPU与输入输出设备进行一个效率适配的问题也就是缓冲的过程理解数据流动数据流动图如果是文件上传磁盘文件本质就是把文件搬到内存中然后执行程序代码、、操作系统什么是操作系统狭义上的操作系统内核进程管理内存管理文件管理驱动管理)广义上要加上其他程序(如库函数,shell程序…)设计OS目的宏观理解在硬件层面上我们的设备要安装驱动才能进行操作。再驱动程序之上有操作系统:所以向下可以进行对硬件进行管理起来不是目的是手段。主要是给用户提供良好的运行环境。对上提供稳定的运行环境。给用户提供的途径。总结软硬件体系结构狭义芯片结构 1.层状结构硬件-操作系统-软件层状结构高内聚--把相同功能相同逻辑的代码放到一起低耦合--层跟层之间这本质就是调用接口来实现低耦合 如改了硬件但是操作系统和软件都不用变这个操作就叫做高内聚低耦合 2.访问操作系统必须要使用系统调用---其实就是函数只不过是操作系统不允许我们进行直接访问内存必须要使用操作系统封装的C语言代码来进行访问。 3.我们程序只要你判断它访问了硬件那么它必须贯穿整个软硬件体系结构如printf实现打印到显示器上那么它的底层坑定封装了系统调用然后操作系统进行访问对应的硬件驱动再打印到显示器上的。 4.库可能在低层封装了系统调用○是什么在整个软硬件中是一个承上启下的作用,就是管理软硬件的系统。如何理解”管理”角色管理者 校长中间者 辅导员被管理者 学生事情1.决策2.执行场景上管理者拥有决策权 操作系统中间者 执行 驱动程序被管理者 实现决策 底层硬件管理根据 “数据”进行管理 如获取这个被管理者的数据然后获取特征来进行决策通俗理解操作系统获取数据进行决策数据通过中间层驱动获取然后被管理者执行操作那么在计算机中怎么进行管理所有数据呢这时候就需要用到结构体了这个结构提包含了所有被管理者的特征信息。然后可以在结构体中存储指针struct stu* next 指针 进行构成链表划时代的操作这时候我们管理数据就可以转变成链表的增删查改这时候管理者管理的操作-建模的过程-先描述(struct)在组织所有数据结构这样管理者就可以进行对任何场景进行管理所以操作系统怎么对进程进程进行管理先描述对进程struct进行属性设置在通过组织不同数据结构理解操作系统的调用系统调用的接口操作系统不会把自己的内容随便交给别人不相信用户或者人但是又要对用户提供服务系统调用: fork waitpid …系统调用的本质其实就是系统与用户的交互我们访问系统的时候是什么都不知道的需要了解各种参数信息。所以系统给我们封装了库函数外壳图形化界面指令等一系列操作帮助我们进行对操作系统的操作结论系统调用是我们操作系统提供的一些接口帮助我们上层开发使用系统调用使用上功能比较基础对于用户的要求相对也比较高所以开发者基于系统调用进行封装为库从用库来方便我们二次开发库函数---------------------------------上层系统调用------------------------------下层操作系统概念就先介绍到这里之后会进行对进程概念更新
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2461000.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!