操作系统原理

第一章

  1. 计算机系统组成部分: 硬件 应用程序 操作系统 用户
  2. 操作系统的作用:
    1.操作系统是管理计算机硬件的程序,为应用程序提供基础并充当计算机用户和计算机硬件的中介。
    2.操作系统是资源分配器,调控CPU时间,内存空间,文件存储空间,I/O设备,让程序能有效且公平地运行。也是控制程序防止计算机资源的错误和不当使用。
    3.为应用程序提供服务
    4.进程管理
  3. 计算机开启需要一个初始程序(引导程序),一般位于固件。初始化系统的所有方面,从CPU到内存内容。
  4. 按照所起的作用和需要的运行环境,软件通常可分为三大类,即应用软件,支撑软件,系统软件.
  5. 现代操作系统的基本特征是程序的并发执行 、资源共享和操作的异步性。
  6. 为分时系统的是UNIX,1.多路性:服务多个用户2.独立性:各用户独立3.及时性:当一个任务暂时不能执行,CPU如子弹上膛般立刻换上另一任务,决不空闲4.交互性
  7. 计算机的主存储是随机内存,最常用用的次级存储是磁盘。
  8. 批处理系统的主要缺点是缺少交互性。
  9. 系统程序在启动时加到内存成为系统进程或系统后台程序。
  10. 系统调用是由操作系统提供的内部调用,它只能通过用户程序间接使用。
  11. UNIX操作系统是采用层次结构实现结构设计的。
  12. 操作系统的体系结构主要有单块结构和层次结构,微内核结构 。
  13. UNIX系统是F-分时操作系统,DOS系统是操作系统。
  14. 计算机运行的大多数程序通常位于可读写内存,称为内存,也称随机访问内存,内存通常为动态随机访问内存。
  15. IO结构,小型计算机系统接口控制器可以连接多个设备,操作系统为每个设备控制器提供一个设备驱动程序。每个设备控制器负责特定类型的设备。设备控制器负责在它控制的外围设备和它的本地缓冲存储器之间移动数据。
  16. 内核模块也称为系统、管理员、特权模块。
  17. 系统中物理模块和逻辑模块没有分离。
  18. 计算机系统的体系结构:
    1.单处理器系统,只有一个主CPU执行一个通用指令集
    2.多系统处理系统有非对称处理,对称多处理:
    多系统处理系统优点:
    1.增加吞吐量
    2.规模经济
    3.增加可靠性
  19. 集成多个计算核到单个芯片,叫多核。相比单独放置可以加快计算核之间的通信。
  20. 双核系统不需要有两个独立的缓存。
  21. 集群系统,将多个cpu组合在一起,有两个或多个独立系统组成松耦合的。因为系统具有冗余,能够在出现故障时接管特定的流程或任务,所以集群通常用于提供高可用性服务。集群可以是对称的,也可以是非对称的。
  22. SMP是对称型集群系统,每个处理器处理所有的任务。
  23. 蓝牙是小区域网络,学校是LAN,国家是WAN。
  24. 操作系统的特征:
    并发:在一段时间有多个程序同时运行,一个CPU
    并行:在一个时间点有多个程序同时运行,多个CPU
  25. 操作系统的结构:多道程序设计通过安排作业使得CPU有一个执行作业,从而提高CPU利用率。分时系统是多道程序设计的自然延伸,分时系统要求计算机系统是可交互的。
  26. 虚拟内存允许一个执行作业不必完全在内存中,用户可执行比物理内存大的程序
  27. 操作系统的执行
    操作系统是中断驱动,没有进程需要执行系统会等待事件发生
    两种单独运行模式:用户模式和内核模式。将可能损害的机器指令作为特权指令,用来管理干扰。
    定时器:避免用户程序陷入死循环,或不调用系统服务并且不将控制返给操作系统。
  28. linux允许用户扩大权限来为限制的活动。
  29. 系统程序不是kemel的一部分,但仍然与操作系统相关。应用程序与系统操作没有关联。
  30. 中断向量是中断服务程序的入口地址,在计算机中中断向量的地址存放一条跳转到中断服务程序的跳转指令。
  31. 操作系统两种模式,当计算机系统代表用户应用程序执行时。系统处于用户模式。然而。当用户应用程序从操作系统请求服务时(通过系统调用)。它必须从用户模式过渡到内核模式以满足请求。
  32. 进程管理:
    1.在CPU上调度进程和系统进程
    2.创建和删除用户进程和系统进程
    3.挂起和重启进程
    4.提供进程同步机制
    5.提供进程通信机制
  33. 内存管理:
    1.记录内存的使用者和目标
    2.决定哪些进程会调入或调出内存
    3.根据需要分配和释放空间
  34. 存储管理,操作系统定义了逻辑存储单元文件。操作系统映射文件到无力媒介,并通过存储设备来访问文件
    文件系统管理:
    1.创建和删除文件
    2.创建和删除目录,以便组织文件
    3.提供文件和目录的操作原语
    4.映射文件到外存
    5.备份文件到稳定存储介质
  35. 大容量存储器管理:
    1.空闲空间管理
    2.存储空间分配
    3.硬盘调度
  36. 高速缓存:将信息保存在一个存储系统中,使用时被临时复制到更快存储系统。
  37. 在多处理器环境中。同一数据的两个副本可能存在于每个CPU的本地缓存中。当一个CPU修改数据时。其他CPU的缓存必须接收到该数据的更新版本。缓存一致性涉及到确保多个缓存存储所存储数据的最新版本。
  38. 两个高速缓存重要的设计问题 是大小和可替换策略。
  39. 保护和安全,保护是一种机制用于控制进程或用户访问计算机系统的资源。
  40. 计算环境:
    移动计算
    手机、平板等,额外的功能
    分布式计算
    网络是两个或多个系统之间的通信路径,tcp/ip是常用的网络协议,wan连接国家和lan用于学校、私人,网络操作系统提供跨网络系统之间的特征。
    计算环境客户服务器
    现代系统作为服务器系统,满足客户机系统请求,系统提供了一个借口到客户端请求服务,文件服务器系统为客户端提供了存储和检索文件的接口
    对等计算
    不能区分客户端和服务器,两者可以互相转化
    虚拟化计算
    允许操作系统在其他操作系统中运行程序,当源CPU类型与目标类型不同时使用的方正
    虚拟化,为一某一CPU编译的操作系统可以运行在另一相同CPU而编译的操作系统
    云算计
    公云:只要付费就可以使用的云
    私云:公司自已使用
    混合云:有公云也有私云的部分
    软件即服务:可通过internet使用的应用程序
    平台即服务:可通过internet而为应用程序的软件堆栈
    基础设施即、服务:可通过internet使用的服务器或存储
    实时嵌入式系统
    用途广泛,有专用操作系统,有限用途操作系统,实时操作系统。
    实时操作系统具有定义明确的固定时间约束。
    处理必须在约束范围内完成。
    只有满足约束条件时,操作才正确。

第二章

  1. 现代操作系统通常为用户提供三种使用界面:命令界面,图形界面,系统调用界面在这里插入图片描述
  2. 系统调用:
    进程控制 文件管理 设备管理 信息维护 通信 保护
    进程控制:可以用调试器来确定问题原因,并纠正错误。操作系统提供系统调用允许一个进程锁定共享数据。
  3. 解释保护和安全之间的区别。答:保护与控制进程或用户对计算机系统资源的访问有关。安全性的作用是保护系统免受内部或外部的攻击.
  4. 系统程序
    文件管理 状态信息 文件修改 通信 后台服务
  5. 机制与策略 ,策略决定什么要被做。一个重要原则是策略与机制分离
  6. 分层设计的主要苦难你是恰当定义多样的层
  7. 微型内核是抛弃了不必要部件的内核。
  8. microkemnel方法的一个好处是易于扩展操作系统。新服务被添加到用户空间,因此不需要修改kemel。微内核还提供了更多的安全性和可靠性。因为大多数服务是以用户进程而不是内核进程的身份运行的。不幸的是,由于系统功能开销的增加,微内核的性能可能会下降。
  9. 一个引导块通常只知道引导程序的其余部分的位置和长度
  10. windows采用closehandle来关闭文件
  11. Android在Dalvik虚拟机上运行Java程序
  12. Standard C library提供UNIX和Linux系统调用接口的一部分。
  13. 缓存不是一种将参数从应用程序传递到系统调用的技术。
  14. 编程语言的系统调用接口是操作系统提供的系统调用的链接。该接口拦截API中的函数调用,并在操作系统中调用必要的系统调用。因此。操作系统接口的大部分细节通过API对程序员隐藏起来,由运行时支持库管理。
  15. 描述在系统调用期间用于向操作系统传递参数的三种通用方法最简单的方法是在寄存器中传递参数registers。在某些情况下,可能有比寄存器更多的参数。在这些情况下,参数通常存储在一个块中或表。块的地址作为一个参数在寄存器中传递,也可以放置参数推动到堆栈上,然后弹出堆栈操作。
  16. 模块化方法结合了分层和微内核设计技术的优点。在模块化设计中。内核只需要具备执行所需功能的能力,并知道如何在模块之间进行通信。然而。如果内核需要更多的功能。然后用户可以动态地将模块加载到内核中。保护接口。找到理想的属性紫菜系统。通过允许模块之间相互通信,可以实现更大的灵活性
  17. 应用程序程序员通常使用API而不是目录调用系统调用。

第三章

  1. CPU的活动被称为进程 进程包括文本段,程序计数器,堆栈,数据段等。当一个文件被夹在到内存时便称为进程。 进程状态:
    新的:进程正在创建
    运行:指令正在执行
    等待:进程等待发生某个事件
    就绪:进程等待分配处理器
    终止:进程已经完成执行
  2. 进程表示采用进程控制块,PCb:
    进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、IO状态信息 线程
  3. 每个进程是一个只能进行单个执行线程的程序
  4. 父进程是创建它的进程,子进程是它本身创建的进程,兄弟进程为具有同一父进程的进程 进程调度
  5. 进程调度器选择一个可用进程到CPU上执型,单处理器系统不会具有多个正在运行的进程。
    1.调度队列 进程在进入系统时,会被加到作业队列,包括系统内所有的进程。就绪队列、设备队列(等待特定事件发生如IO请求完成)
    2.调度程序 进程通过适当调度器或调度程序来执行。长期调度程序或作业调度程序从缓冲池中选择进程。短期调度程序从准备执行的进程中选择进程。
    3.上下文切换 当中断发生时,系统需保存当前运行在CPU进程的上下文,以便在处理后能够恢复上下文。通常通过执行状态保存,保存CPU当前状态,状态恢复重新开始运行。
    切换CPU到另外一个进程需要保存当前进程状态和恢复另一个进程的状态,这个任务称为上下文切换。 进程运行 进程创建
  6. 进程执行过程中可能创建多个新的进程,正如前面所述创建进程称为父进程,新进程称为子进程,每个新进程可以再创建其他进程,从而形成进程树
  7. 对进程识别采用的唯一进程标识符 父进程与子进程并发执行,父进程等待直到某个或全部子进程全部执行完。
  8. 进程终止 终止子进程的原因:
    超过分配资源 分配子进程的任务不再需要 父进程正在退出
  9. 进程间通信
    1.信息共享
    2.计算加速
    3.模块化
    4.方便
  10. 协作进程需要有一种进程间通信,可以共享内存和消息传递,消息传递用于交换较少数量的数据很有用,无需避免冲突。共享内存系统仅存在建立共享内存区域时需要系统调用。
    共享内存系统
    1.生产者进程生成信息,以供消费者进程消费。缓冲区类型可以分为两种,无界缓冲区没有限制大小,消费者可能不得不等待新的项。有界缓冲区假设固定大小的缓冲区。
  11. 管道:生产者向写入端写,消费者从另一端读
第四章
  1. 多线程编程 优点:响应性、资源共享和、经济、可伸缩性

  2. 并发性:支持多个任务,允许所有任务能够取得进展 并行:同时执行多个任务 并行类型:
    1.数据并行注重将数据分布在多个计算核上,并在每个核上执行相同操作。
    2.任务并行,涉及将任务而不是数据分配到多个计算核。每个线程都执行一个独特的操作。 多线程模型:用户层的用户线程或内核层的内核线程 多对一模型映射多个用户级线程到一个内核线程。线程管理是由用户空间的线程库来完成。

  3. 一对一模型:一对一模型映射每个用户线程到一个内核线程,该模型在一个线程执行阻塞调用,能够允许另一个线程继续执行。

  4. 进程和程序的本质区别是动态和静态特征

  5. 各进程向前推进的速度是不可预知,体现出“走走停停”的特征,称为进程的异步性

  6. 进程从运行状态变为阻塞状态的原因是输入或输出事件发生

  7. 操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为原语

第五章

用户在一次计算过程中,或者一次事物处理中,要求计算机完成所做的工作的集合,这是指作业。
在操作系统中,作业处于执行时,已处于进程的管理之下。
下列作业调度算法中,最短的作业平均周转时间是短作业调度法。
在批处理系统中,周转时间是作业等待时间和运行时间之和
单处理器系统,同一时间只有一个进程可以运行;其他进程应等待,直到CPU空闲并可调度为止,多道程序的目标是始终允许某个进程运行以最大化CPU利用率。
CPU的调度成功取决于以下进程属性:进程执行包括周期进行CPU执行和I/O等待。进程在这两个状态不断 交替,进程执行从CPU执行开始,之后I/O执行。
每当CPU空闲时,操作系统就从就绪队列选择一个进程来执行,进程选择短期调度程序。
抢占调度
需要进行CPU调度的情况可分为以下四种:
1.当一个进程从运行状态切换到等待状态时
2.当一个进程从运行状态切换到就绪状态时
3.当一个进程从等待状态切换到就绪状态时
4.当一个进程终止时
如果发生在1和4状况下就时非抢占的或者协作的;否则则称为抢占的。

调度准则:
1.CPU占有率
2.吞吐量:一个时间单元内进程完成的数量。
3.周转时间;从进程提交到进程完成的时间段;所有时间之和
4.等待时间,在进程在就绪队列中因等待的时间
5.响应时间:对于交互系统,周转时间不是最佳主责,从提交请求到产生第一响应的时间称为响应时间。

调度算法:
1.先到先服务调度:依次服务;缺点:平均等待时间很长,CPU和设备的使用率降低
2.最短时间优先调度(最短剩余时间优先)
3.优先级调度:每个进程都有一个优先级与其官来呢,具有最高优先级的进程会分配到CPU,缺点:
无穷阻塞或饥饿。
4.轮转调度:将较小的时间单元定义为时间量或时间片,轮流执行避免了饥饿和CPU利用率不足

周转时间 = 作业完成时刻 - 作业到达时刻
带权周转时间 = 周转时间 / 服务时间
平均周转时间 = 作业周转总时间 / 作业个数
平均带权周转时间 = 带权周转总时间 / 作业个数

第六章

同步:每个程序有一段代码称为临界区,进程在执行该区可能修改公共变量、更新一个表、写一个文件等
当一个进程在临界区执行时,其他进程允许在它们的临界区内执行。临界区问题是设计一个协议以便协作进程,实现这一请求的代码去称为进入区,其他代码为剩余区。

  1. 进程间的基本关系为同步与互斥
  2. 进程之间的互斥,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调。
  3. V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,并将它变为就绪状态,而现进程继续进行。
  4. 进程被创建后,最初处于就绪状态,然后经进程调度程序选中后进入执行状态。
  5. 进程的同步和互斥反映了进程间 直接制约 ,间接制约的关系
  6. 进程至少有三种基本状态:执行态,就绪态,等待态
  7. 在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
  8. 进程与程序的主要区别是:
    ·进程是动态的;程序是静态的。
    ·进程有独立性,能并发执行;程序不能并发执行。
    ·二者无一一对应关系。
    ·进程异步运行,会相互制约;程序不具备此特征。
    但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
  9. 一进程进入临界区的调度原则是:
    ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
    ②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
    ③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
    ④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
  10. P操作顺序执行下述两个动作:
      ①信号量的值减1,即S=S-1;
      ②如果S≥0,则该进程继续执行;
      如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止)。
    V操作顺序执行下述两个动作:
      ①S值加1,即S=S+1;
      ②如果S>0,则该进程继续运行;
     如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
     段式管理中,以段为单位分配内存,每段分配一个连续的内存。由于各段长度不等,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。
     当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为目标程序
     分区管理要求对每一个作业都分配地址连续的内存单元。
     交换技术是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。
     虚拟存储技术是补充相对地址空间的技术
总结
  1. Kernel Mode
    在内核模式下,代码具有对硬件的所有控制权限。可以执行所有CPU指令,可以访问任意地址的内存。内核模式是为操作系统最底层,最可信的函数服务的。在内核模式下的任何异常都是灾难性的,将会导致整台机器停机。
    User Mode
    在用户模式下,代码没有对硬件的直接控制权限,也不能直接访问地址的内存。程序是通过调用系统接口(System APIs)来达到访问硬件和内存。在这种保护模式下,即时程序发生崩溃也是可以恢复的。在你的电脑上大部分程序都是在用户模式下运行的。
    2.哲学家进餐问题
    策略一原理:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支筷子,从而可使更多的哲学家进餐。定义信号量count,只允许4个哲学家同时进餐,这样就能保证至少有一个哲学家可以就餐。
    策略二原理:仅当哲学家的左右两支筷子都可用时,才允许他拿起筷子进餐。可以利用AND 型信号量机制实现,也可以利用信号量的保护机制实现。利用信号量的保护机制实现的思想是通过记录型信号量mutex对取左侧和右侧筷子的操作进行保护,使之成为一个原子操作,这样可以防止死锁的出现。描述如下:
    策略三原理:规定奇数号的哲学家先拿起他左边的筷子,然后再去拿他右边的筷子;而偶数号的哲学家则先拿起他右边的筷子,然后再去拿他左边的筷子。按此规定,将是1、2号哲学家竞争1号筷子,3、4号哲学家竞争3号筷子。即五个哲学家都竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一个哲学家能获得两支筷子而进餐。
    页表的存储方式是TBL(Translation look-aside buffer, 翻译后备缓冲器)+内存。TBL实际上是一组硬件缓冲所关联的快速内存。若没有TBL,操作系统需要两次内存访问来完成逻辑地址到物理地址的转换,访问页表算一次,在页表中查找算一次。TBL中存储页表中的一小部分条目,条目以键值对方式存储。
    常用三种方式:

连续分配
链接分配(不连续)
索引分配
通常一个系统中仅采用一种方式

采用的磁盘分配方式决定了文件的“ 物理结构”

  1. 连续分配

为每一个文件分配一组相邻的盘块。
逻辑文件中的记录顺序与存储器中文件占用盘块的顺序一致。
优点:顺序访问容易,读写速度快

缺点:

会产生外存碎片。可紧凑法弥补,但需要额外的空间,和内存紧凑相比更花时间。
创建文件时要给出文件大小;存储空间利用率不高,不利于文件的动态增加和修改;
适用于变化不大顺序访问的文件,在流行的UNIX系统中仍保留了连续文件结构。如对换区

  1. 链接分配

可以为每一个文件分配一组不相邻的盘块。
设置链接指针,将同属于一个文件的多个离散盘块链接成一个链表,这样形成的文件称为链接文件。会有链接成本。
优点:
离散分配,消除外部碎片,提高利用率
同时适用于文件的动态增长;修改容易

  1. 索引分配
    系统运行时只涉及部分文件,FAT 表无需全部调入内存
    每个文件单独建索引表(物理盘块索引),记录所有分配给它的盘块号;
    建立文件时,便分配一定的外存空间用于存放文件盘块索引表信息;
    在这里插入图片描述
    临界资源:

          各进程采取互斥的方式,实现共享的资源称作临界资源。
    
          属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。
    

临界资源是一次仅允许一个进程将使用的共享资源。

临界区:

         每个进程中访问临界资源的那段代码称为临界区(criticalsection),每次只允许一个进程进入临界区,进入后,不允许其他进程进入。不论是硬件临界资源还是软件临界资源,多个进程必须互斥的对它进行访问。

为什么要二级页表?
1.页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框
2.没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问某几个特定的页面。
 两级页表采用离散分配的方式,将页表进行分页,然后将各个页面分别存储在不同的物理块中以解决连续存储的问题。另外一级页表又叫做外层页表,它是用来存储刚刚所划分的各个页面的首地址,通过它我们就可以知道各个页面所处的位置。
任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode…)等等。
进程是程序的一次执行。进程是可以并行执行的计算。进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动。进程是程序在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。
饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。
直接存储器存取(DMA)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。
在这里插入图片描述
块设备文件描述的是以随机访问的数据库为单元的设备,在打开一个块设备文件后,可以直接去访问它的某一个数据块,而不用管其文件系统的内部结构.如,硬盘

字符设备文件指以字符流方式进行操作的设备,如打印机,调制解调器.

最短寻道时间优先算法(SSTF)
SSTF问题描述:SSTF算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能。这种算法会产生“饥饿”现象。在这里插入图片描述

1、算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。

2、优点:改善了磁盘平均服务时间。

3、缺点:造成某些访问请求长期等待得不到服务。
扫描算法(又称电梯算法)
扫描算法问题描述:SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。由于磁头移动规律与电梯运行相似,故又称为电梯调度算法。SCAN算法对最近扫描过的区域不公平,因此,它在访问局部性方面不如FCFS算法和SSTF算法好。

算法思想:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移 [2] 动过程中对遇到的访问 请 求 进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复 。
优点:克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。(如下图表示SCAN图示)
为了防止文件共享可能会导致文件被破坏或未经核准的用户修改文件,文件系统必须控制用户对文件的存取,即解决对文件的读、写、执行的许可问题。为此,必须在文件系统中建立相应的文件保护机制。

文件保护通过口令保护、加密保护和访问控制等方式实现。其中,口令保护和加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。
在这里插入图片描述
现有一个作业,在段式存储管理的系统中已为其主存分配,建立的段表内容如下:
段号 主存起始地址 段长度
0 120 40
1 760 30
2 480 20
3 370 20

计算逻辑地址(2,15),(0,60),(3,18)的绝对地址是多少?
段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。
逻辑地址(2,15)查段表得段长度为20,段内地址15<20,地址不越界,段号2查表得段首地址为480,于是绝对地址为480+15=495。
逻辑地址(0,60)查段表得段长度为40,段内地址60>40,地址越界,系统发出“地址越界”中断。
逻辑地址(3,18)查段表得段长度为20,段内地址18<20,地址不越界,段号3查表得段首地址为370,于是绝对地址=370+18=388。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值