软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理

本文主要是介绍软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.磁盘管理

1.1磁盘(了解一下)

1.2读取磁盘数据的时间

1.3 磁盘调度算法

1.3.1常见的磁盘调度

1.3.2 先来先服务(FCFS)

1.3.3 最短寻道时间优先(SSTF)

1.4 例题补充(均来自希赛软考)

1.4.1 单/双缓冲区花销时间的计算

1.4.2 SSTF

1.4.3 磁道物理块花销时间计算

2. IO管理软件

3.文件管理

3.1文件的相关概念(了解一下基本概念,考的非常零散,需自行拓展)

3.2树形目录结构(图片均来自希赛软考)

3.2.1树形目录结构示意图

3.2.2绝对路径、相对路径和全文件名

3.2.3例题

3.3位示图

3.3.1位示图示意图

3.3.2例题

3.3.2.1字个数的计算(考的较多)

3.3.2.2磁盘位置的计算

3.4索引文件

3.4.1索引文件结构

3.4.2例题

4.作业管理(了解一下,近乎不考)

4.1作业管理的过程

4.2常见作业调度算法

4.3作业调度例题(非真题)


1.磁盘管理

1.1磁盘(了解一下)

(1)磁盘示意图(该图片来自希赛软考):

盘面示意图(该图片来自希赛软考):

磁道:磁面上的同心圆,从外向内编号依次递增

扇区:磁道上每个角度的区域可以被定义为一个扇区

柱面:磁盘是有多个盘面的,磁道的公共面就是柱面

(2)存取时间=寻道时间+等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间

1.2读取磁盘数据的时间

(1)读取磁盘数据的时间应包括以下三个部分:

找磁道的时间

找块(扇区)的时间,即旋转延迟时间

传输时间

(2)例题

某磁盘磁头从一个磁道移至另一个磁道需要10 ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的

旋转延迟时间及传输时间分别为100 ms和2 ms,则读取一个100块的文件需要(20200)ms时间。

解析:(10 * 10 + 100 + 2) * 100

1.3 磁盘调度算法

1.3.1常见的磁盘调度

①先来先服务(FCFS):谁先申请就先响应谁

②最短寻道时间优先(SSTF):选择剩下申请中,响应距离目前磁道数最近的申请

③扫描算法(SCAN):也叫电梯算法,双向扫描的过程,扫描从最外到最内,从最内到最为的所有请求。往返移动

④循环扫描(CSCAN)算法:单向,固定由外向内或由内向外扫描

1.3.2 先来先服务(FCFS)

示意图如下(该图片来自希赛软考):

1.3.3 最短寻道时间优先(SSTF)

示意图如下(该图片来自希赛软考):

1.4 例题补充(均来自希赛软考)

1.4.1 单/双缓冲区花销时间的计算

(1)题目

(2)图解

(3)文字解析

1.4.2 SSTF

磁头号,扇区号不用管,考试不要求掌握,仅看柱面号就行(把其当做磁道号来看),根据SSTF,选B,①⑤和⑤①都是对的,只不过题目中没有①⑤相关选项,②④和④②也一样

1.4.3 磁道物理块花销时间计算

(1)题目

(2)图解

左边为最长时间的情况,右边为优化后的情况

(3)文字解析

①最长的情况:当R0读取和处理完成后花了6 ms,已经错过了R1,只能花30 ms绕过来,再花6 ms读取和处理,后面的也一样,所以,6 + 10 * (30 + 3 + 3) = 366

②优化后的情况:读取和处理一个物理块后又能直接顺序读取下一个物理块,只花两圈即可,33 * 2 = 66

2. IO管理软件

该图片来自希赛软考

考点:①清楚上图的分层关系②了解中间三层的作用是为了屏蔽硬件,使其能与用户进程中的上层软件做交互

3.文件管理

3.1文件的相关概念(了解一下基本概念,考的非常零散,需自行拓展)

(1)文件

文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。

逻辑结构:有结构的记录式文件、无结构的流式文件。

物理结构:连续结构、链接结构、索引结构、多个物理块的索引表。

(2)文件目录

(3)例题

答案:A

因为目录涉及多个文件,影响范围最广

3.2树形目录结构(图片均来自希赛软考)

3.2.1树形目录结构示意图

注:其中的"/"为盘符

3.2.2绝对路径、相对路径和全文件名

以上图为例

3.2.3例题

答案:C和B

3.3位示图

3.3.1位示图示意图

注:字默认从1开始,位默认从0开始,题目一般也会有说明

3.3.2例题
3.3.2.1字个数的计算(考的较多)

该图片来自希赛软考

答案:D

解析:①求磁盘的个数:300 GB/1 MB = 300 * (2 ^ 10)

②求字的个数:字长为32位,可表示32个磁盘,那么字的个数 = (300 * (2 ^ 10)) / 32 = 9600

3.3.2.2磁盘位置的计算

题目:基于3.3.2.1,求第2054个磁盘的位置,给出的位示图如下:

答案:第65个字的位置(编号64),第6个比特位(编号5)

解析:①2054 ÷ 32 = 64 …… 6

②由于余数不为0,故第64个字容不下它,磁盘位于第65个字,编号从0开始,因此编号为64

③余数为6,故位于第6个比特位,编号从0开始,因此编号为5

3.4索引文件

3.4.1索引文件结构

如下图,该图片来自希赛软考:

注:①unix系统的默认索引节点个数为13

②索引节点默认从0开始

③索引最后指向的每个物理块代表一个逻辑页,且从上到下逻辑页是顺序的,虽然物理块是任意的

③指向物理块的索引是要占空间的,假设一个物理块的容量是1 KB,索引的大小为4 B,那么一个物理块包含256个索引

④磁盘访问次数:直接索引一次,一级索引两次,以此类推

⑤类似下图:

3.4.2例题

答案:D,D

解析:①第一个空,题目直接白给,因为0到4为直接索引,所以0到4号逻辑页由直接索引访问,逻辑块5同样的道理

②第二个空:

已知物理块/磁盘数据块大小为1 KB

前五个直接索引贡献5个逻辑页:5 * 1 KB

中间两个一级索引贡献2 * 256个逻辑页:2 * 256 * 1 KB

最后一个二级索引贡献256 * 256个逻辑页:256 * 256 * 1 KB

所以可表示的最大文件长度为三者相加

4.作业管理(了解一下,近乎不考)

4.1作业管理的过程

4.2常见作业调度算法

①先来先服务法:谁先申请就先执行谁

②时间片轮转法:将CPU按时间划分成一些资源,按时间片来轮转执行,当时间片到就执行下一个作业

③短作业优先法:会将作业的时间记录下来,谁的时间短就先执行谁

④最高优先权优先法:给作业标注优先权,优先响应优先权高的作业,默认所有作业的优先权是一样的

⑤高响应比优先法:会将相应作业的响应比求出来,谁的响应比高就执行谁

4.3作业调度例题(非真题)

以下均来自希赛软考

(1)题目

答案:B

(2)题解

在6 : 00时,J1已经提交执行,由于其需要运行30分钟,所以6 : 30之后才能让其它程序执行(优先级默认一样,不会出现其它作业抢占的情况),然而在6 : 20和6 : 25的时候,J2和J3,提出了申请,J2的响应比为(10 + 20) / 20 = 1.5,而J3的响应比为(5 + 6) / 5 > 1.5,故J3先执行

上一篇:软件设计师学习笔记10-死锁资源数计算+进程资源图+段页式存储

这篇关于软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161081

相关文章

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果