操作系统相关知识总结

2019-09-18 11:57:37阅读 103评论 0

操作系统特点

并发、共享、虚拟、异步
操作系统对计算机资源的管理

处理机管理、存储器管理、文件管理、设备管理
操作系统作为用户与计算机硬件间的接口

命令接口,程序接口

操作系统发展和分类

批处理系统、分时操作系统、实时操作系统、网络操作系统和分布式计算机系统、个人计算机系统
用户态和核心态
CPU在运行内核程序时,CPU处于内核态;CPU在运行应用程序时,CPU处于用户态
操作系统内核包含

时钟管理、中断机制、原语、系统控制的数据结构及处理

中断和异常
中断是指由外部事件导致CPU停止运行当前程序,异常是指由内部事件导致CPU停止运行当前程序
系统调用
用户程序使用操作系统提供的子功能,此过程称为系统调用,分为:设备管理、文件管理、进程控制、进程通信、内存管理
特权指令
具有特殊权限的指令,使用不当会导致系统崩溃,所以特权指令仅操作系统使用,用户不可用
访管指令
用户程序想要完成在用户态无法完成的工作,需要发出一条访管指令,此时发生访管中断,CPU切换至内核态,完成用户想要完成的工作后切换回用户态
进程
系统资源分配的基本单位,由程序段、相关数据段、PCB组成
进程状态
运行态、就绪态、阻塞态、创建态、结束态
进程通信
共享存储、消息传递、管道通信
线程
被系统独立调度和分派的基本单位
线程分类
用户级线程、内核级线程
调度
进程数量多余处理机数量,调度就是对处理机进行分配的过程
调度分类
作业调度、内存调度、进程调度
进程调度方式
非剥夺调度、剥夺调度
调度算法分类
先来先服务调度算法、短作业优先调度算法、优先级调度算法、高响应比调度算法、时间片轮转调度算法、多级反馈队列调度算法
临界资源
一次仅允许一个进程使用的资源称为临界资源
临界区访问过程
进入区、临界区、退出区、剩余区
同步
直接制约关系,协同步调,按预定的先后次序进行运行
互斥
间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待
临界区互斥应遵循原则
空闲让进、忙则等待、有限等待、让权等待
临界区互斥算法-软件
1.单标志法,违背空闲让进
2.双标志先检查法,违反忙则等待
3.双标志后检查法,会导致饥饿现象
4.peterson算法,违背让权等待
临界区互斥算法-硬件
1.中断屏蔽方法,适用于单处理机
2.TSL指令,适用于多处理机,违背让权等待,可能导致饥饿现象
3.Swap指令,适用于多处理机,违背让权等待,可能导致饥饿现象
信号量
利用信号量机制,可解决互斥和同步问题,P操作对应申请资源,V操作对应释放资源。为避免死锁,实现互斥的P操作一定要在实现同步的P操作之后
死锁
多道程序系统中,多个程序并发执行,竞争同一资源而造成所有相关进程无法推进的僵局
死锁产生原因
系统资源竞争、进程推进顺序非法
死锁产生必要条件
互斥、不剥夺、请求并保持条件、循环等待条件
死锁处理策略
1.死锁预防
避开死锁发生的条件
2.避免死锁
分配资源前检测系统安全性,银行家算法
3.死锁的检查及解除
死锁解除方法:资源剥夺、撤销进程、进程回退

程序装入和链接
源程序变为进程步骤
1)编译
将源代码编译成目标模块
2)链接
将编译后形成的目标模块与所需的函数库链接到一起,形成完整的装入模块
3)装入
将程序装入内存运行
装入内存方式:
1)绝对装入
程序在编译、汇编时生成物理内存地址,再按照内存地址把程序载入
2)可重定位装入
在装入时对地址重定位,将逻辑地址转换成物理地址;如果没有足够内存,不可装入;运行时,不可移动,也不可再申请空间
3)动态运行时装入
装入内存后并不立即将逻辑地址转换,而是等到程序执行时再进行,需要重定位寄存器支持
链接方式
1)静态链接
在程序运行前将目标模块与所需的函数库链接到一起形成可执行文件文件。之后不可再拆开
2)装入时动态链接
目标模块在装入内存时,边装入边链接
3)运行时链接
程序执行中需要该目标模块时,才进行链接

内存保护
保持进程之间相互隔离,互不影响。 每当cpu要访问一个地址时,和两个寄存器存放的值进行比对判断是否越界,越界便抛出中断
覆盖
主存容量小于程序所需容量,将内存空间分为固定区和覆盖区;固定区常驻内存,覆盖区会将即将访问的段载入
交换
内存空间紧张时,将内存中部分进程的部分数据移动到外存,(此时程序pcb仍保留),缺点是对用户不透明
内存分配
操作系统为用户程序分配内存空间,分为连续分配管理和非连续分配管理
连续分配管理
1)单一连续分配
系统中只有单一用户程序运行,因此内存可以完全连续地分配给该程序,优点是简单、无外部碎片、可采用覆盖技术;缺点是只能用于单用户、单任务的操作系统中,有内部碎片,内存利用率低
2)固定区分配
将内存划分为若干固定的区域,无外部碎片,单有内部碎片,空间利用率低
3)动态分区分配
在程序即将载入内存时,根据程序大小为其建立适宜的内存分区,会产生外部碎片,可通过紧凑技术解决
动态分区分配策略
在采用动态分区分配的计算机中,在运行一段时间后,内存中会出现多个空闲区块,此时新开一个进程时,应该如何选择空闲区块分配给该进程?主要有以下策略:
1)首次适应
将空闲分区按照地址递增顺序排列,找到第一个能满足要求的空闲内存分区
2)最佳适应
将空闲分区按照容量递增顺序排列,找到最能匹配当前进程大小的内存分区
3)最坏适应
将空闲分区按照容量递增顺序排列,能让分配后留下的空闲区更大,使得较大连续空间被用完,如果之后有大进程到达,可能无法为其分配空间
4)临近适应
将空闲分区按照地址递增顺序排列,在上次查找结束位置开始查找;优点是开销小,缺点是易导致高地址大连续空间被用掉
非连续分配管理方式
将程序分散地装入不相邻的内存分区,分为基本分页管理储存方式、基本分段管理储存方式、基本段页式管理储存方式
分页管理储存方式
将进程切分成无数页,同时将物理内存也切分成无数页,将进程的页与物理内存的页进行映射
页、页框、块
进程中的块称为页,物理内存中的块称为页框,外存中的块称为块
页面大小
进程被分成的小块的容量
页表项长度
页表内每一项(页地址)所占用的存储空间
页表长度
指这个页表中有多少个页表项
块表
在地址变换机构中增设一个具有并行查找能力的告诉缓冲存储器(tlb),用来存放当前访问的若干表项
多级页表
为解决页表占用过多页框、进程局部性特点导致不需要访问所有页面问题,将页表分为多级
多级页表需注意细节
1)各级页表大小不能超过一个页面
2)两级页表访存次数分析:访问内存中的页目录表,访问内存中的二级页表,访问目标内存单元
分段
按照自身逻辑将程序分为若干个段,每个段有一个段名,每段从零开始编址;优点,用户编程方便,程序可读性高;缺点,会产生外部碎片
段页式管理
将分段和分页结合起来进行内存管理,其地址空间时二维的
传统存储管理特征
一次性、驻留性
虚拟存储器
操作系统将暂时不用的内容换出到外存上,等到需要时调入,这样系统就好像为用户提供一个比实际内存大得多的存储器,称为虚拟存储器;有三个特征:多次性、兑换性、虚拟性
页面置换法
最佳置换发、先进先出置换法、最近最久未使用置换法、时钟置换法
驻留集
操作系统给进程分配的页框的集合就是这个进程的驻留集
驻留集分配策略
固定分配局部置换、可变分配全局置换、可变分配局部置换
调入页面时机
预调页策略、请求调页策略
抖动
在页面置换过程中,刚刚换出的页面妈是又要换入内存,刚刚换入的页面又要换出内存
工作集
某段时间间隔内,进程要访问的页面集合

文件
一些有意义的信息的集合
文件按逻辑结构分类
1.无结构文件
2.有结构文件
1)顺序文件
2)索引文件
3)索引顺序文件
4)散列文件
文件控制模块
用来存放控制文件需要的各种信息的数据结构,以实现按名存取
索引节点
为了加快查找效率,将文件名与文件相关信息分开,相关信息则单独形成一个称为索引节点的数据结构
目录结构
将文件系统与文件进行关联的数据结构
文件分配
连续分配、链接分配、索引分配(链接方案、多层索引、混合索引)
文件存储空间管理
空闲表法、空闲链表法、位示图法、成组链接法
文件保护
口令保护、加密保护、访问控制列表
磁盘调度算法
先来先服务算法、最短寻找时间优先算法、扫描算法、循环扫描算法、lock算法、c-lock算法
从磁盘读取数据减少延迟时间方法
交替编号、错位命名、磁盘地址结构设计(柱面号在盘面号之前)
I/O设备按交换单位分类
块设备、字符设备
I/O控制器
1.功能
接受、识别CPU发出的命令,向CPU报告设备状态,数据交换,地址识别
2.组成
控制器与CPU之间的接口、I/O逻辑、控制器与设备之间的接口
3.寄存器编址方式
内存映射I/O、寄存器独立编址
I/O控制方式
程序直接控制方式、中断驱动方式、DMA方式、通道控制方式

还没有评论,来说两句吧