• 现代操作系统笔记


    总结《现代操作系统》的一些概念知识。

    1.进程上下文环境:

    对进程运行活动全过程的静态描写叙述

    由进程的用户地址空间内容、硬件寄存器内容及与该进程相关的核心数据结构组成

    •     用户级上下文:进程的用户地址空间(包含用户栈各层次)。包含用户正文段、用户数据段和用户栈
    •     寄存器级上下文:程序计数器、程序状态寄存器、栈指针、通用寄存器的值
    •     系统级上下文:  静态部分(PCB和资源表格)   动态部分:核心栈(核心过程的栈结构。不同进程在调用同样核心过程时有不同核心栈)

    2.构造server的三种方法:

    进程中的线程是相互协作的,而不是相互对立的。

    假设放弃是为了应用程序。那么线程将 放弃 CPU。

    毕竟,一般是同一个程序猿写的代码。

    多线程: 并行性、堵塞系统调用

    单线程进程: 无并行性、堵塞系统调用

    有限状态机: 并行性、非堵塞系统调用、中断

    3. 临界区(相互排斥区)的使用原则

    不论什么两个进程不能同一时候处于其临界区中

    不应对CPU的速度和数量做不论什么如果

    临界区外执行的进程不得堵塞其它进程

    不得使进程无限期等待进入临界区

    4.忙等待: 进程在得到临界区訪问权之前,持续測试而不做其它事情

    5. 原语: 完毕某种特定功能的一段程序。具有不可切割性或不可中断性 即原语的运行必须是连续的。在运行过程中不同意被中断,能够通过屏蔽中断、測试与设臵指令等来实现 

    6.管程: 是一个特殊的模块,有一个名字,由关于共享资源的数据结构及在其上操作的一组过程组成

    7. 多级反馈队列调度算法:

      设置多个就绪队列.给每一个就绪队列中的进程分配不同的时间片,优先级高的为第一级队列,时间片最小;随着队列优先级别的减少。时间片增大

    • 当第一级队列为空时,在第二级队列调度。以此类推;各队列依照FIFO+时间片调度算法进行调度,最后一级依照RR
    • 当一个新进程就绪后,进入第一级队列
    • 进程因为堵塞而放弃CPU时,进入对应等待队列。一旦等待的事件发生,则回到原来的就绪队列
    • 时间片到,进程放弃CPU。进入下一级队列
    • 当有一个优先级更高的进程就绪时,能够抢占CPU,被抢占进程回到原来一级就绪队列末尾

    8. Windows 线程调度:调度单位是线程,採用基于动态优先级的、抢占式调度。结合时间配额调整,Windows 在单处理机系统和多处理机系统中的线程调度是不同的

    就绪线程按优先级进入对应队列,系统总是选择优先级最高的就绪线程让其执行,同一优先级的各线程按时间片轮转进行调度,多处理机系统中同意多个线程并行执行.调度策略: 主动切换. 抢占: 用户态下执行的线程能够抢占内核态下执行的线程. 当线程被抢占时,它被放回对应优先级的就绪队列的队首. 时间配额用完:

    9. 产生死锁的条件:1>相互排斥使用(资源独占):一个资源每次仅仅能给一个进程使用2>占有且等待(部分分配)一个进程在申请新的资源的同一时候保持对原有资源的占有3>不可抢占(不可剥夺)资源申请者不能强行的从资源占有者手中夺取资源。资源仅仅能由占有者自愿释放.4>循环等待:存在一个进程等待队列

    10.防止死锁发生可採取的措施:

    最多同意4个哲学家同一时候坐在桌子周围

    仅当一个哲学家左右两边的筷子都可用时。才同意他拿筷子

    给全部哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之

    11. 特权指令和非特权指令:

    特权指令:仅仅能由操作系统使用的指令.为什么引入:保护,即使用多道程序设计技术的计算机指令系统必需要区分为特权指令和非特权指令。

    特权指令一般引起处理器状态的切换。处理器通过特殊的机制将处理器状态切换到操作系统执行的特权状态(管态)。然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入..

    管态:操作系统管理程序执行的状态。较高的特权级别,又称为特权态(特态)、核心态、系统态 目态:用户程序执行时的状态。较低的特权级别。又称为普通态(普态)、用户态.

    目态→管态:唯一途径 → 中断或异常(陷入);管态→目态:设置PSW(改动程序状态字)

    12. 中断与异常: 能够觉得操作系统是由“中断(异常)驱动的”或者 “事件驱动的”.

    中断(异常)的定义:CPU对系统中发生的某个事件作出的一种反应;CPU暂停正在运行的程序,保留现场后自己主动转去运行对应事件的处理程序。处理完毕后返回断点,继续运行被打断的程序. 中断(外中断):与正运行指令无关,能够屏蔽。异常(内中断):与正运行指令有关。不可屏蔽。

    13. 系统调用:用户在程序中调用操作系统提供的一些子功能. 一种特殊的过程调用,由特殊的机器指令实现。系统调用是操作系统提供给编程人员的唯一接口,系统状态从目态转入管态。利用系统调用,动态请求和释放系统资源完毕与硬件相关的工作以及控制程序的运行.

    14. 文件:一种抽象机制。一组带标识的、在逻辑上有完整意义的信息项的序列

    文件系统:操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,而且方便用户使用.

    文件的逻辑结构1>流式文件:构成文件的基本单位是字符,文件是有逻辑意义的、无结构的一串字符的集合 优点:提供非常大的灵活性 2>记录文件:文件由若干个记录组成,能够按记录进行读、写、查找等操作.

    15. 文件控制块:文件控制块是操作系统为管理文件而设臵的数据结构,存放了为管理文

    件所需的全部有关信息(文件属性或元数据)文件文件夹:把全部文件的FCB组织在一起,构成文件文件夹(即文件控制块的有序集合)簇:一个或多个(2的幂)连续的扇区。可寻址数据块

    文件卷:磁盘上的逻辑分区,由一个或多个簇组成。

    在同一个文件卷中使用同一份管理数据进行文件分配和磁盘空暇空间管理,而在不同的文件卷中使用相互独立的管理数据

    16. 打开文件:给出文件路径,获得文件句柄(file handle)或文件描写叙述符(file descriptor),需将该文件的文件夹项读到内存① 依据文件路径名查文件夹,找到FCB次部 (或I节点号)② 依据文件号查系统打开文件表,看文件是否已被打开;③ 依据打开方式、共享说明和用户身份检查訪问合法性。④ 在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表相应表项

    17. 文件系统的一致性:问题的产生:磁盘块 → 内存 → 写回磁盘块若在写回之前。系统崩溃。则文件系统出现不一致.解决方式:设计一个有用程序,当系统再次启动时。执行该程序,检查磁盘块(√)和文件夹系统

    18. 文件系统写入方式:

    (1)通写(write-through):内存中的改动马上写到磁盘.缺点:速度性能差.例.FAT文件系统(2)延迟写(lazy-write):利用回写(write back)缓存的方法得到快速.可恢复性差(3)可恢复(transaction log):採用事务日志来实现文件系统的写入.既考虑安全性。又考虑速度性能例:NTFS

    19. 文件系统的性能:文件夹项分解、当前文件夹、内存映射文件1)块快速缓存:系统在内存中保存一些块(块快速缓存),逻辑上它们属于磁盘.2)提前读取.每次訪问磁盘。多读入一些磁盘块.根据:程序运行的空间局部性原理开销较小,具有针对性.3)合理分配磁盘空间:分配块时。把有可能顺序存取的块放在一起,尽量分配在同一柱面上,从而降低磁盘臂的移动次数.4)信息的优化分布:记录在磁道上的排列方式也会影响输入输出操作的时间.5)记录的成组与分解:把若干个逻辑记录合成一组存放一块的工作.6)内存映射文件7)RAID技术:独立磁盘冗余阵列,使用多个并行部件来获得额外的性能提高:1、通过把多个磁盘组织在一起,作为一个逻辑卷提供磁盘跨越功能2、通过把数据分成多个数据块,并行写入/读出多个磁盘,以提高传输数据率(数据分条stripe)3、通过镜像或校验操作,提供容错能力(冗余)8)磁盘调度

    20. 磁盘调度:

    1)先来先服务:按訪问请求到达的先后次序服务 长处:简单,公平; 缺点:效率不高。相临两次请求可能会造成最内到最外的柱面寻道。使磁头重复移动,添加了服务时间,对机械也不利

    2)最短寻道时间优先:优先选择距当前磁头近期的訪问请求进行服务,主要考虑寻道优先.长处:改善了磁盘平均服务时间;缺点:造成某些訪问请求长期等待得不到服务

    3)SCAN(电梯算法)4)C-SCAN:总是沿一个方向扫描,当訪问到最后一个磁道时。磁头臂返回到磁盘相反方向磁道的末端,再次開始扫描.降低了新请求的最大延迟

    5)FSCAN策略,使用两个子队列.克服“磁头臂的粘性”.

    6)旋转调度算法:依据延迟时间来决定运行次序的调度

    21. 地址保护:确保每一个进程有独立的地址空间,确定进程可訪问的合法地址的范围,确保进程仅仅訪问其合法地址. 地址重定位:为了保证CPU执行指令时可正确訪问内存单元,须要将用户程序中的逻辑地址转换为执行时可由机器直接寻址的物理地址,这一过程称为地址重定位

    22. 内存管理基本方案:

    1)可变分区:依据进程的需求,把可分配的内存空间切割出一个分区,分配给该进程

    2)页式:把用户程序地址空间划分成大小相等的部分,称为页。

    内存空间按页的大小划分为大小相等的区域,称为内存块(物理页面,页框,页帧)。以页为单位进行分配。逻辑上相邻的页,物理上不一定相邻3)段式:用户程序地址空间按进程自身的逻辑关系划分为若干段,内存空间被动态的划分为若干个长度不同样的区域(可变分区)。以段为单位分配内存。每一段在内存中占领连续空间,各段之间能够不连续存放 4)段页式:用户程序地址空间:段式;内存空间:页式。分配单位:页

    23交换技术:内存空间紧张时,系统将内存中某些进程临时移到外存,把外存中某些进程换进内存。占领前者所占用的区域(进程在内存与外存之间的动态调度)

    24. 页面置换算法:OPT:置换以后不再须要的或最远的将来才会用到的页面;FIFO:选择在内存中驻留时间最长的页并臵换它;实现:页面链表法;第二次机会SCR:依照先进先出算法选择某一页面。检查其訪问位R,假设为0。则臵换该页;假设为1。则给第二次机会,并将訪问位臵0;时钟算法:优先选择不须要写回磁盘的页面。节省时间;近期未使用算法(NRU):选择在近期一段时间内未使用过的一页并臵换.设臵页表表项的两位訪问位(R),改动位(M);近期最少使用算法(LRU):选择最后一次訪问时间距离当前时间最长的一页并臵换,即臵换未使用时间最长的一页.实现:时间戳 或 维护一个訪问页的栈→开销大;老化算法:对LRU的改进,计数器在加R前先右移一位R位加到计数器的最左端

    25颠簸:在虚存中。页面在内存与外存之间频繁调度。若调度页面所需时间比进程实际执行的时间还多,则系统效率急剧下降,这样的现象称为颠簸或抖动

    26.工作集:思想:依据程序的局部性原理,普通情况下。进程在一段时间内总是集中訪问一些页面,这些页面称为活跃页面,假设分配给一个进程的物理页面数太少了,使该进程所需的活跃页面不能所有装入内存。则进程在执行过程中将频繁发生中断

    27.清除策略:设计分页守护进程,大多数时候它是睡眠,但定期被唤醒以检查内存的状态.当须要使用一个已臵换出的页框时,假设该页框还没有被覆盖。将其从空暇页框缓冲池中移出就可以恢复该页面.使用一个双指针时钟实现清除策略.前指针由分页守护进程控制:当它指向一个“脏”页面时。就把该页面写回磁盘,前指针向前移动;当它指向一个干净页面时,只向前移动指针.后指针用于页面臵换。与标准时钟算法一样

    28页缓冲:不丢弃臵换出的页。将它们放入两个表之中的一个:假设未被改动,则放到空暇页链表中,假设改动了。则放到改动页链表中.被改动的页以簇方式写回磁盘.被臵换的页仍然保留在内存中

    29内存映射文件:进程通过一个系统调用将一个文件映射到其虚拟地址空间的一部分,訪问这个文件就象訪问内存中的一个大数组。而不是对文件进行读写.在多数实现中,在映射共享的页面时不会实际读入页面的内容,而是在訪问页面时,页面才会被每次一页的读入,磁盘文件则被当作后备存储.当进程退出或显式地解除文件映射时全部被改动页面会写回文件.

    30内存管理器的组成:工作集管理器;进程/堆栈交换器;已改动页面写入器;映射页面写

    入器;废弃段线程;零页线程

    31Windows的工作集:驻留在物理内存中的虚拟页面的子集

    进程工作集:为每一个进程分配的一定数量的页框

    系统工作集:为可分页的系统代码和数据分配的页框

  • 相关阅读:
    POJ2142:The Balance——题解
    POJ1061:青蛙的约会——题解
    接口测试结束后的小结
    接口测试结束后的小结
    如何进行需求测试/需求评审
    如何进行需求测试/需求评审
    测试人员掌握代码的重要性
    测试人员掌握代码的重要性
    测试人员掌握代码的重要性
    软件自动化测试开发-开班啦
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6800295.html
Copyright © 2020-2023  润新知