操作系统
文章平均质量分 81
老铁头不铁
这个作者很懒,什么都没留下…
展开
-
操作系统实战(十四)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码原创 2021-09-10 19:35:20 · 220 阅读 · 0 评论 -
操作系统实战(十三)
如何处理内核I/O包一、什么是I/O包1.创建和删除I/O包2.向设备发送I/O包二、驱动函数实例1.systick设备驱动程序的整体框架2.systick设备驱动程序的入口3.配置设备和驱动4.打开和关闭设备5.systick 设备中断回调函数 一、什么是I/O包 I/O包就是内核要求设备完成的各种参数封装在一个数据结构中。这样就可以统一驱动程序功能函数的形式了。 objnode_t的数据结构中包括了各个驱动程序功能函数的所有参数。 1.创建和删除I/O包 创建I/O包就是在内存中建立objnode_t结原创 2021-09-08 16:42:03 · 101 阅读 · 0 评论 -
操作系统实战(十二)
内核中注册设备一、设备的注册流程二、驱动程序表三、运行驱动程序1.1调用驱动程序入口函数五、设备与驱动的联系六、向内核注册设备七、安装中断回调函数八、驱动加入内核 一、设备的注册流程 1.操作系统会收到一个中断。 2.USB总线驱动的中断处理程序会执行。 3.调用操作系统内核相关的服务,查找USB鼠标对应的驱动程序。 4.操作系统加载驱动程序。 5.驱动程序开始执行,向操作系统内核注册一个鼠标设备。对于安装在主板上的设备,操作系统会枚举设备信息,然后加载驱动程序,让驱动程序创建并注册相应的设备,同时也可以手原创 2021-09-08 10:08:01 · 145 阅读 · 0 评论 -
操作系统实战(十一)
如何表示设备类型和设备驱动一、计算机的结构二、如何管理设备?1.分而治之2.设备分类3.设备驱动1.设备2.驱动3.设备驱动的组织4.驱动程序功能 一、计算机的结构 芯片并非独立存在,而是以总线为基础链接在一起的,相互配合,共同实现用户的要求的功能。 总线有层级关系,各种设备通过总线相连。 二、如何管理设备? 1.分而治之 每个设备对应一个设备控制代码模块,操作系统内核要控制哪个设备,就加载相应的设备代码模块,以后如果不使用这个设备,就可以删除对应的设备控制代码模块。 2.设备分类 操作系统内核所感知的设原创 2021-09-07 21:42:57 · 754 阅读 · 0 评论 -
操作系统实战(九)(Linux)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 伙伴系统(buddy system)如何分配内存前言一、如何表示一个页?二、如何表示一个区三、怎样表示一个内存节点1.`NUMA`--Non-Uniform Memory Access(非一致性内存访问)三、数据结构之间的关系四、伙伴系统五、分配页面六、通过接口找到内存节点七、开始分配1.准备分配页面的参数2.Plan A:快速分配路径3.Plan B:慢速分配路径4.如何分配内存页面 前言 Linux操作系统是如何实现内存管理的? 在L原创 2021-09-03 19:25:43 · 182 阅读 · 0 评论 -
操作系统实战(八)
实现进程的等待与唤醒机制一、进程的等待与唤醒1.进程等待结构2、进程等待3.进程唤醒4.空转进程5.建立空转进程6.空转进程运行 一、进程的等待与唤醒 1.进程等待结构 需要设计一种数据结构,用于挂载等待的进程。 2、进程等待 让进程进入等待状态就是调用函数,在这个函数中会设置进程状态为等待状态,让进程从调度系统数据结构中脱离,最后让进程加入到kwlst_t等待数据结构中。一个进程想要进入等待状态,只需要调用这个函数。 3.进程唤醒 进程唤醒是进程等待的反向操作行为,即从等待数据结构中获取进程,然后设置进原创 2021-08-30 19:07:43 · 209 阅读 · 0 评论 -
操作系统实战(七)
多进程调度(一)一、为什么需要多进程调度?二、管理进程1.进程的生命周期二、如何组织进程三、管理进程的初始化四、设计实现进程调度器1.进程调度的入口2.如何获取当前运行的进程3.选择下一个进程4.获取空转进程4.进程切换 一、为什么需要多进程调度? CPU同一时刻只能运行一个进程,而CPU个数总是比进程个数少,这就需要多进程公用一个CPU,每个进程在这个CP运行一段时间。 当一个进程不能获取某种资源,导致不能继续运行,就需要让出CPU。进程拿不到资源就需要让出CPU。 示例:pandas 是基于NumP原创 2021-08-30 17:08:28 · 143 阅读 · 0 评论 -
操作系统实战(四)
划分组织内存一、分段还是分页1、从表示方式和状态确定角度考虑2、从内存碎片利用率看3、从内存和硬盘的数据交换效率看一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 一、分段还是分页 1、从表示方式和状态确定角度考虑 段的长度大小不同。 页的大小固定,只需要位图就能表示页的分配与释放。 2、从内存碎片利用率看 由于段的长度大小不一,更容易产生内存碎片。 页的大小固定分配的最小单位是页,页也会产生碎片。可以通过修改页表的方式,将连续的虚拟页面映射到非连续的物理页面。 3、从内存和硬盘的数据交换效原创 2021-08-25 21:56:46 · 83 阅读 · 0 评论 -
操作系统实战(三)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码原创 2021-08-20 19:45:02 · 421 阅读 · 0 评论