“File Management”的版本间差异

来自osdev
跳到导航 跳到搜索
(创建页面,内容为“{{Stub}} {{Tone}} {{FirstPerson}} monolithic kernel 在单一mono (因此得名) 过程中处理一切。 而 Microkernel 由几个负责所有繁重工作的进程组成: 分配内存,管理进程 - 和管理永久数据存储,如硬盘或软盘。 这真是 文件系统相关的话题。 举例说,我们有一个文件系统服务。 它负责将文件系统的最新状态保存在软盘/HD(并最终还会有管道处理等..…”)
 
 
第3行: 第3行:
{{FirstPerson}}
{{FirstPerson}}


[[monolithic kernel]] 在单一mono (因此得名) 过程中处理一切。 而 [[Microkernel]] 由几个负责所有繁重工作的进程组成: 分配内存,管理进程 - 和管理永久数据存储,如硬盘或软盘。 这真是 [[File Systems| 文件系统]]相关的话题。
[[monolithic kernel|单内核]]在单一mono (因此得名) 过程中处理一切。 而[[Microkernel|微内核]]由几个负责所有繁重工作的进程组成: 分配内存,管理进程 - 以及管理永久数据存储,如硬盘或软盘。 这正是[[File Systems|文件系统]]相关的话题。


举例说,我们有一个文件系统服务。 它负责将文件系统的最新状态保存在软盘/HD(并最终还会有管道处理等...)上  文件系统服务最基本的基本任务是跟踪已分配/未分配的块以及 (在ext2的情况下) 分配块的inode文件 - 此外你还需要对文件/块(file/block)管理的块。 文件系统服务通常执行的另一项任务是将块保存在内存中以便快速访问。 与简单的内存访问相比,从磁盘存储中检索的速度很慢。 所以文件系统服务需要保留所谓的块缓存。 现在,设想一下出现了这些情况: 你使用分页,你将文件系统服务作为独立进程。 它获取块并将其保留在其地址空间中。
举例说,我们有一个文件系统服务(file system service)。 它负责将文件系统的最新状态保存在软盘/HD(并最终还会有管道处理等...)上  文件系统服务最基本的基本任务是跟踪已分配/未分配的块以及 (在ext2的情况下)说明文件是由那些块分配而成的inodes - 此外你还需要对文件/块(file/block)管理的块。 文件系统服务通常执行的另一项任务是将块保存在内存中以便快速访问。 与简单的内存访问相比,从磁盘存储中检索的速度很慢。 所以文件系统服务需要保留所谓的块缓存。 现在,设想一下出现了这些情况: 你使用了分页,同时将文件系统服务作为独立进程。 它获取块并将其保留在其地址空间中。


你必须做大量的工作来将检索到的块数据传输到执行read() 调用的用户进程中-write()反之亦然。
你必须做大量的工作来将检索到的块数据传输来执行read(),而调用的用户进程中-write()则与之相反。


总之,在内核空间中需要有一个任务负责保存块缓存并执行实际的读/写操作。
总之,在内核空间中需要有一个任务负责保存块缓存并执行实际的读/写操作。


[[Category:Filesystems]]
[[Category:Filesystems]]

2022年4月2日 (六) 04:00的最新版本

This article is a stub! 此页面或段落为 草稿。 你可以通过更精确的编辑贡献 来帮助本wiki。

本文的语气或风格 可能无法反映整个wiki使用的百科全书式语气。 有关建议,请参阅 Wikipedia's article on tone

本页面或章节指其读者或编者使用人称 , 我的, 我们 或者 我们的。 用encyclopedic百科全书式的语言风格进行编辑

单内核在单一mono (因此得名) 过程中处理一切。 而微内核由几个负责所有繁重工作的进程组成: 分配内存,管理进程 - 以及管理永久数据存储,如硬盘或软盘。 这正是文件系统相关的话题。

举例说,我们有一个文件系统服务(file system service)。 它负责将文件系统的最新状态保存在软盘/HD(并最终还会有管道处理等...)上 文件系统服务最基本的基本任务是跟踪已分配/未分配的块以及 (在ext2的情况下)说明文件是由那些块分配而成的inodes - 此外你还需要对文件/块(file/block)管理的块。 文件系统服务通常执行的另一项任务是将块保存在内存中以便快速访问。 与简单的内存访问相比,从磁盘存储中检索的速度很慢。 所以文件系统服务需要保留所谓的块缓存。 现在,设想一下出现了这些情况: 你使用了分页,同时将文件系统服务作为独立进程。 它获取块并将其保留在其地址空间中。

你必须做大量的工作来将检索到的块数据传输来执行read(),而调用的用户进程中-write()则与之相反。

总之,在内核空间中需要有一个任务负责保存块缓存并执行实际的读/写操作。