上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 41 下一页
摘要: 上节课,已经设计好了文件系统数据结构,相当于建好了仓库的基本结构。 本节将来探索仓库的划分,即什么地方存放仓库的管理信息,什么地方存放进程的“劳动成果”(也就是文件),对应于文件系统的格式化操作。 先来实现文件系统设备驱动,接着建立文件系统超级块,然后建立根目录,最后建立文件系统的位图 文件系统设备 阅读全文
posted @ 2022-06-12 21:03 牛犁heart 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 进程加工处理的数据就是进程的劳动成果,这个“劳动成果”如何表示、如实组织、又放在哪里呢?这些问题都会在讲解文件系统的过程中得到解答 先来搞清楚什么是文件系统,然后解决文件系统如何组织文件,最后对文件系统进行设计并抽象成数据结构。 什么是文件系统 我们经常在计算机上听 APE 音乐、看 4K 视频、阅 阅读全文
posted @ 2022-06-12 18:04 牛犁heart 阅读(1315) 评论(0) 推荐(0) 编辑
摘要: 本节了解下Linux是如何管理设备的,将从Linux如何组织设备开始,然后研究设备相关的数据结构,最后写一个Linux设备驱动实例。 感受一下Linux下的设备信息 Linux的设计哲学是一起皆是文件,各种设备在Linux系统下都是一个个文件,但这个文件并不对应磁盘上的数据文件,而是对应存在内存当中 阅读全文
posted @ 2022-06-11 19:47 牛犁heart 阅读(2854) 评论(0) 推荐(0) 编辑
摘要: 操作系统:设备I/O -- 设备如何处理内核I/O包 上一讲实现了建立设备的接口,相当于制定了部门的相关法规,只要遵循这些法规就能建立一个部门。一个部门的职责不难确定,它应该能对上级下发的任务作出响应,并完成相关工作,而这对应到设备,就是如何处理内核的I/O包。 首先,需要搞清楚什么是I/O包,然后实现内核向设备发送I/O包的工作,最后完成一个驱动实例 阅读全文
posted @ 2022-06-11 18:34 牛犁heart 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 在上节课里,我们对设备进行了分类,建立了设备与驱动的数据结构,同时也规定了一个驱动程序应该提供哪些标准操作方法,供操作系统内核调用。这相当于设计了行政部门的规章制度,一个部门叫什么,应该干什么,这些就确定好了。 本节继续探索部门的建立,也就是设备在内核中是如何注册的。我们先从全局了解一下设备的注册流 阅读全文
posted @ 2022-06-11 09:59 牛犁heart 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 计算机的结构 计算机结构示意图: 主板上的各种芯片并非独立存在,而是以总线为基础连接在一起的,各自完成自己的工作,又能相互打配合,共同实现用户要求的功能。 如何管理设备 前面的学习中宏,实现了管理内存和进程,其实进程从正面看它是管理应用程序的,反过来看它也是管理CPU的,它能使CPU的使用率达到最大 阅读全文
posted @ 2022-06-10 07:48 牛犁heart 阅读(352) 评论(0) 推荐(0) 编辑
摘要: Linux如何表示进程 在Cosmos中,设计了一个thread_t数据结构来代表一个进程,Linux也同样是用一个数据结构表示进程。 Linux进程的数据结构 在Linux系统下,把运行中的应用程序抽象成一个数据结构task_struct,一个应用程序所需要的各种资源,如内存、文件等都包含在tas 阅读全文
posted @ 2022-06-10 07:09 牛犁heart 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 上节我们设计了Cosmos的进程调度器,但只有进程调度器是不够的,因为调度器它始终只是让一个进程让出CPU,切换到它选择的下一个进程上去。 结合进程生命周期,在多进程调度方面,还需要实现进程的等待与唤醒机制 进程的等待与唤醒 进程得不到所需的资源时就会进入等待状态,直到这种资源可用,才会被唤醒。那进 阅读全文
posted @ 2022-06-09 07:44 牛犁heart 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 为什么需要多进程调度 1、CPU 同一时刻只能运行一个进程,而 CPU 个数总是比进程个数少,这就需要让多进程共用一个 CPU,每个进程在这个 CPU 上运行一段时间。 2、当一个进程不能获取某种资源,导致它不能继续运行时,就应该让出 CPU。 也可将第1点中的CPU时间视为一种资源,这样可以合并成 阅读全文
posted @ 2022-06-07 23:26 牛犁heart 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 本节将了解操作系统里一个层次非常高的组件--进程,它非常依赖于内存管理、中断、硬件体系结构 在Linux终端中输入ps命令,就可以看到系统中有多少个进程,它会打印出具体进程的数据,如创建进程和用户、进程ID、使用CPU的百分比,进程运行状态,进程的建立时间、进程的运行时间、进程名等,这些数据综合起来 阅读全文
posted @ 2022-06-05 23:40 牛犁heart 阅读(304) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 41 下一页