zoukankan      html  css  js  c++  java
  • 操作系统

    • 操作系统,设计目标,功能,特征,类型? 

    操作系统是为了用户能够方便的使用计算机软硬件资源而设计的系统软件。操作系统的设计目标有

    1. 方便性,提供方便,统一的用户接口。
    2. 有效性,管理各种软硬件资源,组织工作流程,提高工作效率。
    3. 可扩展性,为了匹配硬件及计算机体系结构的不断发展,操作系统应能够扩展各种功能。

    操作系统具有 处理机管理,存储器管理,设备管理,文件管理,用户接口的功能。
    操作系统具有并发性,共享性,虚拟性,异步性。
    操作系统有,批处理系统,分时系统,实时系统,单用户系统,网络系统,分布式系统。

    • 什么是微内核?

    微内核操作系统可以有效的支持多处理机的环境,非常适合分布式系统。

    1. 微内核有足够小的内核,不是操作系统的全部,而是操作系统的一部分。
    2. 采用C/S模式,将操作系统的一部分放入微内核,将操作系统的大部分放入微内核外部的一组服务器中。
    3. 采用“机制和策略分离”,一般将机制放在内核底层,将策略放在内核高层。而在微内核中将机制放入微内核。这样才使微内核足够小。
    4. 采用面向对象的设计技术

    功能:进程管理,存储器管理,中断处理。
    优势:可扩展,高可靠,可移植,支持分布式,面向对象。

    • 操作系统中硬实时和软实时?

    硬实时系统是一个刚性的,不可改变的时间限制,不允许任何超时的错误。软实时的时限可以是柔性灵活,可以容忍偶然的时限错误。

    • 系统调用,及过程。

    系统调用是应用程序与操作系统之间的接口。应用程序可以通过系统调用进行通信,获得操作系统的服务。系统调用不仅仅面向应用程序,也面向OS中的其它部分。如命令处理程序。

    系统调用是OS为了扩充机器功能,增强系统能力,方便用户使用而建立。是用户编程时与操作系统之间交互的接口。
    系统调用的处理步骤,
    首先由用户态转为系统态,再由硬件和内核执行处理程序。保护被中断的CPU环境,处理机状态字PSW,程序计数器PC,系统调用号,用户栈指针,通用寄存器内容等压入堆栈。再由用户定义的参数放到指定的地址保存起来。
    然后,分析系统调用类型,转去执行相应的系统调用处理子程序。
    最后,在系统调用处理子程序执行完毕后,返回被中断的CPU现场,再返回中断进程或新进程。

    • 为什么有用户态,核心态?什么时候用户态转为核心态

    限制不同程序之间的访问能力,CPU划分出两个权限等级,用户态,核心态。

    当系统发生中断,异常,系统调用,执行特权指令均可由用户态转为核心态。

    • 总的来说,操作系统提供的服务可以分为哪两类?

    第一类是OS为各个并发执行的进程提供保护功能。各个进程只能访问各自的存储空间,不允许破坏其它用户占有的文件,进程访问各设备只能通过操作系统的干预。

    第二类是指扩展机器功能,为用户提供服务。如虚拟存储管理,文件系统。

    • 参数在操作系统之间的传递有哪些方式?

    通过寄存器来传递参数;将参数的地址放置寄存器中,再传递;由程序将参数地址压入堆栈,操作系统再将参数弹出堆栈;

    • 操作系统为用户提供哪些接口?区别是?

    为用户提供了命令级接口,供用户组织和控制作业的执行以及管理计算机系统。程序级接口,编程人员使用系统调用请求操作系统来提供服务。

    • 分时系统,实时系统特点及区别?

    分时系统特点

    1. 多路性,多个用户共用同一台计算机,从宏观层面看,是多个用户同时使用一个CPU和其它资源,从微观层面看,是多个用户在不同时刻轮流使用计算机。
    2. 独占性,各终端彼此独立,互不干扰使用一台主机。用户感觉在独占了一台机器。
    3. 及时性,主机对各终端用户的请求能够快速的做出响应。
    4. 交互性,采用人机对话的方式,各终端用户直接输入,调试,运行程序。

    实时系统是指系统对特定输入快速做出响应。

    1. 实时性,主机快速对各种请求做出响应并处理。
    2. 可靠性,安全性,实时系统的故障带来的后果无法估量,因此要更加注重其可靠性。

    分时系统和实时系统的区别。

    1. 设计目标不同,前者提供一个通用的交互式开发运行环境,后者为特殊用途提供专用系统。
    2. 交互性强弱不同,前者交互性强,后者交互性弱。
    3. 响应时间不同,前者以用户能接受的响应时间为标准,后者与受控对象及应用场合有关。
    • 程序和进程的区别,进程和线程的区别?作业和进程的区别?为什么引入进程,线程?

    程序和进程的区别

    1. 进程是一个程序的动态执行过程,具有动态性。程序是一组指令的有序集合,具有静态性。
    2. 一个进程可以执行一个或多个程序,同一程序可以由几个进程同时执行。
    3. 进程可以独立的接受调度,独立的分配单位,独立的运行,程序不可以。
    4. 程序和进程都包括数据段和程序段,进程还有进程控制块PCB这个数据结构。

    进程,线程关系,区别?

    线程是进程的一个执行单元。一个线程属于一个进程,一个进程有多个线程,至少一个线程。同一进程的所有线程共享进程所有资源。不同进程间的线程要通过消息通信实现同步。处理机上真正运行的是线程。

    1. 进程是系统资源分配的基本单位,线程是处理机调度的基本单位。
    2. 在创建或撤销进程时,系统都要分配回收资源。导致进程的系统开销明显大于线程的开销。进程有独立的地址空间,进程崩溃后不会对其它进程产生影响。线程只是进程的一个执行体,有自己的堆栈和局部变量,但没有单独的地址空间。一个线程崩溃等于整个进程崩溃,所以多进程的程序比多线程的程序更健壮,但在进程切换时,耗费资源大,效率差。
    3. 进程是拥有资源的基本单位,线程不拥有资源,但可以访问资源。
    4. 进程间可以并发执行,同一进程多个线程也可以并发执行。

    进程,作业区别

    进程是一个程序在一组数据集合上的动态执行过程。作业是用户需要计算机完成的各种任务,是要求计算机工作的集合。作业包括作业提交,作业收容,作业执行,作业完成。进程就是对已提交程序所执行过程的描述。主要区别如下。

    1. 作业是用户向计算机提交任务的任务实体,一旦提交,作业就会保存在外存的作业等待队列中等待运行。进程是对用户提交任务的执行体。进程一旦被创建,总有一部分存放于内存。
    2. 一个作业由多个进程组成,至少由一个进程组成。
    3. 作业的概念只出现在批处理系统中,而进程的概念存在于任何多道程序系统中,就是操作系统分配资源的基本单位。在windows系统中,进程又被细化成线程,允许一个进程有多个独立运行的更小单位。

    引入进程是并发执行程序,提高系统资源利用率和吞吐量。进程的互斥和同步是进程间竞争和协作。
    引入线程是降低处理机的空闲时间,降低处理机切换调度造成时间和空间的开销。

    •  进程同步

    在操作系统中引入了进程,提高了系统资源利用率和吞吐量,但是也使得系统变得复杂。如果没有合理的进程管理方式,必然引起进程对系统资源的无序竞争,使系统变得混乱。实现对并发进程的有效管理,引入了同步机制。进程同步应遵循空闲让进,忙则等待,有限等待,让权等待。实现同步有硬件机制,信号量机制,管程机制。

    • 饥饿状态?和死锁的区别?

    等待时间给进程推进和响应带来明显影响称为进程饥饿。饥饿不一定使系统发生死锁,但一定让系统中某个进程产生无限期推迟。

    饥饿和死锁的差别是,饥饿的进程可以是一个,但是死锁的进程必须是两个以上。处于饥饿状态的进程是就绪状态,处于死锁的进程是阻塞状态。

    • 调度的几种方式?

    高级调度,又称作业调度,把处于后备队列中的作业调入内存,创建进程,排在就绪队列中。

    中级调度,把暂时不运行的进程调出内存,排在挂起队列上。

    低级调度,又称进程调度,为处于就绪队列中的某个进程分配处理机资源,从而执行。

    • 进程切换系统内核的处理过程?忙等的概念?

    当进程切换,内核需要保存进程的当前状态,包括内存的分配状况,CPU中各种寄存器的内容。上下文切换一般涉及到系统架构的操作,包括刷新数据和指令高速缓存。忙等是进程在循环队列中,同时还竞争处理机资源。忙等可以消除,可以通过阻塞等待的进程,在合适的时机再唤醒该进程。但同时会造成阻塞和唤醒的时间开销。

    • 什么是P,V操作?

    信号量是表示一个资源的实体,是一个就绪队列中的整形变量。PV操作和信号量有关。P代表申请一个资源,V代表释放一个资源。PV操作是不可中断的操作,称为原语。如果把信号量看做共享资源,那么PV操作就是临界区。信号量除了赋初值外,其余都由PV操作执行。

    • 死锁?死锁的必要条件?死锁的解决方法?

    系统中一组进程都占有资源,每个进程也都在等待其它进程释放资源,导致系统一直无法向前运行,此时称系统处于死锁状态。

    产生死锁的四种必要条件。

    1. 互斥条件
    2. 不可剥夺条件
    3. 占有且等待条件
    4. 环路条件

    死锁的解决方法包括,死锁预防,死锁避免,死锁检测和恢复。

    1. 死锁预防,破坏互斥条件,破坏不可剥夺条件,破坏占有且等待条件(资源静态分配策略),破坏环路条件(资源有序分配策略)
    2. 死锁避免,和死锁预防对进程申请资源加以限制不同,死锁避免是对进程申请资源进行检查,根据检查结果来决定是否分配资源。银行家算法是典型的死锁避免方式。
    3. 死锁检测和恢复
    • 存储器及功能?

    存储器主要任务是为多道程序提供良好的运行环境,方便用户使用存储器,提高存储器的利用率及在逻辑上扩充存储器。

    1. 分配和回收内存,分配内存空间或回收系统,用户程序所释放的内存空间。
    2. 地址转换,将逻辑地址转为物理地址。
    3. 扩充存储空间,使用虚拟存储或自动覆盖技术为用户提供比内存空间大的多的地址空间,从逻辑上扩充内存。
    4. 地址保护,保证进入内存的各道作业在各自的存储空间内运行,互不干扰。
    • 动态分区存储管理思想?

    动态分区存储管理根据用户程序大小,动态的划分内存区,所以分区数目无法预估,分区大小也不一致。动态分区相比于固定分区明显的提高存储空间的利用率,但需要为用户程序分配连续的主存空间,所以难免会产生内存碎片。

    • 程序的装入有以下几个阶段,方式?

    应用程序从用户编写的源代码到在内存中运行,需要三个阶段。首先,编译程序将源代码编译成目标模块。然后,链接程序把目标模块和库函数链接形成完整的装入模块。最后,装入程序把装入模块装入内存执行。
    绝对装入,在编译时就知道程序驻留在内存的物理地址,编译程序产生含有物理地址的目标代码。
    可重定位装入,根据内存的情况,将装入模块装入到合适的位置,地址变换通常在装入时一次完成,之后,不可更改。称为静态重定位。操作系统为程序分配一个以某地址为起始地址的连续主存区域,重定位时,程序中指令或操作数的逻辑地址加上起始地址就得到了物理地址。
    动态重定位,允许程序在运行时可以移动位置,装入模块在装入内存空间时得到的也是相对地址,只有程序执行过程中访问到指令和数据时,才将要访问的指令和数据地址转为物理地址。动态重定位的实现要靠硬件地址变换机构。

    • 程序的链接方式?

    1. 静态链接,将目标模块和所需库函数链接,形成一个完整的可执行程序,以后不再拆分。
    2. 装入时动态链接,对目标模块在装入内存时采用边装入边链接的方式。
    3. 运行时动态链接,直到程序运行过程中需要一些模块,才对这些模块进行链接。
    • 碎片,拼接技术?

    碎片有内部碎片和外部碎片两种。
    外部碎片,系统中无法利用的小存储块。内部碎片,分配给作业的存储空间未被利用的部分。
    当系统运行一段时间后,内存会出现一部分的碎片,拼接技术就是解决碎片问题的方法。
    把存储器中已分配的分区移动到一端,使本来分散的小分区连接成一个大分区。这种移动小分区拼接成大分区的方法称为拼接技术

    • 虚拟存储器,以及相关算法?

    根据程序的局部性原理,一个作业在运行之前,先将一部分装入内存,另一部分留在磁盘,等到需要时,再装入内存。这样就可以用小的内存空间运行大的作业,也可将多个进程装入内存,并发执行。这样在用户看来,系统的存储容量要比实际存储容量大的多。这种存储方式称为虚拟存储。
    FIFO算法,每次淘汰最先进入内存的页面,也是淘汰驻留内存时间最多的页面。
    LRU算法,选择最近最久未被使用的页面淘汰。

    • 为什么要分页?分页需要哪些硬件支持?如何用分页实现虚拟存储?实现虚拟存储需要哪些硬件支持?

    分页是将进程的逻辑地址空间分成若干个大小相同的页。由于内存空间有限,无法一次性调入全部进程,所以需要分页依次调入。

    分页需要页表,地址转换机构(逻辑地址寄存器,物理地址寄存器,页表寄存器,快表)等硬件。

    虚拟存储是为了扩充主存空间设置的一种存储方式。分页虚拟存储是将作业放入磁盘,调用作业时,不把全部作业装入主存,而是将一些立即执行的作业页面调入主存,执行过程中遇到不在主存的页,再把它们动态装入。

    实现虚拟存储需要,分页/段的页表或段表,缺页中断机构,地址转换结构。

    • TLB?

    TLB在处理机访问内存数据时做地址转换,可以叫做一个旁路缓冲,是一个具有并行查询能力的高速缓冲存储器。TLB存放了页表文件,记录了虚拟地址和物理地址的之间的映射关系。当应用程序查询出一个虚拟地址时,会从页表中找到物理地址,再访问物理地址。

    • 分页存储管理系统虚拟地址转为物理地址过程?
    1. 是否越界,若是,则中断。若不是,则继续寻址。
    2. 查找快表,若找到页表项,修改访问位,形成物理地址。若没有,继续寻址。
    3. 查找页表,若找到页表项,修改访问位,形成物理地址,页表项放入快表。若没有,产生缺页中断,继续寻址。
    4. 若内存没有满,则将外存调入内存。否则,置换一页出内存,再调入一页入内存。
    5. 修改页表。

    分页存储管理系统虚拟地址转为物理地址

    段页式存储管理中,地址映像表,每个作业或进程一张段表,每个段一张页表。

    抖动是指刚被换出的页很快又要被访问,为此还需要再换出其它的页,而该页也很快被访问。如此频繁的置换页面,大部分时间都花在置换页面上,所以不合适的置换算法是导致系统抖动的根本原因。

    对信号量进行V原语操作后,若信号量值大于0,则表示没有进程等待使用该资源,该进程继续调度或转进程执行。若信号量值小于0,则表示有进程由于申请该资源而没有得到分配,处于等待状态,所以需要唤醒一个等待队列,放入就绪队列。

    • 分页和分段的联系和区别

    页是信息的物理单位,分页实现离散分配,提高内存的利用率,分页仅仅是系统管理的需要,不是用户的需要,对用户透明。段是信息的逻辑单位,含有一组相对完整的信息,数据段,代码段,堆栈段,为了满足用户而使用。

    页的大小不固定由系统确定,逻辑地址分为页号和页内两部分,由硬件实现,所以系统只有一种页面,段的长度不固定,取决于用户编写的程序。

    分页的作业地址空间一维,程序员只利用一个记忆符,线性地址的16进制,即可表示一个地址。段的作业地址空间二维,程序员在标识一个地址,既需要给出段名,又需要给出段内地址。

    页段都有存储保护机制,存取权限不同。段有读写,执行三种权限。页只有读写两种权限。

    • 页面,块或物理块,页表?

    页面,作业地址空间被分成若干个大小相等的区域。块,将内存空间分为和页面大小相同的区域,这些区域被称为物理块。页表,便于在内存中找到每个页面对应的物理块,系统为每个进程建立一个映射表,存储页号到物理块号的映射。

    • 可变分区的保护采用哪种方式?

    界限寄存器,在CPU中设置一个下限寄存器和一个上限寄存器,存放用户作业在主存中的上限和下限地址。一个寄存器作为基址寄存器,另一个作为限长寄存器。当CPU访问主存,硬件自动将被访问的主存地址和界限寄存器比较,判断是否越界。如果未越界,按此地址访问主存,否则产生程序中断。

    存储保护键机制,每一个被保护的存储块分配一个保护键,这个保护键相当于锁,进入系统的每个作业也赋予一个保护键,放在PCB程序状态字中,当选择一个作业运行时,把它的键(相当于钥匙)装入一个特定的寄存器,对一个保护键与钥匙不匹配存储块的访问,都将产生保护键违例中断,并中止该程序。

    • 缓冲区,缓冲池?

    由于CPU与外设之间存在速度不匹配的问题,所以需要缓冲技术来缓解这种矛盾。缓冲技术有三种缓冲。

    1. 单缓冲,OS在主存中设置一个缓冲区。
    2. 双缓冲,OS在主存中设置两个缓冲区。
    3. 缓冲池,OS在主存中设置一组缓冲区。

    处理机要读入一个文件,先发出读取指令,将文件读入主存的缓冲区中,再读入高速缓冲寄存器,再读入处理机中的寄存器,处理机中的控制单元和逻辑单元进行处理,处理后逻辑单元将处理结果送至处理机中的寄存器。完成读指令。

    由于计算机系统中的大量信息都是存储在磁盘。系统在运行中不断的执行读写操作,采用缓冲技术可以减少处理机对磁盘的访问频率,提高系统效率。

    • Cache?Cache需要注意什么?

    Cache是一种存取速度比一般RAM快的RAM,介于CPU和主存之间的一级存储器,由静态存储芯片SRAM组成,容量比主存小,但速度比主存快很多,接近于CPU速度。Cache包括三部分。

    Cache存储体,存放由主存调入指令和数据块。地址转换部件,建立目录表实现主存地址到缓存地址的转换。替换部件,在缓存已满时按一定策略进行数据块转换,并修改地址转换部件。

    Cache是为解决处理机和主存速度不匹配而提出的一种解决方案。使用Cache需要注意数据不一致的问题。尤其是在多处理器系统中,多个处理器对同一个数据进行操作,某个处理器操作共享数据时,其它

    处理器的Cache数据块已成为过时的数据,如果不及时通知处理器更新数据,就会导致错误的处理结果。

    • Cache和主存的映射方式?

    全相联映像是指将主存和Cache按照固定的大小进行分块,内存的块和Cache的块可以任意对应,在Cache块已满的情况下,也允许替换出一个旧Cache块。

    直接映像先将Cache分成若干块,每块大小相同,并对块编号。同时根据Cache的容量将内存分成若干大小相同的区,每个区的容量和Cache容量相同。再对内存每区分块,每块大小和Cache块相同,对每个区的块编号。映像时,内存某区中的块只能保存在与块号相同的Cache块中。

    组相联映像是全相联映像和直接映像的折中方案。先将Cache分成大小相同的区,再对每个区按照直接相联的方式分块,再编号。所以,Cache中有许多相同编号的块。对内存按照Cache区的大小分区,再对每区按照Cache块分块。每个内存块可以对应不同Cache区中相同块号的块。

    • 覆盖,交换,原理及区别?

        由于内存空间有限,作业或进程比较大,不能一次性运行完,所以提出了对内存空间的各种管理方式,来实现小内存运行大程序的任务。

    1. 覆盖,按自身逻辑把程序分成几个相互独立的模块,不会同时执行的模块可以共享同一块内存,按照时间顺序运行。程序员来划分模块和确定覆盖关系,编程难度增加。
    2. 交换,把在内存中暂时不运行的进程,程序,数据都换出,把已经具备运行条件的进程和数据换入内存。交换技术由OS控制。
    • Belady异常?抖动原理?如何解决?

    对一个进程没有分配它要求的全部页面,有时出现分配的页面数增加但缺页率反而升高的现象。称为Belady异常。

    在更换页面时,如果要更换的页面是很快又被访问的页面,那么在产生缺页中断后会再次发生缺页中断,使得系统的效率降低,此现象称为抖动或颠簸。

    解决策略

    1. 如果页面替换算法有误,可以修改页面替换算法。
    2. 如果内存运行进程过多,无法同时将频繁访问的页面调入内存,则需要减少进程的数目。
    3. 终止该进程或扩充物理内存空间。
    • 什么是虚拟设备?操作系统为什么要引入虚拟设备?虚拟打印机的操作原理?

    将一台独占的物理设备虚拟成多台逻辑设备,供多个用户使用。这种经过虚拟的设备称为虚拟设备。

    操作系统引入虚拟设备是用高速设备模拟低速设备,把慢速的独占设备改造成多个进程共享的快速共享设备。

    当进程请求打印输出时,操作系统并不是把实际打印机分配到该进程,而是在磁盘输出井上分配一块相关区域,该进程要输出的数据高速存入输出井的相关区域,输出井的相关区域就是一个虚拟打印机。各进程的输出数据都暂存在输出井上,形成一个数据队列,最后由SPOOLing技术将数据实际打印出。

    SPOOLing技术是慢速字符设备如何与计算机主机交换信息的一种技术,称为假脱机技术。SPOOLing技术实际上是一种外围设备同时联机操作,又称为排队转储技术。在输入和输出之间增加了输入井和输出井的排队转储环节,消除用户的“联机”等待时间。

    • 什么是设备独立性?为何引入设备独立性?

    设备独立性就是应用程序独立于物理设备。用户程序中不直接调用物理设备,而是使用逻辑设备。系统执行时,将逻辑设备转为物理设备,类似于存储管理中的逻辑地址和物理地址。

    为了提高OS的可扩充性,可适应性,每种OS都提供了设备独立性。用户程序不使用物理设备,而是使用逻辑设备,转为物理设备。执行I/O操作。

    操作系统中引入线程是为了提高系统效率,提高系统资源利用率,减少进程并发执行造成的系统开销,使OS有更好的并发性。

    • 轮询,中断,DMA,通道?

    轮询,是指用户进程可以直接控制CPU与外设和主存与外设之间的信息传递。当用户进程传递数据时,通过CPU启动设备,此时用户进程进入测试等待状态,CPU不断执行I/O测试指令测试设备状态。

    中断,当用户进程需要传递数据时,CPU启动I/O控制器,转去执行其他程序,I/O请求结束后,向CPU发出中断请求,CPU收到后才花很少的事件去处理。中断是解决了CPU与外设之间只能串行工作的问题,也就是封装好了CPU与外设之间相互测试的过程。但是每传输一次数据都要执行中断处理程序,每执行一次中断处理程序都要保护CPU现场,处理结束后还要恢复CPU现场。如果处理的I/O设备过多,CPU就会陷入这些I/O请求当中,无法执行其他程序。

    DMA,直接存取控制。引入了直接存储器,外设直接与主存交换数据,没有CPU的干扰,减少了CPU对主存的控制。DMA在中断的基础上,又封装了传输数据的过程。DMA控制器包括,指令寄存器CR,数据缓冲寄存器DR,内存地址寄存器MAR,数据计数器DC。以CPU从磁盘读入数据为例,描述DMA工作流程。

    CPU从磁盘读入数据块。向磁盘寄存器发送命令,该命令存放到CR。再发送要读入的字节(符)数到DR。再发送读入数据存放至内存的地址,该地址存放到MAR。把磁盘的源地址传送至DMA控制器的I/O控制逻辑上。然后启动DMA控制器来传输,此后一切传输都由DMA控制器来完成。

    通道是一个控制外部设备工作的硬件机制,相当于一个简单的处理机。通道独立于CPU,专门负责数据输入,输出,传输。对外部设备统一管理,代替了CPU对外设的控制,使I/O与CPU可以并行。通道是计算机和传输并行的基础,提高整体性能。

    • 软中断,硬中断?区别?

    软中断

    1. 是编程异常的中断。
    2. 是通信进程来模拟硬中断的一种方式。
    3. 是由程序运行时其他程序对该程序的中断。
    4. 中断源发送中断请求或软中断处理,相应进程会执行中断请求或完成软中断信号对应的功能。

    硬中断

    1. 硬中断由外部事件引发,具有随机性和突发性。软中断是由中断指令驱动,由程序控制,所以不具有随机性和突发性。
    2. 硬中断的中断响应周期,CPU需要发送中断回合信号,软中断的中断响应周期,CPU不需要发送中断回合信号。
    3. 硬中断的中断号由中断控制器提供,软中断的中断号由中断指令提供,无需中断控制器。
    4. 硬中断可屏蔽,软中断不可屏蔽。
    • 磁盘概念,存储,原理?

    磁盘是一种辅存设备。是构成计算机系统不可或缺的一部分。内部结构如下。

    磁盘内部结构磁盘内部结构

    磁盘的各种参数。

    • 磁道:当磁盘开始旋转,磁头保持移动的位置不变,会在磁盘上画出一个圆形轨迹,此轨迹即是磁道。
    • 柱面:不同盘面上的相同磁道构成一个柱面。柱面数和每个盘面上的磁道数相同。
    • 扇区:每个磁道都可划分成若干个大小相同的片段,此片段即是扇区。每个扇区大小512字节。
    • 盘面:硬盘的盘片,每个盘片都有正反两面。

    磁盘容量计算:512B*扇区数*磁道数(柱面数)*盘面数

    特权指令:对I/O操作的指令,(启动I/O,测试I/O,控制I/O指令),访问程序状态的指令,存取特殊寄存器的指令(中断寄存器,时钟寄存器)

    • 磁盘性能参数?磁盘调度?
    1. 寻道时间,磁头定位到磁道所需的时间
    2. 旋转时间,磁头定位后,磁盘控制器开始等待,直到适当的扇区旋转至磁头所在位置。
    3. 存取时间,寻道时间+旋转时间
    4. 传输时间,磁道,扇区定位后,磁头通过下面旋转的扇区,完成读或写的操作,称为传输时间。

    磁盘调度就是在磁头寻道的过程中,磁头到达磁道的各种顺序。

    CPU调度不影响CPU和I/O的使用时间,只影响进程的等待时间。

    RAID,独立磁盘冗余阵列。把多块独立的硬盘按不同的方式组合形成一个硬盘组,提供比单个硬盘更高的存储性能和提供数据备份技术。

    • 什么是文件目录?文件目录包含哪些信息?常用的目录结构有哪几种?

    文件目录包括文件的一些基本信息。也称为文件控制块FCB

    文件目录一般包括以下几种信息。

    1. 文件的结构信息,逻辑结构,存储结构。
    2. 文件的管理信息,文件的建立,保留,上次存取文件的日期和时间。
    3. 文件的存取权限控制信息,文件主所具有的存取权限,同组用户所具有的存取权限,其它用户所具有的存取权限。

    常用的文件目录有一级文件目录,二级文件目录,多级文件目录。

    • 文件在磁盘中的组织方式?

    顺序组织。把逻辑文件的逻辑记录顺序的存储到磁盘块中,称为顺序文件。

    链接组织。逻辑文件的逻辑记录任意的存放到各个磁盘块中,使用指针链接各个磁盘块,文件第一块的地址和最后一块的地址存放到FCB中,这样的组织称为隐式链接。

    把链接文件的各个指针都存入一张表中,称为FAT表。每个磁盘只有一张FAT。在FCB中只存放首磁盘块号。这种组织称为显示链接。

    索引组织。在主文件之外再建立一张关键字和磁盘块对应关系的表。称为索引表,主文件和索引表共同构成索引文件。

  • 相关阅读:
    1571:【例 3】凸多边形的划分
    1570:【例 2】能量项链
    2.25
    2.24 T2 牧场 by greens 1s 128M (pasture.cpp)
    2.24 T1 P3515 [POI2011]Lightning Conductor
    白嫖视频的方法
    2.24 T3 P1912 [NOI2009] 诗人小G
    2.24
    斜率优化
    windy数的补充——数位dp中如何求[a,b]区间内的方案数
  • 原文地址:https://www.cnblogs.com/feng1014/p/12679718.html
Copyright © 2011-2022 走看看