1、操作系统

软件设计师需要有扎实的理论知识,而操作系统作为计算机科学最为基本的理论基础和分支领域之一,是软件设计师必须重点掌握的知识。本章将介绍操作系统相关的考点,并辅以练习题,以便考生切实掌握相关内容。
根据考试大纲,本章要求考生掌握以下几个方面的知识点。
(1)操作系统的内核。
(2)操作系统的五大管理功能:进程管理、存储管理、设备管理、文件管理、作业管理。
(3)网络操作系统和嵌入式操作系统基础知识。
(4)操作系统的配置。
从历年的考试情况来看,本章主要考查进程管理(进程状态转换图、信号量与PV操作、死锁问题、银行家算法)、存储管理(段页式存储、页面置换算法、磁盘调度)、文件管理(树形文件系统)。

一、进程管理:
进程管理也称为处理机管理 ,该部分内容是整个操作系统部分的考查重点
主要知识点有:进程状态转换图、信号量与PV操作、死锁问题、银行家算法

1.进程状态转换图
进程状态转换图用于展现进程的状态 ,以及各种状态之间的转换 。最为常见的有:三态模型和五态模型 ,其后又提出了七态模型 。在考试中,要求考生掌握五态模型。五态模型是对三态模型的扩展(即五态模型已经包含了三态模型)。标准的五态模型如图2-1所示。

从该图可以看出,五态模型中的五态为:执行状态(运行状态)、活跃就绪状态、活跃阻塞状态 、挂起就绪状态、挂起阻塞状态。其中前三种状态组成了三态模型。
执行状态:指进程占有处理机正在CPU上执行 的状态。在单CPU系统中,每一时刻只有一个进程处于执行状态。
活跃就绪状态:指进程分配到除处理机以外的必需的资源 (已经具备了执行的条件)的状态。进程被创建后处于就绪状态,处于就绪状态的进程可以有多个。
活跃阻塞状态:指进程因等待某个事件的发生而放弃处理机进入 等待状态。系统中处于这种状态的进程可以有多个。
挂起就绪状态:指进程被移至磁盘镜像区中 ,此时进程只缺处理机资源
挂起阻塞状态:指进程被移至磁盘镜像区中,此时进程除了缺处理机资源,还缺其它资源

2.信号量与PV操作
在操作系统中,进程之间经常会存在互斥和同步两种关系 。为了有效地处理这两种情况,W.Dijkstra在 1965年提出信号量和PV操作
信号量是一种特殊的变量 ,表现形式是一个整型S和一个队列。
P操作:也称为down()、wait()操作,使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列。
V操作:也称为up()、signal()操作,使S=S+1,若S≤0,唤醒等待队列中的一个进程。

(1)完成互斥控制
也就是为了保护共享资源不让多个进程同时访问这个共享资源 ,换句话说,就是阻止多个进程同时进入访问这些资源的代码段,这个代码段称为临界区(也称为管程),而这种一次只允许一个进程访问的资源称为临界资源。为了实现进程互斥地进入自己的临界区,代码可以如下所示:P(信号量)临界区 V(信号量)
由于只允许一个进程进入,因此信号量中整型值的初始应该为1。该值表示可以允许多少个进程进入,当该值<0时,其绝对值就是等待使用的进程数,也就是等待队列中的进程数。而当一个进程从临界区出来时,就会将整型值加1,如果等待队列中还有进程,则调入一个新的进程进入(唤醒)。
(2)完成同步控制
最简单的同步形式是:进程A在另一个进程B到达L2以前,不应前进到超过点L1,这样就可以使用程序,如下所示:
进程A进程B
… …
L1:P(信号量)L2:V(信号量)
… …
因此要确保进程B执行V操作之前,不让进程A的运行超过L1,因此信号量的初值就应该为0。这样,如果进程A先执行到L1,那么执行P操作后,信号量的整型值就会小于1,也就停止执行。直到进程B执行到L2时,将信号量的整型值加1,并唤醒它以继续执行。
在考试中,该知识点出题形式主要是给出一系列操作,让考生在适当位置填充P操作或V操作。

3.死锁问题
死锁是指各并发进程彼此互相等待对方所拥有的资源 ,且这些并发进程在得到对方的资源之前不会释放自己所拥‘’有的资源 。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态
产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数 。产生死锁有四个必要条件:
(1)互斥条件 :即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
(2)保持和等待条件 :有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放
(3)不剥夺条件:有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回 ,只能由进程使用完时自己释放。
(4)环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源

对待死锁的策略主要有:
(1)死锁的预防。不让任一产生死锁的必要条件发生就可以预防死锁。
(2)死锁的避免。这种策略不对用户进程的推进顺序加以限制,在进程申请资源时先判断这次分配安全否 ,只有安全才实施分配,典型的算法是银行家算法
(3)死锁的检测。这种策略采用资源请求分配图的化简方法来判断是否发生了不安全状态。资源请求分配图是一种有向图,表示进程与资源之间的关系。死锁的检测是在需要的时刻执行的,当发现系统处于不安全状态时,即执行死锁的解除策略
(4)死锁的解除。解除死锁的基本方法是剥夺。一种方法是把资源从一些进程处剥夺分给别的进程 ,被剥夺资源的进程则需回退到请求资源处重新等待执行;另一种方法是终止一个进程,剥夺其全部资源,以后再重新运行被终止的进程

4.银行家算法
银行家算法是一种经典的死锁避免方法 。银行家算法的基本思想是:当某个进程提出申请时,必须判断将资源分配给该进程后,会不会引起死锁。 若不会,则进行分配;否则就不分配。这样做能保证在任何时刻至少有一个进程可以得到所需的全部资源而执行结束,并将归还资源加入到系统的剩余资源中,这些资源又至少可以满足一个进程的最大需求,于是保证所有进程都能在有限的时间内得到需求的全部资源。
按照银行家算法的思想,当进程请求资源时,系统将按如下原则分配资源:
(1)当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
(2)进程可以分期请求资源,但请求的总数不能超过最大需求量。
(3)当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
(4)当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足则按当前的申请量分配资源,否则也要推迟分配。

二、存储管理
存储管理是操作系统的重要职能之一,在计算机中,存储是分层次的体系结构。层次从高到低包括:寄存器(CPU中)、Cache、内存、外存(硬盘,U盘,光盘等) 。在本节,主要论述虚拟存储管理技术中的页式存储、段式存储、段页式存储,以及磁盘的基本工作原理

  1. 页式存储组织
    页式存储组织的基本原理是将各进程的虚拟空间划分为若干个长度相等的页 ,把内存空间以与页相等的大小划分为大小相等的片或页面,采用请求调页或预调页技术实现内外存的统一管理 。页式存储组织的主要优点是利用率高,产生的内存碎片小 ,内存空间分配及管理简单。主要缺点是要有相应的硬件支持,增加了系统开销;请求调页的算法如选择不当,有可能产生“抖动”现象。

  2. 段式存储组织
    一个作业是由若干个具有逻辑意义的段(如主程序、子程序、数据段等)组成 。在分段系统中,允许程序(作业)占据内存中若干分离的分区 。分段系统中的虚地址是一个有序对(段号,段内位移)。系统为每一个作业建立一个段表 ,其内容包括段号与内存起始地址的对应关系、段长和状态等 。状态指出这个段是否已调入内存,若已调入内存,则指出这个段的起始地址位置,状态同时也指出这个段的访问权限。如果该段尚未调入内存,则产生缺段中断,以便装入所需要的段 。段式存储组织的主要优点有:便于多道程序共享内存,便于对存储器的保护 ,各段程序修改互不影响。其缺点是内存利用率低,内存碎片浪费大

  3. 段页式存储组织
    段页式存储组织是分段式和分页式结合的存储组织方法,这样可充分利用分段管理和分页管理的优点。在段页式管理的存储器中,程序按逻辑单位分成基本独立的段,再把每段分成固定大小的页 。内存则等分成与上述页大小相等的页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。
    在多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号 。一个逻辑地址中,除了基号x、段号s和页号p外,还有一个页内地址d。每个逻辑地址变换成实地址的过程如下:根据基号找到相应的基址寄存器,由该基址寄存器内容找到该程序对应的段表始地址,再由段号找到该段表中相应行地址,该行地址中的内容为页表起始地址,再由页号找到物理页号的地址(已是内存中的某页)它与页内地址拼接后即得物理地址。可见段页式管理中需要多次查表才能最终获得物理地址。该过程可简单地用一个式子来示意,即其中,(x)表示基寄存器中地址为x的单元的内容,n为页内地址的位数。
    段页式管理将段式存储管理和页式存储管理两种方式相结合,互相取长补短,充分发挥了它们的优点。使段页式虚拟存储器管理方案具有空间浪费小、存储共享容易、存储保护容易、能动态连接的特点。但由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。

  4. 页面置换算法
    由于实际主存是小于虚存的 ,因此可能会发生内存中已满,但需要使用的页不在主存中 这一情况。这时就需要进行置换,即将一些主存中的页淘汰到外存,腾出空间给要使用的页,这个过程也称为Swapping。其工作原理与Cache调入相类似
    最优算法(OPT):淘汰不用的或最远的将来才用的页 。这是一种理想算法,不可能实现,只是用来作为衡量算法效率的参照物。
    随机算法(RAND):随机淘汰。这种算法开销小 ,但性能不稳定。
    先进先出算法(FIFO):选择最早调入(也是驻留时间最长)的页
    最近最少使用算法(LRU):选择离当前时刻最近的一段时间内使用得最少的页

  5. 局部性原理
    存储管理策略的基础是局部性原理 ,即进程往往会不均匀地高度局部化地访问内存 。局部性分为时间局部性和空间局部性时间局部性是指最近访问存储位置,很可能在不久的将来还要访问 ;空间局部性是指存储访问有聚集的倾向,当访问了某个位置后,很可能也要访问其附近的位置
    根据局部性原理的特征性,Denning阐述了程序性能的工作集理论。工作集是进程频繁访问的页面的集合。工作集理论指出,为使进程有效地运行,它的页面工作集应驻留内存中 。否则,由于进程频繁地从外存请求页面,而出现称为“抖动”(又称颠簸) 的过度的页面调度活动。此时,处理页面调度的时间超过了程序的执行时间。显然,此时CPU的有效利用率会急速下降
    工作集的大小依赖于工作集窗口(进程在定长时间间隔中涉及到的页面的集合)的大小,在进程执行时,工作集会发生变化。有时,当进程进入另一具完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程的执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。
    另一种控制颠簸的技术是控制缺页率 。操作系统规定缺页率的上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间 ,则分配较多的内存页面给它。当进程的缺页率低于下限时,表明该进程占用的内存空间过大,可以适当地收回若干内存页面。

  6. 磁盘工作原理
    磁盘是最常见的一种外部存储器,它是由1至多个圆形磁盘 组成的,其结构如图2-9所示。

    (1)概念
    磁道 :磁道是一组记录密度不同的同心圆 。在一个磁盘中,从外到内,磁盘记录密度不断增加 。同时,值得注意的是,0磁道是磁盘最外圈的磁道。
    扇区 :磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区
    柱面 :一个磁盘中,多个记录面相同磁道组成柱面 。如磁盘有9个记录面,则这9个记录面的0磁道可组成一个柱面
    注意:硬盘就是磁盘的一种。硬盘工作时,无论是否在进行数据的读取,其盘片都是不断旋转的状态。

(2)公式
平均数据传输速率

【软考】操作系统计算机网络复习指南相关推荐

  1. 计算机软考串行和并行公式,2011年计算机软考网络管理员复习笔记第二章

    2011年计算机软考网络管理员复习笔记第二章 第二章 数据通信 (1) 数据通信:两个实体间的数据传输和交换. 2.1数据通信技术 2.1.1 模拟数据通信和数字数据通信 (2) 模拟数据:在某个区间 ...

  2. 软考|网络工程师复习资料、附历年真题、详细学习笔记,考试重点,看过的人都能过!

    本人于2018年上半年通过网络工程师,手中有2018年最新视频资料,历年真题,个人笔记,详细内容都会通过CSDN发布 对于那种直接贴邮箱要资料的,只想说可否尊重一下我们,我们有些资料也是付费购买的,然 ...

  3. 计算机软考初级工程资料,计算机软考网络工程师复习资料及习题(一)

    1. 若是serial0 is up, line protocol is up表示该端口工作正常. 2.若是serial 0 is down, line protocol is down表示路由器到本 ...

  4. 2021软考数据库工程师复习笔记记录

    计算机的硬件基础知识 1.cpu: 运算器 : 掌握!!☆☆☆ ALU算数逻辑单元:处理数据 AC累加寄存器:提供一个工作区 DR数据缓冲寄存器:暂时存放指令 PSW状态条件寄存器. 速记:运算加缓状 ...

  5. 随笔:信息系统项目管理师(软考高级2023)考试指南

    1.软考的级别设置 1.全国计算机软件资格考试设三个级别层次,五个专业,共有27种岗位资格考试 2.除了初级信息处理技术员为上机考试,其他均为笔试 3.信息系统项目管理师.系统规划与管理师.系统集成项 ...

  6. 软考的计算机网络的IP地址应用

    前言: 其实不单单是为了软考而准备,同时其实如果只是单纯准备过软考的话,这部分并不用弄得非常透彻,但是想更好的了解整个始末,因此在这期间查阅了许多相关资料, 基础知识: 二进制和十进制.二进制和十六进 ...

  7. 软考-软件设计师-复习整理

    第一章计算机组成与体系结构 原码.反码.补码.移码 正数:原码.反码.补码相同,移码在补码的基础上取反 负数:反码取反,补码=反码+1 使用补码参与加减运算 浮点的表示:N=尾数*基数指数 浮点的运算 ...

  8. 软考中级——计算机网络与信息安全基础概要

    目录 一.OSI/RM七层模型 二.网络的拓扑结构 三.计算机网络的分类 四.TCP /IP 协议族 五. IP地址 与子网划分 六.网络攻击的分类 七.对称加密技术与数字签名​​​​​​​ 八.各个 ...

  9. 软考程序员复习(二)计算机系统基础知识

    文章目录 知识点框架 计算机分类 计算机系统组成 计算机硬件系统 CPU组成 双核与多核处理器 存储 存储器的层次结构 主存的结构 高速缓存 外存储器 输入与输出技术 IO系统 知识点框架 计算机分类 ...

最新文章

  1. TCP/IP协议学习之TCP、IP篇
  2. Laravel 5 中间件、路由群组、子域名路由、 权限控制的基本使用方法
  3. access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货
  4. python max函数_使用'key'和lambda表达式的python max函数
  5. php7的稳定性,探索PHP7(一)--性能
  6. nginx之线上CDN的rewrite规则修改
  7. Celery框架简单实例
  8. 搭建python_Crawlab准备之python+scrapy环境搭建
  9. android设计安全性,Android操作系统安全性增强方案的设计与实现
  10. srsLTE源码学习:度量中心:metrics_hub.h
  11. oracle主机自增,Oracle中实现ID自增
  12. Html 在线预览word、excel、pdf等文档
  13. 锂离子电池知多少——①正极材料
  14. 今年这形势,程序员被裁员如何申请N+1,本文教科书 式 案例 供参考
  15. oracle共有同义词,Oracle同义词概念
  16. 最全最新cpu显卡天梯图_CPU天梯图2020年-2020年最新CPU天梯图(高清大图) - 系统家园...
  17. C语言黑与白问题代码及解析(内附视频)
  18. java 大数加减算法
  19. 同一局域网内手机访问电脑本地localhost网页
  20. zeppelin整合hive

热门文章

  1. 电学 —— 家庭用电中的电学现象
  2. a = b(将 b 赋值给 a 的另类实现)
  3. 机器学习基础(六十一)—— 范数及范数的微分
  4. C++::My Effective C++
  5. python能做什么-学 Python 都用来干嘛的?
  6. 自学python能干些什么副业-学会Python有哪些可以做的兼职?
  7. python基础教程廖雪峰云-Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
  8. python手机版-python做app
  9. 林斌宣布好消息!语音识别大佬、Kaldi之父加盟小米
  10. centos dns服务器_用 OpenStack Designate 构建一个 DNS 即服务(DNSaaS) | Linux 中国