📝 操作系统教程
321篇技术文档📅  最后修改于: 2020-12-15 07:09:33        🧑  作者: Mango
磁盘上的数据结构磁盘上有各种数据结构用于实现文件系统。此结构可能会因操作系统而异。引导控制块引导控制块包含从该卷引导操作系统所需的所有信息。在UNIX文件系统中,它称为引导块。在NTFS中,它称为分区启动扇区。音量控制块音量控制块有关该卷的所有信息,例如块数,每个块的大小,分区表,指向空闲块和空闲FCB块的指针。在UNIX文件系统中,它称为超级块。在NTFS中,此信息存储在主文件表中。目录结构(每...
📅  最后修改于: 2020-12-15 07:10:23        🧑  作者: Mango
内存中的数据结构到目前为止,我们已经讨论了硬盘上必须存在的数据结构,以实现文件系统。在这里,我们将讨论为了实现文件系统而必须存在于内存中的数据结构。内存中的数据结构用于文件系统管理以及通过缓存提高性能。该信息在安装时加载,在弹出时被丢弃。内存安装台内存中安装表包含要安装到系统的所有设备的列表。只要保持与设备的连接,它的条目就会在安装表中完成。内存目录结构缓存这是CPU最近访问的目录列表。列表中存在...
📅  最后修改于: 2020-12-15 07:11:14        🧑  作者: Mango
目录实施可以使用多种算法来实现目录。但是,选择适当的目录实现算法可能会严重影响系统的性能。目录实现算法根据其使用的数据结构进行分类。这些天主要使用两种算法。1.线性清单在这种算法中,目录中的所有文件都保持为单行列表。每个文件都包含指向分配给它的数据块的指针以及目录中的下一个文件。特点创建新文件时,将检查整个列表,以确定新文件名是否与现有文件名匹配。万一它不存在,可以在文件的开头或结尾创建文件。因此...
📅  最后修改于: 2020-12-15 07:12:05        🧑  作者: Mango
分配方法有多种方法可用于为文件分配磁盘空间。选择适当的分配方法将显着影响系统的性能和效率。分配方法提供了一种利用磁盘和访问文件的方式。连续分配。范围链接分配聚类脂肪索引分配链接索引分配多级索引分配索引节点我们将详细讨论三种最常用的方法。...
📅  最后修改于: 2020-12-15 07:12:56        🧑  作者: Mango
连续分配如果以文件的所有逻辑块都获得硬盘中连续物理块的方式将这些块分配给文件,则这种分配方案称为连续分配。在下图所示的目录中,有三个文件。表格中提到了起始块和每个文件的长度。我们可以在表中检查是否已根据需要将连续块分配给每个文件。优点实施起来很简单。我们将获得出色的阅读性能。支持随机访问文件。缺点磁盘将变得碎片化。文件增长可能很困难。...
📅  最后修改于: 2020-12-15 07:13:46        🧑  作者: Mango
链表分配链表分配解决了所有连续分配的问题。在链表分配中,每个文件都被视为磁盘块的链表。但是,分配给特定文件的磁盘块不必在磁盘上是连续的。分配给文件的每个磁盘块都包含一个指针,该指针指向分配给同一文件的下一个磁盘块。优点链接分配不存在外部碎片。可以利用任何空闲块来满足文件块请求。只要有可用的块,文件就可以继续增长。目录条目将仅包含起始块地址。缺点没有提供随机访问。指针在磁盘块中需要一些空间。链表中的...
📅  最后修改于: 2020-12-15 07:14:38        🧑  作者: Mango
文件分配表链表分配的主要缺点是没有提供对特定块的随机访问。为了访问一个块,我们需要访问其所有先前的块。文件分配表克服了链接列表分配的这一缺点。在此方案中,将维护文件分配表,该表将收集所有磁盘块链接。该表为每个磁盘块都有一个条目,并按块号索引。文件分配表需要缓存,以减少头查找次数。现在,磁头无需遍历所有磁盘块即可访问一个连续的块。它只是访问文件分配表,从那里读取所需的块条目并访问该块。这是通过使用F...
📅  最后修改于: 2020-12-15 07:15:31        🧑  作者: Mango
索引分配FAT的局限性现有技术的局限性导致了新技术的发展。到目前为止,我们已经看到了各种分配方法。他们每个人都有几个优点和缺点。文件分配表试图解决尽可能多的问题,但会导致缺点。块数越多,FAT的大小就越大。因此,我们需要为文件分配表分配更多空间。由于文件分配表需要缓存,因此不可能在缓存中拥有足够的空间。在这里,我们需要一种可以解决此类问题的新技术。索引分配方案索引分配方案不是维护所有磁盘指针的文件...
📅  最后修改于: 2020-12-15 07:16:22        🧑  作者: Mango
链接索引分配单级链接索引分配在索引分配中,文件大小取决于磁盘块的大小。为了允许大文件,我们必须将几个索引块链接在一起。在链接索引分配中,小标题,提供文件名前100个块地址的集合指向另一个索引块的指针对于较大的文件,索引块的最后一项是指向另一个索引块的指针。这也称为链接模式。优点:消除了文件大小限制缺点:随机访问变得有点困难多级索引分配在多级索引分配中,我们具有各种级别的索引。有外层索引块包含指向内...
📅  最后修改于: 2020-12-15 07:17:15        🧑  作者: Mango
索引节点在基于UNIX的操作系统中,每个文件都由一个Inode索引。索引节点是随文件系统创建而创建的特殊磁盘块。文件系统中文件或目录的数量取决于文件系统中Inode的数量。索引节点包含以下信息文件的属性(权限,时间戳,所有权详细信息等)多个直接块,其中包含指向文件前12个块的指针。指向索引块的单个间接指针。如果文件不能完全由直接块索引,则使用单个间接指针。指向磁盘块的双间接指针,该磁盘块是指向作为...
📅  最后修改于: 2020-12-15 07:18:06        🧑  作者: Mango
自由空间管理文件系统负责将空闲块分配给文件,因此它必须跟踪磁盘中存在的所有空闲块。主要使用两种方法来管理磁盘中的空闲块。1.位向量在这种方法中,可用空间列表被实现为位图向量。它包含位数,其中每个位代表每个块。如果该块为空,则该位为1,否则为0。最初,所有块为空,因此位图向量中的每个位都包含1。LA进行空间分配后,文件系统开始为文件分配块,并将各个位设置为0。2.链表这是用于自由空间管理的另一种方法...
📅  最后修改于: 2020-12-15 07:19:04        🧑  作者: Mango
磁盘调度众所周知,一个进程需要两种类型的时间,即CPU时间和IO时间。对于I / O,它要求操作系统访问磁盘。但是,操作系统的价格必须足以满足每个请求,并且操作系统必须同时保持流程执行的效率和速度。操作系统用来确定接下来要满足的请求的技术称为磁盘调度。让我们讨论一些与磁盘调度有关的重要术语。寻求时间搜索时间是将磁盘臂定位到将满足读取/写入请求的指定轨道上所花费的时间。旋转延迟这是所需扇区将其自身旋...
📅  最后修改于: 2020-12-15 07:19:55        🧑  作者: Mango
FCFS调度算法它是最简单的磁盘调度算法。它按照IO请求到达的顺序为其提供服务。此算法中没有饥饿,可以处理每个请求。缺点该方案没有优化寻道时间。该请求可能来自不同的过程,因此头部可能会发生不适当的运动。例考虑以下具有100个磁道的磁盘的磁盘请求顺序45、21、67、90、4、50、89、52、61、87、25头指针从50开始并向左移动。使用FCFS调度查找气缸中磁头移动的次数。解机头移动的气缸数=...
📅  最后修改于: 2020-12-15 07:20:46        🧑  作者: Mango
SSTF调度算法最短寻道时间优先(SSTF)算法选择磁盘I / O请求,无论其方向如何,它都需要从其当前位置移动最少的磁盘臂。与FCFS相比,它减少了总搜寻时间。它允许磁头移动到服务队列中最近的轨道。缺点对于某些请求,它可能会导致饥饿。频繁切换方向会减慢算法的工作。它不是最佳算法。例考虑以下具有100个磁道的磁盘的磁盘请求顺序45,21,67,90,4,4,89,52,61,87,25磁头指针从5...
📅  最后修改于: 2020-12-15 09:21:50        🧑  作者: Mango
SCAN和C-SCAN算法扫描算法它也被称为电梯算法。在该算法中,磁盘臂沿特定方向移动到最后,满足路径中的所有请求,然后转回并反向移动,以满足路径中的请求。它以电梯工作的方式工作,电梯完全朝一个方向移动,直到该方向的最后一层,然后回头。例考虑以下具有100个磁道的磁盘的磁盘请求顺序98、137、122、183、14、133、65、78头指针从54开始并向左移动。使用SCAN调度查找气缸中磁头移动的...