文件系统

1. 文件系统的概念 是操作系统中管理持久性数据的子系统 组织,检索,读写访问数据 大多计算机系统都有文件系统 文件是具有符号名,由字节序列的数据项集合 文件系统的基本数据单位 文件名是文件的标识符号 文件系统的功能: 分配文件磁盘空间 管理文件集合 数据可靠和安全 文件属性:名称,类型。位置,大小,保护,创建者,创建时间,最近修改时间… 文件头:文件系统元数据中的文件信息

死锁和进程通信

1. 死锁概念 Deadlock 由于竞争资源or通信关系,两个or更多进程在执行中发现,永远相互等待只能由其他进程引发的事件。 死锁示例: 单向通行桥梁 可能出现死锁 解决办法:资源撤回和回退 可能出现饥饿 由于一个方向的持续车流,另一个方向的车辆无法通过桥梁 进程访问资源的流程: 资源类型$R1,R2,…,R_m$ 每类资源$R_i$有$W_i$个实例 请求/获取 - 使...

信号量与管程

1. 信号量并发问题: 多线程并发导致资源竞争 同步概念: 协调多线程对共享数据的访问 任何时刻只能有一个线程执行临界区代码 确保同步正确的方法: 底层硬件支持 高层次的编程抽象 信号量和锁机制是同一层次的同步机制 信号量是操作系统提供的一种协调共享资源访问的方法 软件同步是平等线程间的一种同步协商机制 OS是管理者,地位高于进程 用信号量来表示系统资源的数量 信号是一...

同步互斥

1. 背景独立进程:不和其他进程共享资源和状态 确定性:输入状态决定结果 可重现:能够重现起始条件 并发进程:在多个进程间有资源共享 不确定性 不可重现 并发进程的正确性 执行过程是不确定性和不可重现的 程序错误可能是间歇性发生的 进程并发的好处 共享资源 加速 (I/O操作和CPU计算同时进行) 模块化(将大程序分解成小程序,如编译,gcc调用cpp,cc1,cc...

处理机调度

1. 处理机调度概念进程切换:CPU资源的当前占用者切换 (保护当前进程在PCB中的执行上下文,恢复下一个进程的执行上下文) 处理机调度: 从就绪队列中挑选下一个占用CPU运行的进程 从多个可用CPU中挑选就绪进程可用的CPU 调度程序:挑选就绪进程的内核函数 调度策略 调度时机 调度时机: 从运行到等待 进程被终结了 2. 调度准则2.1 调度策略 确定如何从就绪队列中选...

进程控制

1. 进程切换又称 上下文切换 暂停当前运行进程,从运行状态变成其他状态 调度另一个进程从就绪变成运行 要求: 切换前,保存进程上下文 切换后,恢复进程上下文 快速切换 由汇编实现,因为需要速度快 PCB里记录:内核的进程状态内核将相同状态的进程的PCB放置在同一队列。 2. 进程创建Windows进程创建API:CreateProcess(filename) Linux进程创建A...

进程和线程

第一部分:进程1. 进程的概念 进程:指一个具有一定独立功能的程序,在一个数据集合上的一次动态执行过程。 进程的组成: 一个程序运行的所有状态信息。 代码 数据 状态寄存器 通用寄存器 进程占用系统资源 进程的特点: 动态性 并发性 独立性 制约性 进程和程序的联系 进程市操作系统处于执行状态程序的抽象 程序 = 文件(静态的可执行文件) 进程 = 执行中的程序 = 程序 +...

页面置换算法

1. 页面置换的概念功能:选择被置换的物理页面 设计目标: 减少页面的调入调出的次数 将未来或短期内不访问的页面调出 页面锁定:不可以置换的页面 即页表项中的标志锁定位置1的页面(通常是操作系统页面,需要高读写的页面等) 1.1 局部置换选择范围:当前进程占用的物理页面 分为: 最优算法 先进先出算法 最近最久未使用算法 1.2 全局置换选择范围:所有可换出的物理页面 分为: 工作...

虚拟存储概念

1. 需求背景对内存的需求越来越高,内存不够用 比如游戏:黑白——>彩色——>3D 理想中存储器: 容量大 速度快 价格便宜 现实中: 金字塔型 寄存器 高速缓存 内存 磁盘 磁带 从上到下,速度越来越慢,容量越来越大,价格越来越便宜 操作系统对存储空间的抽象:地址空间 1.1 解决办法 覆盖 (手动) 交换 (自动) 虚拟存储 2. 覆盖与交换2.1 覆盖目标:较小的...

段式与页式存储

段式分块大,页式分块小。 1. 段式存储由 主代码段 子模块、公用库 堆栈段 stack 堆数据 heap 初始化数据段 符号表等 几个部分组成(1-4由下到上) 目的:更细粒度和灵活的分离与共享 逻辑上连续,物理上可以不连续 每一个段是访问方式或储存数据等属性相同的一段地址空间 1.1 段访问逻辑地址由二元祖(s, addr)表示 s - 段号addr - 段内偏移 段基址 + ...