软件设计师必考精华 - 操作系统

目录

1、处理机管理

2、存储管理

3、文件管理

4、嵌入式操作系统

常见题型


1、处理机管理

1.1 程序和进程

程序:一个在时间上按严格次序、顺序执行的操作序列,指令结合,是静态的

进程:是一个具有独立功能的程序关于某个数据集的一次运行活动,是系统资源分配和调度的基本单位,有并发性和动态性

运行的程序是进程,打开任务管理器,QQ音乐、浏览器

线程:处理器分配的最小单位,包含在进程中,是进程的实际运作单位

  • 线程共享的内容包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录、进程用户ID与进程组ID 。

  • 线程独有的内容包括:线程ID、寄存器组的值、线程的堆栈指针、错误返回码、线程的信号屏蔽码。

进程的组成:程序、数据、进程控制块PCB(操作系统核心的数据结构,表示进程的状态)

进程转换状态:

  • 运行的进程由于时间片用完了,可以进入就绪状态;也可能由于I/O请求资源得不到满足,进入阻塞状态

  • 就绪的进程被调度,进入运行状态

  • 阻塞的进程由于I/O操作完成,从阻塞状态中唤醒,进入就绪状态

image-20210519154151367

PCB进程块的组织方式

  • 线性表方式:连续存放在系统

  • 索引方式:建立就绪表、索引表,升级的线性方式

  • 链接方式:就绪队列、阻塞队列、运行队列

1.2 进程的互斥和同步

信号量的分类含义
公有信号量控制进程互斥,初始值为1或资源数
私有信号量控制进程同步,初始值为0或某正数

PV操作(S为信号量,表示资源可用数,S >= 0,资源可用数量,S < 0,S的绝对值表示阻塞队列中等待该资源的进程数)

  • P:申请资源,S = S -1

  • V:释放资源,S = S + 1

PV操作实现进程互斥就是调度好共享资源

1.3 死锁

死锁的必要条件

  • 资源互斥:一个资源一次只能被一个进程使用

  • 保持和等待条件:一个进程因请求其他资源被阻塞时,不能释放已获得的资源

  • 不剥夺:当某个进程获得某个资源后,只能等待进程完成后自己释放

  • 环路等待:若干进程形成资源申请环路,每个都占用对方要申请的下一个资源

每个进程平均需要M个资源R,总共N个进程,至少需要 [(M -1) ​ N]+1 才不会发生死锁

实时操作系统:被控对象规定的时间内做出及时响应并对其进行处理

1.4 资源是否可化简

  • 通过计算资源数,判断节点是否为阻塞节点或非阻塞节点

image-20210518233820346

资源R1已经分配给进程P1、P3,所以进程P2无法再请求到资源R1,会进入阻塞:资源R2已经全部分配给进程 P1、P2和P3,所以进程P1无法再请求到资源会进入阻塞:资源R3还进程P3申请时,可以顺利获得,故不会阻塞。

  • 判断进程资源是否可化简:判断标准为是否在所有节点中,存在非阻塞节点,若存在,则可化简,若所有节点都是阻塞节点,则不可化简

image-20210518234100373

图1可化简(P1节点没法判断为阻塞状态),图2不可化简(P1、P2、P3都为阻塞状态)

化简规则:去掉非阻塞节点的所有连线

注意:

image-20210521152946727image-20210521153006602

  • 图1,对于R2资源,总共有3个,释放给P2、P3各一个后,剩1个,此时P1、P3申请,当其中某一个申请到资源时候,执行完毕后会释放资源,所以P1、P3并不阻塞

  • 同理,图2中,P2申请2个R1资源,此时R1只剩1个,当其中某一个申请到资源时候,执行完毕后会释放资源,所以P2仍然非阻塞

2、存储管理

逻辑地址 32位 = 页号 + 业内地址 物理地址 = 物理块号 + 业内地址

段号页号业内地址
31~22(10) 最多有1024段21~12(10) 每个段最大允许1024页11~ 0 (12) 页的大小为2K

例1:某系统页面大小4K,若进程逻辑地址为2D16H,那么经过地址转换后的物理地址为多少?

逻辑地址 32位 = 页号 + 业内地址 物理地址 = 物理块号 + 业内地址

通过页面大小求得业内地址位数:4K = 212 代表 业内地址有12位

2D16H 32位 = D16H为业内地址,页号为2

查表,页号为2的物理块号,加上业内地址,可得到物理地址

时间局部性:被引用过的存储区域位置,其有可能还会再次被引用,某条指令被执行,不久将来还要执行,原因是循环引起的

空间局部性:被引用过的存储区域位置,其附近的数据有可能还会再次被引用

共享锁和排斥锁

  • 共享锁:一旦添加,其他事务只能添加共享锁

  • 排斥锁:一旦添加,其他事物不能添加任和锁

3、文件管理

若系统在空闲块文件修改的结果写回磁盘时发生崩溃,对系统影响最大

3.0 访问和授权

审计对主体访问和适用客体的情况进行记录和审查,以保证安全规则被正确执行,并帮助分析安全事故产生的原因。与访问控制无关。

数据的完整性是指数据在传输过程中,未经授权不能被非法篡改

3.1 路径

文件全文件名:包括盘符及从根目录到当前目录+文件名

相对路径:从当前目录下的路径名

绝对路径:目录下的绝对位置,直接到达目标位置

3.2 文件存储

直接地址索引、一级间接索引、二级间接索引

image-20210712140725639


4、嵌入式操作系统

自底而上的顺序依次为:片级、板级、系统级,系统初始化主要:以软件初始化为主,主要进行操作系统的初始化

  • 微型化:从性能和成本考虑,占用的资源和代码尽可能的少

  • 可定制:能运行在不同的微处理器平台上,能针对硬件变化进行结构和功能上的配置

  • 实时性:多应用与快速反应的场合

  • 可靠性:构件、模块、结构可靠,对关键应用提供容错和防故障

  • 易移植性:采用硬件抽象层

看门狗技术,保证系统可靠性,监测程序循环运行时间的技术,一旦发现程序运行的时间超过循环设定的时间,认为系统陷入死循环,然后强迫程序返回已安排出错处理的程序入口地址处。因此,看门口狗中断触发的条件是看门狗定时器超时

常见题型

image-20210712140647844

磁盘读取和数据处理

假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10us,由级冲区送至用户区的时间是5us,系统对每个磁盘块数据的处理时间为2us。若用户需要将大小为10个磁盘块的Doc文件逐块从磁盘读入綬冲区,并送至用户区进行处理,那么采用单绶冲区需要花费的时间为()us;采用双缓冲区需要花费的时间为()us。

  • 读取总时间 = 磁盘读取时间(磁盘读取到缓冲区 + 缓冲区读取到用户)

  • 数据处理仅处理一次,因此不需要参与流水线

  • 单缓冲区:由于整个过程只有一个缓冲区,读取数据时流水线无法并行处理

    • T = (10+5+2) + 9 ​ (10+5)

  • 双缓冲区:由于整个过程有两个缓冲区,读取数据时可以采用并行流水线处理

    • T = (10+5+2) + 9 ​ 10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值