软件设计师3:操作系统

    xiaoxiao2024-12-20  64

    操作系统

    考点: 1.操作系统的内核(中断控制)、进程、线程的概念 2.处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁) 3.存储管理(主存保护、动态链接分配、分段、分页、虚存) 4.设备管理(I/O控制、假脱机) 5.文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理) 6.作业管理(作业调度、作业控制语言、多道程序设计) 7.汉字处理、多媒体处理、人机界面 8.网络操作系统和嵌入式操作哦系统基础知识 9.操作系统的配置

    进程

    1.进程的基本概念以及状态变化 2.进程死锁 3.进程同步,信号量,前趋图,PV原语 进程的三态图 进程由系统调度,得到CPU时间去运行;当进程时间片到,或被高优先级的进程抢占,将被调度成就绪状态。 进程的五态图 静态就绪:进程将被挂起到外存中,其中挂起状态包括静态就绪和静态阻塞;活跃就绪:进程没有CPU时间但仍在内存中就绪——>运行:被调度程序选中运行——>就绪:超时(CPU时间到),或被高优先级的进程剥夺运行——>等待:不具备运行条件,等待某一事件的发生等待——>就绪:等待的事件已经发生,具备运行条件挂起——>就绪:唤醒、激活、恢复就绪——>挂起:挂起用户进程可以控制:唤醒操作系统可以控制:调度、超时 进程管理是操作系统的核心。如果一个进程在等待一个不可能发生的事,则进程就死锁了。如果一个或多个进程产生死锁,就会造成系统死锁。练习 不可能产生死锁的的资源数(资源分配) 死锁的必要条件 互斥条件:一个资源每次只能被一个进程使用保持和等待条件:进程获取资源后,会对已获取的资源保持不放,其他进程则等待不可剥夺条件:进程获取资源后,系统不能强行收回,只能由进程自己释放环路等待条件:若干个进程形成环路链,每个都占用对方要申请的下一个资源 解决死锁的策略 死锁预防:进程申请资源的时候一次性分配全部资源(破坏保持与等待条件);将资源分层,得到上一层资源后,才能申请下一层资源(破坏环路等待条件)。缺点是降低系统的运行效率。死锁避免:进程每次申请资源的时候由系统判断这些操作是否安全,代表算法是银行家算法。缺点是增加系统的开销。死锁检测:判断系统是否处理死锁状态,如果是则执行死锁解除策略。死锁解除:关键是剥夺,即将资源强行剥夺,并分配给其他进程。 银行家算法 核心思想:分配资源的前提的:(1)进程得到资源后可以完成;(2)系统有剩余资源可以使用 前趋图 前趋图是一个有向循环图,Directed Acyclic Graph,DAG,用于描述进程之间的前后关系。图中的每一个节点表示一个进程,节点间的边表示节点间存在偏序或前趋关系。如Pi->Pj,表示Pi是Pj的直接前趋,而Pj是Pi的直接后继没有前趋节点的称为初始节点,没有后继节点的称为终止节点 PV操作的基本概念 生产者-消费者问题:尽管所有的生产者进程和消费者进程都是以异步的方式运行,但它们之间必须保持同步(消费者不能从一个空缓冲区中获取产品,生产者不能向一个满缓冲区中放产品)临界资源:进程间需要以互斥的方式访问对其进行共享的资源,如打印机、磁带机等临界区:每个进程中访问临界资源的那段代码称为临界区操作系统中,进程之间经常存在互斥(共享独占性的资源)和同步(完成异步的两个进程的协作)两种关系信号量:标记一个临界资源的剩余数量P操作:使S=S-1,若S<0,进程暂停执行,放入信号量等待队列(S就是信号量)V操作:使S=S+1,若S>=0,唤醒等待队列中的一个进程 单缓冲区生产者-消费者问题PV原语描述(S1:表示缓冲区的数量,S2:表示产品的数量) 多缓冲区生产者-消费者问题PV原语描述(mute:某个缓冲区是否在使用中)

    存储

    (与软件相关的部分由操作系统管理,与硬件相关的部分由计算机组成原理管理) 1.实存管理 2.虚存管理 3.cache与主存 重定位 静态重定位:在程序执行之前,由装配程序完成地址映射工作。(程序的逻辑地址与内存的物理地址的映射)动态重定位:在程序执行的过程中,在CPU访问内存之前,将要访问的程序和数据地址转成内存地址。(增加重定位寄存器记录程序段的内存起始地址) 实存管理 存储管理的任务就是存储空间的分配和回收,分配方式有:单一连续分配:静态分配法,不分区,所有用户空间给某个进程或作业固定分区分配:静态分配法,分成大小不等的区域,区域分完后固定不变可变分区分配:动态分配法,分成大小不等的区域,根据用户要求动态分配。分配算法: 最佳适应算法:选择等于或最接近作业需求的内存自由区进行分配,但可能带来更小的碎片首次适应算法:从主存低地址开始,寻找第一个可用的自由区(大于等于作业需求的内存),优点是可实现快速分配,缩短查找时间最差适应算法:选择整个主存中最大的内存自由区循环首次适应算法:首次适应算法的一个变种,不再是每次从头开始匹配,而是连续向下匹配 虚存管理(页式存储) 当程序的大小大于内存大小的时候,为了能够正常运行程序,就要使用虚存。虚存的本质上是将内存和程序分块,按照内存的能力调用程序块。页式存储中,每页的大小都是固定的 段式存储 段式存储中,可以根据程序的功能模块进行分段,段的大小不固定。 段页式存储 段式存储可以根据程序的功能模块分段,这些段可在多进程中共享复用,但缺点是要求连续的内存空间导致空间碎片多、浪费内存空间页式存储的块大小固定且不要求连续的内存空间,产生的空间碎片少,但缺点是无法按照程序功能分块导致块大多数无法复用综合二者的优点,可以使用段页式存储(先分段再分页)在多道程序环境下,每个用户进程使用基号来标记(基号,段起始号) 页面置换算法 最优算法(OPT):在内存中,选择页号位于序列中最后(或不存在)的淘汰先进先出(FIFO):先进先出的循环淘汰最近最少使用(LRU):在内存中,选择最近最少使用的块淘汰关键:计算缺页次数(缺页:只要内存中没有的页就算缺页) 局部性原理 时间局部性:某段程序或数据刚被访问,那么它在不久的将来将很有可能被再次访问空间局部性:程序访问了某个存储单元,那么将很大可能会访问其周边的存储单元正是局部性原理的存在,才促进了虚存的出现

    作业管理

    作业 作业由三部分构成:程序、数据和作业说明书,它是用户在完成一项任务过程中要求计算机系统所做工作的集合作业的状态:后备、运行、完成作业从后备状态被调度时,系统会为作业分配一个进程 作业调度算法 先来先服务(FCFS)最短作业优先(SJF)最高响应比优先算法 响应比=周转时间/估计运行时间响应比=1+等待时间/估计运行时间 定时轮转优先数 作业的周转时间:完成时间-提交时间 带权作业周转时间:周转时间/实际运行时间区分: 作业调度:将作业从外存调度进内存进程调度:读取内存中的作业(或者其他)进程来执行

    文件管理

    树状目录相对路径和绝对路径根据路径去访问文件的时候,需要访问磁盘的次数spooling技术(假脱机技术):利用缓冲区来实现
    最新回复(0)