操作系统
操作系统的基本概念
定义
① 计算机软件分为系统软件和应用软件两大类,操作系统是最基本的系统软件。
② 控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配。
③ 提供给用户和其他软件方便的接口和环境。
特征
- 并发性(最重要最基本)
指计算机系统中同时存在着多个运行着的程序。
并发 指两个或两个以上的运行进程在同一时间间隔内同时执行。这些事件宏观上同时发生,但微观上是交替发生的。
单核并发,多核并行。 - 并发进程是不是越多越好
不是,并发进程过多可能导致处理机调度频繁,增加开销和进程进行时间,也可能有进程长时间得不到处理机。 - 共享性
指系统中的资源可供内存中多个并发执行的进程共同使用。 - 虚拟性
虚拟是指把一个物理实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物事用户感受到的。 - 异步性
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进,这就是进程的异步性。
操作系统的发展历史和分类
- 手工操作阶段
用户独占全机,人机速度矛盾导致资源利用率极低。 - 批处理阶段
单道批处理系统
脱机输入/输出技术,由监督程序负责控制作业的输入、输出。
内存中仅有一道程序运行,CPU大量时间在空闲等待I/O。
多道批处理系统
每次往内存中读入多道程序,操作系统正式诞生。
多道程序并发执行,共享计算机资源。
没有人机交互功能,用户响应时间长。 - 分时操作系统
以时间片为单位轮流为各个用户/作业服务。
用户请求可以被即时响应,解决了人机交互的问题。允许多个用户同时使用一台计算机。
不能优先处理一些紧急任务。 - 实时操作系统
能够响应一些紧急任务,某些紧急任务不需要时间片排队。
及时性、可靠性:要在严格的时限内处理完事件。
操作系统的运行环境
运行机制
中断和异常
- 系统调用通过陷入指令完成
- 给出一个实例,阐述中断过程
中断是指计算机在执行期间,系统内部或外部设备发生了某一急需处理的事件,使得CPU暂时停止当前正在执行的程序,转去执行相应的事件处理程序,待处理完毕后返回原来被中断处,继续执行被中断的过程
例如缺页中断:保存CPU现场,转缺页中断处理程序进行中断处理、调入所缺页等,中断返回恢复CPU现场。
系统调用
- 定义: 系统调用是操作系统提供给应用程序使用的接口,应用程序可以通过系统调用来请求获得系统内核的服务。
- 系统调用是什么?与用户程序的区别?
① 系统调用是运行在用户态的应用程序请求操作系统为之服务的一种手段,由运行在核心态的操作系统的一段程序来完成特定的功能,属于一种特殊的调用过程。
② 区别:
运行状态不同:一般调用的调用过程和被调用过程都是用户程序,都运行在同一种系统状态用户态下,而系统调用的调用过程一般是用户程序,运行在用户态,被调用过程是操作系统程序,运行在系统态。
进入方式不同:一般用户程序调用可以直接通过过程调用语句将控制转移到被调用过程,而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管中断进入 - 凡是和共享资源有关的操作都必须通过系统调用的方式向操作系统内核提出服务请求,保证系统的稳定性和安全性
体系结构
- 内核是操作系统最基本最核心的部分。
- 实现操作系统内核功能的程序就是内核程序
- 嵌入式系统设备驱动的作用与地位
与硬件直接相关,负责具体实现系统对设备发出的操作指令,是驱动I/O设备工作的驱动程序
进程管理
进程与线程
进程的概念、组成与特征
- 程序 是静态的,是个存放在磁盘里的可执行文件,是一列的指令集合
- 进程(Process) 是动态的,是程序的一次执行过程
进程的状态与转换
进程的组织方式
扫描二维码关注公众号,回复:
10796583 查看本文章
进程控制
- 进程控制 的主要功能是对系统中的所有进程实施有效的管理,它具有创建、撤销已有进程,实现进程状态转换等功能。
- 原语 的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断。
特权指令:“关中断指令”、“开中断指令” - 作业:放在外存中还没调用的程序
- 父进程创建子进程和主程序调用子程序有什么区别
父进程创建子进程后父进程与子进程同时执行。主程序调用子程序后,主程序暂时停在调用点,子程序开始执行,直到子程序返回,主程序才继续执行。
进程通信
- 进程通信为什么需要用到操作系统内核功能?列举几个进程通信方式
① 进程之间互相交换信息的工作称为进程通信,可以通过高级通信机制来完成
② 每个进程都有自己独立的空间,在操作系统和硬件保护机制下,进程无法访问其他进程的地址空间,必须借助系统调用来实现,因此需要用到操作系统内核功能。
③ 通过软中断实现的信号通信机制;使用信号量和原语操作控制的共享存储区通信机制;通过管道提供的共享文件通信机制;使用信箱和发信收信原语的消息传递通信机制
线程的概念和特点
- 阐述进程与线程
① 进程是一个可并发执行的程序关于某个数据集合的一次执行过程,是操作系统进行资源分配和保护的基本单位。
② 线程是进程但中的一条执行流程,是处理机调度的基本单位。
线程的实现方式、多线程模型
- 什么是多线程,多线程和多任务有什么区别?
① 多线程是指在一个程序中可以定义多个线程同时运行他们,每个线程可以执行不同的任务
② 区别:
多任务是针对操作系统而言的,代表着操作系统可以同时执行的程序个数。
多线程是针对一个程序而言的,代表一个程序可以执行的线程个数,每个线程可以完成不同的任务。
处理机调度
概念,层次
- 处理机调度 就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。
进程调度的时机,切换与过程,调度方式
调度算法的评价指标
调度算法
进程同步
同步和互斥
- 同步亦称直接制约关系,两个或多个进程因为需要协调他们的工作次序而产生的制约关系,源于他们的相互合作
- 互斥:间接制约关系
进程互斥的软件实现方法
- turn
- flag
- flag + turn
进程互斥的硬件实现方法
信号量机制
- 信号量:变量,可以用一个信号量表示系统中某种资源的数量
原语:特殊的程序段,执行只能一气呵成,不可被中断 - 整型信号量:
wait()
,signal()
用信号量机制实现进程互斥、同步、前驱关系
semaphore mutex=1
– 定义记录型信号量
经典问题
- 生产者消费者问题
- 多生产者多消费者问题
缓冲区大于1一定要设置mutex
从事件角度考虑,而不是进程 - 吸烟者问题
设置int i,循环实现轮流抽烟
死锁
概念
- 死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象
- 饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象
- 死循环:某程序执行过程中一直跳不出某个循环的现象 – 是程序员的问题
预防死锁
避免死锁
- 安全序列:如果系统按照这种序列分配资源,则每个进程都能顺利完成,只要能找到一个安全序列,系统就是安全状态
- 安全状态一定不死锁,不安全状态可能死锁
死锁的检测与解除
- 死锁定理:如果某时刻系统的资源分配图是不可完全简化的,那么此时系统死锁
内存管理
概念
基础知识
内存管理做什么?
覆盖与交换
- pcb常驻内存
连续分配管理方式
- 连续分配:系统为用户提供的是连续的存储空间
动态分区分配算法
分页存储管理
基本分页存储管理
- 内存划分为大小相等的页框,进程在逻辑上被分为与页框大小相等的页
基本地址变换机构
页号从0开始,所以页号P=页表长度M时,也是越界的’
页内偏移量占10位=页面大小210B
页式管理中地址是一维的–只需要知道逻辑地址
- 具有快表的地址变换机构
快表慢表同时查找
**时/空间局部性:**执行过的指令不久会可能再次执行,访问过一个地址很可能会访问它附近的地址
两级页表
分段存储管理
基本分段存储管理
段页式管理方式
虚拟内存管理
基本概念
请求分页存储管理
页面置换算法
页面分配策略
文件管理
文件的逻辑结构
文件目录
文件的物理结构
非空闲磁盘块的管理
链接分配默认为隐式链接
存储空间/空闲磁盘快的管理
文件操作
基本操作
文件共享
文件保护
磁盘
磁盘的结构
调度算法
减少延迟时间的方法
磁盘的管理
I/O管理
概念
i/o设备
i/o控制器
i/o控制方式
i/o软件的层次
i/o核心子系统
假脱机技术
设备的分配与回收
缓冲区管理