デバイス管理
P294の5ページ、7つの質問。
5。
シリンダ番号5、(2、3)、4で既知のスケジューリング順
ヘッドスケジューリング5,3によって見られるシーケンス番号、(1,2)、4
これは、セクタ番号5,3,2,1,4のスケジューリング順から見ました
起こった順番をスケジュール5,3,2,1,4ディスク回転数を合計するには
7。
まずアルゴリズム(FCFS)を果たす最初に来ます:
(143から86)+(147から86)+(177から91)+(177から94)+(150から94)+(150から102)+(175から102)+(175から130)= 565
最短時間は限らアルゴリズム(SSTF)で検索:
(147から143)+(150から147)+(150から130)+(130から102)+(102から94)+(94から91)+(91から86)+(175から86)+(177 -175)= 162
スキャンアルゴリズム:
(147から143)+(150から147)+(175から150)+(177から175)+(199から177)+(199から130)+(130から102)+(102から94)+(94 -91)+(91から86)= 169
エレベータースケジューリングアルゴリズム:
(147から143)+(150から147)+(175から150)+(177から175)+(177から130)+(130から102)+(102から94)+(94から91)+(91 -86)= 125
仮想ストレージ・マネージャー
1、
2、
ページング・ストレージ管理、ストレージ管理セグメント
図で表さ連想メモリアドレス変換プロセス、1.。
2.管理ページング管理を詳述するセグメント間の差。
セグメントは、情報の論理単位、すなわち、論理構造は、ソースプログラムの意味によって決定され、ユーザに表示され、ユーザによって要求されるセグメントの長さを決定し、開始アドレスセグメントは、任意のメモリアドレスで開始してもよいです。段階的に、ソース(セグメント番号、変位の長さ)は、モジュラー設計を導入するユーザオブジェクトのニーズを満たすため、二次元(アドレス)構造によるリンクアセンブリ後に残ります。
ページングに関係なく、ソースの論理構造の情報の物理的な単位であり、ユーザには見えない、ページの長さは、ページサイズの整数倍からシステム(ハードウェア)、ページのみ開始アドレスによって決定されます。ページング・モードでは、リンク・アセンブリを介してソース(ページ番号、業界変位)は一次元(アドレス)構造、離散的な分配及び改良されたメモリ使用率を達成する目的の導入となります。
3.P249は11を行使する。
(1)649
(2)1727年
(3)2301
(4)140
(5)1956年
存储管理
1.试述计算机系统中的存储器层次。为什么要配置层次式的存储器?
计算机系统的存储器层次结构自上而下依次分为:寄存器、缓存、内存、磁盘、磁带5层
寄存器、缓存和内存属于操作系统存储管理的管辖范畴,磁盘和磁带属于文件管理和设备管理的管辖对象
配置层次式的存储器可以加快地址转换速度,提高程序执行速度。多层次的存储体系十分有效和可靠,能达到很高的性价比
2.简述不同编译、链接、装载与地址定位过程
编译:编译器将源程序转换成可重定位代码。其有三个逻辑地址块:代码段(机器指令块),数据段(静态变量块),栈段(表示程序执行时使用的栈)。
链接:链接程序的作用是根据目标模块之间的调用和依赖关系,将主调模块、被调模块以及所用到的库函数装配和链接成一个完整的可装载执行模块。根据程序链接发生的时刻和连接方式,程序链接可分成三种:静态链接,动态链接和运行时链接
装载:装载程序把可执行程序装入内存的方式有三种
(1)绝对装载:装在模块中的指令地址始终与其内存中的地址相同,即在模块中出现的所有地址都是内存绝对地址
(2)可重定位装载:根据内存当时使用情况,决定将装载代码模块放入内存的物理地址。模块内使用的地址都是相对地址
(3)动态运行装载:为提高内存利用率,装入内存的程序可换出到磁盘上,适当时候再换入到内存中,对换前后程序在内存中的位置可能不同,即允许进程的内存映像在不同时候处于不同位置,此时模块内使用的地址必为相对地址。
地址定位:可执行程序逻辑地址转换(绑定)为物理地址的过程称为地址重定位、地址映射或地址转换,可区分为三种地址重定位:静态地址重定位、动态地址重定位和运行时链接地址重定位。
3.什么是逻辑地址、物理地址?什么是静态地址重定位、动态地址重定位?
逻辑地址:指由程序产生的与段相关的偏移地址部分。有时我们也把逻辑地址称为虚拟地址
物理地址:物理内存,真实存在的插在主板内存槽上的内存条的容量的大小。内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)。我们可以把内存看成一个从0字节一直到内存最大容量逐字节编号的存储单元数组,即每个存储单元与内存地址的编号相对应。
静态地址重定位:由装载程序实现装载代码模块的加载和地址转换,把它装入分配给进程的内存指定区域,其中的所有逻辑地址修改成内存物理地址,称静态地址重定位
动态地址重定位:由装载程序实现装载代码模块的加载,把它装入分配给进程的内存指定区域,但对链接程序处理过的应用程序的逻辑地址则不做任何修改,程序内存起始地址被置入硬件专用寄存器——重定位寄存器。程序执行过程中,每当CPU引用内存地址时,由硬件截取此逻辑地址,并在它被发送到内存之前加上重定位寄存器的值,以便实现地址转换,称动态地址重定位
4.固定分区管理的缺点是什么?
(1)由于预先已规定分区大小,使得大作业无法装入,用户不得不采用覆盖等技术加以补救,这样不但加重用户负担,而且极不方便。
(2)内存空间利用率不高,作业很少会恰好填满分区。
(3)如果一个作业在运行过程中要求动态扩充内存空间,采用固定分区是相当困难的。
(4)分区数目是在系统初启时确定的,这就会限制多道运行程序的道数,特别不适应分时系统交互型用户及内存需求变化很大的形情。
5.简述固定分区存储管理和可变分区存储管理的区别
固定分区存储管理:分区大小是事先固定的,因而可容纳作业的大小受到限制,而且当用户作业的地址空间小于分区的存储空间时,造成存储空间浪费。
可变分区存储管理:不是预先将内存划分分区,而是在作业装入内存时建立分区,使分区的大小正好与作业要求的存储空间相等。这种处理方式使内存分配有较大的灵活性,也提高了内存利用率。但是随着对内存不断地分配、释放,操作会引起存储碎片的产生
#include<stdio.h>
main(void)
{
char c1,c2;
c1=getchar();
printf("%c,%d\n",c1,c1);
c2=c1+21;
printf("%c,%d\n",c2,c2);
return 0;
}
在串行运行时,系统资源被单个进程独占。当进程读取或写入磁盘文件时,CPU处于空闲状态,等待I/O完成,这会导致大量的资源和时间浪费。当进程等待I/O结果时,它可以自动阻塞。此时,CPU可以选择另一个准备好的进程来执行,从而提高系统的效率,增加系统的吞吐量,提高系统交互的性能。