(干货,建议收藏)备战2021年软考中级网络工程师-02操作系统

备战2021年软考中级网络工程师-02操作系统

本文目录

  • 一、前言
  • 二、中级网络工程师复习笔记-02操作系统
    • (一)操作系统概述
      • 计算机软件总体分为系统软件和应用软件两大类
      • 程序设计语言分类
        • 1.机器语言
        • 2.汇编语言
        • 3.高级语言
        • 4.4GL语言
    • (二)进程管理
      • 三种状态转换关系
        • 1.运行态--->就绪态
        • 2.就绪态--->运行态
        • 3.运行态--->阻塞态
        • 4.阻塞态--->就绪态
      • 死锁的四个必要条件
        • 〈1〉互斥条件
        • 〈2〉不可抢占条件
        • 〈3〉保持和等待条件
        • 〈4〉循环等待条件
      • 死锁破解方法
        • 1.死锁预防
        • 2.死锁避免
        • 3.死锁检测与恢复
      • 银行家算法简明技巧
      • 进程的互斥和同步
    • (三)存储管理
      • 页式存储
      • 页面置换算法
        • 1.先进先出算法(FIFO)
        • 2.最近最少使用算法(LRU)
        • 3.最长时间不使用算法(OPT)
    • (四)文件管理
      • 树形目录结构
        • 1.绝对路径
        • 2.相对路径
    • (五)设备管理
      • 数据传输控制方式
        • 1.程序控制方式
        • 2.程序中断方式
        • 3.DMA方式
  • 三、与作者更多学习交流

一、前言

近来在研究python的时候无意间了解到还可以参加软考,拿到国家工信部认定的工程师资格,既可以在北上广深申请办理北京居住证,享受积分落户的优惠政策,又可以在职场作为升职加薪的硬性条件,还可以提升自己的计算机基础能力水平,何乐而不为呢?
证书
经查,此考试上半年考试时间为5月底(第三个周六、周日),下半年考试时间为11月中旬(第二个周六、周日)。现在已经8月,那么我只能考下半年的11月这场考试了。
在这里插入图片描述

根据以上软考的分类,我选择的是中级网络工程师。听说初级的太简单了,建议直接从中级起考,而我粗略看了下这些资格的考试大纲和以前的一些真题,只有网络工程师我学过一部分内容,似乎考起来难度较小,比较适合我。
点击下方链接查看如何报名:
计算机技术与软件专业技术资格(水平)考试全国各省市考试报名
成功报名和缴费后要及时登录人事考试频道下载打印准考证,凭准考证和本人有效居民身份证原件参加考试哦。
**

二、中级网络工程师复习笔记-02操作系统

**


(一)操作系统概述


操作系统 (Operating System,简称OS)是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源等。

计算机软件总体分为系统软件和应用软件两大类

(1)系统软件是各类操作系统,如windows、Linux、UNIX等,还包括程序设计语言和数据库系统,即裸机自带软件。

(2)应用软件是专门为某一应用目的而编制的软件,如文字处理软件、信息管理软件和游戏软件等。

程序设计语言分类

1.机器语言

二进制编程,计算机能直接执行的语言,但对程序员可读性差

2.汇编语言

符号化的机器语言,掌握了汇编语言就可以操作计算机的底层,但可读性仍然不是很好

3.高级语言

用数学函数和英文字符组成的语言,对程序员较友好,但计算机看不懂,所以需要经过编译程序翻译程序都行。

编译程序是由用户将源程序一次性写好提交编译并运行编译后得到目标码模块。

解释程序对源程序直接加工,一边翻译,一边执行。不形成再次调用它执行的目标码文件。解释程序所用翻译空间小,反应快,但运行效率慢。

4.4GL语言

只需告知计算机“做什么”,而不必告知计算机“怎么做”,比如数据库查询语句。


(二)进程管理


进程有三大状态,

运行态,某进程占有CPU,正在运行中;

就绪态,某进程万事俱备,只欠CPU;

阻塞态,正在执行的进程,由于缺乏资源要等待某事件发生而无法执行时,便主动放弃CPU。

(干货,建议收藏)备战2021年软考中级网络工程师-02操作系统_第1张图片

上图是博主自己在word里敲出来的呢,三种状态有四种转换关系,一个进程在它的生命周期里可以多次处于运行,就绪和阻塞态,

三种状态转换关系

1.运行态—>就绪态

当进程被更高优先级进程抢占或分配给它的一个时间片用完而不得不让出CPU,该进程从运行态变成就绪态。

2.就绪态—>运行态

当进程分配到CPU资源,进程从就绪态变成运行态。

3.运行态—>阻塞态

当进程等待外部资源而无法继续执行时,进程从运行态变成阻塞态。

4.阻塞态—>就绪态

当进程等待的外部资源充足,进程由阻塞态转变为就绪态。

死锁问题:

进程管理是操作系统的核心,但若设计不当,就会出现死锁问题,死锁指多个进程循环等待其它方占有的资源而无限期地僵持下去的局面。

死锁的四个必要条件

四个必要条件只要缺了一个就不会发生死锁:

〈1〉互斥条件

即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。互斥资源指某资源在一段时间内只能由一个进程所使用,其他进程无法使用。

〈2〉不可抢占条件

某进程所获得的资源在未使用完毕之前,即便是更高优先级的进程也不能抢占其资源。

〈3〉保持和等待条件

某进程至少已经占有一个资源,但又申请新的资源,于是各进程分别保持自己已有资源并等待其他进程释放资源。

〈4〉循环等待条件

你等我,我等你,互相等待,形成一个进程循环等待环。

死锁破解方法

1.死锁预防

是预先采取措施保证系统不进入死锁状态的一种策略。它的基本思想是预先要求进程申请资源时遵循某些规则而破坏产生死锁的四个必要条件。

2.死锁避免

在分配资源时会通过算法如银行家算法判断是否会出现死锁,若不会出现死锁则判定为安全状态,分配资源,若会出现死锁则判定申请资源的序列为不安全序列,不予分配资源。

3.死锁检测与恢复

事先不采取任何措施,直接干,出现问题了再来补救和恢复,这样处理以节约事先监测的成本。当死锁发生时,死锁检测机构能够检测到死锁发生的位置和原因,并能通过外力破坏死锁发生的必要条件,从而使得并发进程从死锁状态中恢复出来。

银行家算法简明技巧

银行家算法说白了就是比大小。

假设系统中有三类互斥资源R1,R2,R3,可用资源数分别为9,8,5,在某时刻系统中有P1~P5五个进程,这些进程对资源的最大需求量和已分配资源如下表所示,求一个分配资源的安全序列,使得分配资源后不会发生死锁。

(干货,建议收藏)备战2021年软考中级网络工程师-02操作系统_第2张图片

已知了资源总数,各进程对资源的最大需求量和已分配资源数,那么第一步我们通过资源总数和已分配资源数算出现有资源数,通过最大需求量和已分配资源数算出现需资源数

(干货,建议收藏)备战2021年软考中级网络工程师-02操作系统_第3张图片

**接下来就是比大小和回收资源,回收了资源后,变大,接着比大小,直到最大。**我们只用看一列下来现有资源数比现需资源数大的进程,只有P2三列都满足条件,那么我们现有的资源只能满足进程P2的需求,满足需求的分配给它资源后让其运行完就可以释放资源。

相当于只要能满足某进程需求就可以把这个进程的已分配资源拿回来。

选P2,回收其已分配资源,现有资源数R1,R2,R3分别对应变为4,2,1,再选P4,回收,现有资源分别对应变为5,4,1,那么又可以选择P1和P5了,不妨选P1,回收,现有资源变为6,6,2,接下来选P3和P5都可以了,随便怎么玩都行,安全序列很容易就找到了。

安全序列:P2,P4,P1,P5,P3或P2,P4,P5,P3,P1或P2,P4,P1,P3,P5或P2,P4,P5,P1,P3。

进程的互斥和同步

同步是直接制约关系,互斥是间接制约关系。

为禁止两个进程同时进入临界区,同步机制应遵循以下准则:

  • 空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区。
  • 忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待。
  • 有限等待。对请求访问的进程,应保证能在有限时间内进入临界区。
  • 让权等待。当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。

临界资源:是一次仅允许一个进程使用的共享资源,例如打印机,磁带机等。

临界区:每个进程中访问临界资源的那段代码称为临界区。

信号量是一种特殊的变量,PV操作解决互斥和同步问题,

P操作使S=S-1,若S>=0,则该进程继续执行,否则该进程排入等待队列。

V操作使S=S+1,若S<=0,则唤醒等待队列中的一个进程。

信号量中信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时其绝对值则表示正在等待使用共享资源的进程数。

生产者消费者模型很简单,后面刷题遇到有意思的题目的话会再讲解。


(三)存储管理


页式存储

空间将内存的物理地址划分为等长的若干区域,每个区域就是一个块,逻辑地址划分为若干页,称为逻辑页面也叫页,逻辑地址一页对应物理地址一块。

页是由页号确定是哪页和页内地址确定在某一页的页内的哪个具体地址,

假定地址总长度为32位,其中页号占20位,业内地址占12位。这样,逻辑地址可以有2的20次方页,可以编号为0—220,允许地址空间最多有1M个页,每一页大小为4K(2的十二次方=4K=4096),编号为0—4095。从地址结构来看,逻辑地址是连续的,在编制程序时无需考虑如何分页,因为当使用一组顺序地址时,如果地址时0—4095,这显然时第0页,若果是4096—8191,这用的是第1页,也就是页号为1。

由页号去内存中的页表中查找到块号,看看与此页号一一对应的是哪个内存块。

页式存储优点:利用率高,碎片小,分配及管理简单。

页式存储缺点:增加了系统开销,可能产生抖动现象。

页面置换算法

1.先进先出算法(FIFO)

字面意思,先进来的页面就先淘汰,效果不好

2.最近最少使用算法(LRU)

其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。淘汰掉目前内存页面中存放的页面中最长时间没被访问过的页面。

3.最长时间不使用算法(OPT)

淘汰掉未来最长时间不被使用的页面,但基本无法实现,没人可以预测未来。


(四)文件管理


树形目录结构

1.绝对路径

指从根目录开始到指定目录的全部经过的路径。

2.相对路径

指从当前目录出发到指定目录的经过路径,其中:/指返加上一级目录。


(五)设备管理


数据传输控制方式

1.程序控制方式

程序控制方式由用户进程直接控制主存或 CPU 和外围设备之间的信息传送。直接程序控制方式又称为询问方式,CPU需要时刻监听外设的状态。把CPU比作老板,程序控制方式相当于老板时刻亲自跟进客户“外设”的需求,效率较低。

2.程序中断方式

为了减少程序控制方式下 CPU 的等待时间以及提高系统的并行程度,引入了中断,外围设备仅当操作正常结束或异常结束时才向 CPU 发出中断请求。在 I/O 设备输入每个数据的过程中,由于无需 CPU 的干预,一定程度上实现了 CPU 与 I/O设备的并行工作,适用于鼠标、键盘。把CPU比作老板,程序中断方式相当于老板请了一个秘书“中断”,但秘书每完成一点工作都要向老板汇报,其效率仍然不高。

3.DMA方式

为了进一步减少 CPU 对 I/O 操作的干预,引入直接存储器访问控制方式, DMA(Direct Memory Access)方式。在 DMA 控制器的控制下,采用窃取或挪用总线控制权,在外设和内存之间开辟直接数据交换通道,CPU不干预地成批交换数据。把CPU比作老板,DMA方式相当于老板请了一个代理人“DMA”,其自主性比秘书“中断”更高,每一批的数据传输完成才需要向老板汇报,“DMA”效率比“中断”更高。

我目前整理的软考中级网络工程师-02操作系统笔记就这么多啦,如果各位大佬还有什么要补充的重点或者想要与作者交流,可以在下方留言哦,
跪求各位大佬一键三连,孩子可是码了一个晚上的字呢。


三、与作者更多学习交流


如果想要与作者更多的学习交流,欢迎加作者微信。
作者微信号:Communistic_belief

你可能感兴趣的:(软考-中级网络工程师,网络,操作系统)