操作系统刷题(十)

来源:互联网 发布:茅台防伪溯源软件下载 编辑:程序博客网 时间:2024/05/17 08:15

1.一个目录下文件夹和目录不能重名,因为文件夹也是文件。

2.虚拟存储器,虚拟存储和交换内存

先说虚拟存储器,CSAPP上介绍的是虚拟存储器是对主存的抽象概念,为每一个进程提供了一致的地址空间形式,也就是虚拟地址空间(这个地址空间不是用什么数组存起来的,而是CPU要访问内存就产生一个虚拟地址,不断累积组成的虚拟地址空间),它是一种机制,一种将主存抽象成磁盘高速缓存的技术。当初构造虚拟存储器的两个主要动机:允许在多道程序之间有效而安全地共享存储器;消除一个小而受限的主存容量对程序设计造成的影响。40年后,第一条变成了主要设计动机。现代操作系统都支持虚拟存储器,所有的应用程序访问内存都需要地址翻译。

虚拟内存和交换空间,window下的“虚拟内存”实际上是存在磁盘上的页面文件,和Linux的交换空间概念一样,都是物理上实际存在的东西,如果内存够用,没有缺页,你禁掉这两个东西不会影响虚拟存储器;然而撇开操作系统,只谈理论,虚拟内存还是一种技术,它允许执行进程不必完全放在内存中。这两种其实都属于交换技术,交换技术除了因为内存紧张要使用之外,还有在一些操作系统如分时系统中为了改善进程组合(CPU密集型和IO密集型)也要用它进行中期调度。

3.spooling技术:

Spooling技术:利用高速共享设备(通常是磁鼓或者是磁带)将低速的独享设备模拟为高速的共享设备,这样,从逻辑上讲,计算机系统为每一个用户都分配了一台独立的高速独享设备

SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。


     SPOOLing系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转储技术。

      它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。

     以打印机为例:若系统的某台打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘)上的输出,SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。
     将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。


     SPOOLing技术的特点: 
(1)提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾. 
(2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表. 
(3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备. 


4.虚拟存储技术受到计算机地址位数影响最大。

5.进程组成部分:程序段、数据段和PCB



原创粉丝点击