
操作系统笔记
KobeSacre
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
磁盘管理
磁盘 磁盘的俯视图 操作系统最直接的使用磁盘 找到指定柱面上的磁道 旋转相应的磁头 找到相应扇区后,将数据读入内存缓冲区(磁生电),在内存缓冲区中修改数据后再写回磁盘对应位置(电生磁) 通过盘块号读写磁盘 磁盘驱动负责用程序提供的block计算出柱面、扇区等数据来对磁盘进行读写 磁盘访问时间 = 写入控制时间 + 寻道时间 + 旋转时间 + 传输时间 S:扇区号 盘块可以是几个连续的扇区 多个进程使用磁盘 磁盘调度算法 FCFS:响应队头请求 短寻道优先(Sh原创 2020-11-08 23:37:20 · 104 阅读 · 0 评论 -
内存管理
内存分段 将程序分成若干个段,每个段有各自的用途 运行程序时,不是将整个程序放进内存,而是将各个段放进内存 PCB中存放各个段的基址,寻找段内数据时根据基址+偏移量来完成 进程与操作系统的交互 内存分区 动态分区:有内存请求时,从空闲内存中分配出一段内存来响应请求 当有多个空闲分区时,应该怎么选择? 最佳适配:选择满足要求的最小内存块 最差适配:在满足要求的空闲分区中选择最大的分区 首先适配:选择第一个满足要求的分区 内存分页 针对每个内存请求,系统一页一页的分配响应请求 操作系统初始化原创 2020-11-08 18:58:46 · 188 阅读 · 0 评论 -
死锁处理
死锁处理 预防死锁:破坏死锁出现的条件 一次性申请所有资源,破坏了形成死锁占有并等待条件 资源申请按序进行,破坏了循环等待条件 允许进程强行从占有者哪里夺取某些资源,破坏了不可剥夺条件(实现起来复杂) 资源可共享,破坏了互斥条件(但是有些资源是不能共享的,所以没有实用价值) 死锁避免:检测每个资源请求,如果造成死锁就拒绝 银行家算法(时间复杂度高,所以不能每次有资源请求时都调用) 死锁检测+恢复:检测到死锁出现时,让一些进程回滚让出一些资源 定时检测或者发现资源利用率低时检测 检测到死锁后选原创 2020-11-07 20:42:12 · 118 阅读 · 0 评论 -
操作系统--线程
线程 什么是是线程? 进程中的一条执行流程 线程的优点 一个进程可以同时存在多个线程 各个线程之间并发执行 各个线程之间共享地址空间和文件等资源 线程的缺点 一个线程崩溃将导致其余所有线程崩溃 线程所需的资源 进程与线程的比较 线程的实现 用户线程: 在用户空间实现(操作系统看不到) 用户线程的缺点 内核线程: 在内核空间实现(归操作系统管理) 轻量级线程: 在内核空间实现, 支持用户线程 用户线程与内核线程的对应关系 多对一 一对一 多对多 ...原创 2020-10-25 21:09:25 · 265 阅读 · 0 评论 -
操作系统--进程
进程 进程的定义: 一个具有独立功能的程序在一个数据集合中的一次动态执行过程 进程与程序的联系: 程序是产生进程的基础 程序的每次运行构成不同的进程 进程是程序功能的体现 通过多次执行, 一个程序可以有多个进程; 通过多次调用, 一个进程可以包括多个程序(例如: 一个进程同时需要多个程序进行运算) 进程与程序的区别 进程是动态的, 程序是静态的, 程序是有序代码的集合; 进程是程序的执行, 进程有核心态/用户态(进程需要在操作系统的内核中执行此时为核心态) 进程是暂时的, 程序是永久的; 进程和程序的原创 2020-10-24 18:44:18 · 452 阅读 · 0 评论