【软考】系统架构设计师-计算机系统基础(2):操作系统

1、操作系统基础

OS的5个核心功能:进程管理、存储管理、设备管理、文件管理、作业管理

OS的3个作用:管理运行的程序和分配各种软硬件资源;提供友善的人机界面;为程序应用的开发和运行提供高效的平台

OS的4个特征:并发性、共享性、虚拟性、不确定性

OS分类:批处理OS、分时OS、实时OS、网络OS、分布式OS、微型计算机OS(Windows\MacOS\Linux)、嵌入式OS、微内核OS

嵌入式OS主要特点:微型化、可定制、实时性、可靠性、可移植性

**2、嵌入式系统初始化顺序:**自底向上、从硬件到软件的次序依次为:片级初始化 → 板级初始化 → 系统初始化

3、进程管理

进程:进程控制块PBC、程序、数据

进程调度状态转换3态图:

进程调度状态转换5态图:

4、前驱图和进程资源图:

前驱图 :

进程资源图:

P -> R:表示申请/等待;

R -> P:表示分配给了一个进程.

5、PV信号量

进程的同步与互斥:临界资源/临界区/信号量(互斥信号量/同步信号量)

P操作:申请资源:S = S - 1,P(S)

V操作:释放资源:S = S + 1,V(S)

S>0 表示资源个数;S<0 表示有多少个进程在等待

生产者消费者问题:

互斥信号S0(使用者);同步信号S1(仓库空闲个数);同步信号S2(仓库商品数)

|---------------------------------------|--------------------------------|
| 生产者 | 消费者 |
| 生产商品S P(S0) P(S1) 商品放入仓库中 V(S2) V(S0) | P(S0) P(S2) 取出一个商品 V(S1) V(S0) |

进程调度:可剥夺式、不可剥夺式

先来先服务FCFS、时间片轮转、优先级调度(优先级队列)、多级反馈调度

6、死锁:

产生死锁的4个必要条件:资源互斥、进程占有资源并等待其他资源;系统不能剥夺资源;进程资源图是一个环路

死锁防御、死锁避免、死锁检测、死锁解锁

死锁资源计算(假设,n个进程,每个进程都需要R个资源)

发生死锁的最大资源数为:n(R - 1),即每个P都刚好少一个R

不发生死锁的最小资源数:n(R - 1 )+ 1

银行家算法(结合实例)

进程:拥有资源的独立单位;线程:作为调度和分配的基本单位

7、分页存储管理:

不用一次性全给程序,分批调度

地址:页号 + 页内地址

页号就是告诉有多少个页,即页的个数;页内地址则表示页的大小;

优点:利用率高,碎片小,分配管理简单,

缺点:增加了系统开销,可能产生抖动现象

地址组成:页地址 + 页内偏移地址

物理地址:物理块号 + 页内偏移地址(外存地址)

逻辑地址:页号 + 页内偏移地址(页内地址)

所以,逻辑地址转物理地址方法:页内地址不变,页号通过页表查映射关系即可

快表:快速的页面(最常用的部分,Cache)

页面置换算法:最优算法、先进先出、最近最少使用

淘汰原则:先看访问,没被访问的优先淘汰;再看修改,没被修改的优先淘汰。

8、分段存储管理:

段号 + 段内地址 (分段管理一般只考是否为合法的地址,不考如何转换)

优点:多道程序共享内存,互不影响

缺点:内存利用率低,内存碎片浪费大

**9、段页式管理:**先分段,再分页

优点:空间浪费小,存储空间共享容易,存储

10、设备管理

I/O请求:用户进程 --> 设备无关软件 -> 设备驱动程序 -> 中断处理程序 -> 硬件

Spooling技术(外围设备联机操作技术):两个数据缓冲区,输入井、输出井

11、文件管理

索引文件结构:

直接索引:索引节点存放的就是内容(物理盘块),一个物理盘块的大小,如:4KB * N

一级间接索引:存放的是链接到直接物理的盘块的地址;如:4KB/4B * 4KB * N

二级间接索引:4KB/4B * 4KB/4B * 4KB * N

文件目录:相对路径/绝对路径/全文件名路径

空闲区表、位示图、空闲块链、成组链接法

位示图:bit位,每一位对应文件存储器上的物理块:

相关推荐
百块富翁1 小时前
可管控、不重复TraceId解决方案
java·分布式·系统架构
我只会写Bug啊5 小时前
【软考】系统架构设计师-论文范文(六)
大数据·系统架构·信息系统项目管理师·架构设计·系统分析师
_OP_CHEN5 小时前
【Linux系统编程】(三十三)System V 共享内存精讲:Linux 最快 IPC 的原理与实战精髓
linux·服务器·操作系统·共享内存·c/c++·ipc·system v
枫叶丹47 小时前
【Qt开发】Qt界面优化(三)-> Qt样式表(QSS) 设置方式
c语言·开发语言·c++·qt·系统架构
C澒9 小时前
以微前端为核心:SLDSMS 前端架构的演进之路与实践沉淀
前端·架构·系统架构·教育电商·交通物流
一只鱼丸yo9 小时前
分布式系统的心脏:Raft共识算法原理深度解析
分布式·系统架构·共识算法
彷徨的蜗牛9 小时前
系统流程设计的架构实践:调用、数据与状态的协同演进
架构·系统架构
Trouvaille ~11 小时前
【Linux】TCP可靠性与性能优化详解:从确认应答到拥塞控制
linux·运维·服务器·网络·tcp/ip·性能优化·操作系统
Jinkxs1 天前
【Linux】零基础入门:一篇吃透操作系统核心概念
linux·运维·服务器·网络·操作系统
带娃的IT创业者1 天前
解密OpenClaw_03-OpenClaw核心功能特性
macos·系统架构·objective-c·cocoa·软件工程·智能体开发·openclaw