清华操作系统笔记
文章平均质量分 89
清华学堂在线向勇、陈渝MOOC 《操作系统》笔记
Honour Van
新款人工智障
展开
-
清华向勇《操作系统》学习笔记13:I/O子系统
文章目录13.1 I/O系统13.1.1 I/O分类13.1.2 I/O结构13.1.3 I/O数据传输13.2 磁盘I/O13.2.1 磁盘调度13.2.2 磁盘缓存13.3 练习题撒花13.1 I/O系统13.1.1 I/O分类三种常见的设备接口类型字符设备:键鼠、串口等块设备:磁盘驱动器、磁带驱动器、光驱等网络设备:以太网、无线、蓝牙等设备访问特征:字符设备:以字节为单位顺序访问;get()、put()等,通常使用文件访问接口和语义块设备:均匀的数据块访问;原始I/O或者文件系原创 2021-08-10 16:31:00 · 275 阅读 · 2 评论 -
清华向勇《操作系统》学习笔记12:文件系统
文章目录12.1 文件系统概念12.1.1 文件系统基本概念12.1.2 文件系统种类12.2 文件组织和存储12.2.1 虚拟文件系统,目录和别名12.2.2 文件分配12.2.3 空闲空间管理12.2.4 RAID12.3 文件访问12.3.1 文件描述符12.3.2 文件缓存和打开12.1 文件系统概念12.1.1 文件系统基本概念文件系统:操作系统中管理持久性数据的子系统,提供数据存储和访问功能组织、检索、读写访问功能大多数计算机系统都有文件系统Google也是一个文件系统文件:具原创 2021-08-09 23:57:52 · 321 阅读 · 0 评论 -
清华向勇《操作系统》学习笔记11:死锁和进程通信
文章目录11.1 死锁11.1.1死锁概念11.1.2 死锁处理方法11.1.3 银行家算法11.1.4 死锁检测11.2 进程通信11.2.1 进程通信概念11.2.2 信号11.2.3 管道11.2.4 消息队列11.2.5 共享内存11.1 死锁窄桥上,互不相让,就会发生“死锁”。窄桥上一方持续车流,另一方就无法通过,就是“饥饿”。根源是没有讲窄桥本身视作一个整体资源,“互斥访问”11.1.1死锁概念我们将死锁使用进程和资源的关系进行描述。资源类型R1, R2, R3…Rm。CPU执原创 2021-08-08 22:18:08 · 235 阅读 · 0 评论 -
清华向勇《操作系统》学习笔记10:信号量与管程
10.1 信号量概念信号量(Semaphore)是另一种临界区的保护机制,它是操作系统提供的一种协调共享资源访问的方法。它将资源纳入全局考虑,从操作系统的层面对资源进行宏观的调配。这个机制由Dijkstra在20世纪60年代提出,是早期操作系统的主要同步机制。信号量Semphore中的整数sem就是这个系统资源剩余量。申请时减少,释放时增加即可,没有时等待分配,所以先进先出。实现的结构和lock很像。具体的实现接口为P()和V(),分别是荷兰语(?)增加prolagg和减少verhoog的缩写。原创 2021-08-07 17:38:14 · 495 阅读 · 0 评论 -
清华向勇《操作系统》学习笔记9:同步互斥
文章目录9.1 同步互斥9.1.1 背景、问题和基本概念9.1.2 临界区9.1.3 实现方法9.1.3.1 禁用中断9.1.3.2 软件方法9.1.3.3 更高级的抽象方法9.2 信号量9.3 管程9.4 练习题9.1 同步互斥9.1.1 背景、问题和基本概念对于独立程序不和其他程序共享资源输入状态决定结果,具有确定性可重现起始条件调度顺序不重要但对于并发进程来说,多个进程间有资源共享,可能会因为不同顺序出现相互的干扰。从而产生不确定性不可重现未定义行为,程序错误是间歇性发生的原创 2021-08-06 23:44:17 · 207 阅读 · 0 评论 -
清华向勇《操作系统》学习笔记8:处理器调度算法
文章目录8.1 处理器调度概念8.1.1 调度的技术背景8.1.2 调度时机8.2 调度准则8.2.1 评定调度算法好坏的指标8.2.2 调度策略的低时延目标8.2.3 调度策略的吞吐量目标8.2.4 调度的公平性目标8.3 调度算法8.3.1 就绪队列优先级8.3.2 时间控制8.3.3 算法小结8.4 实时调度和多处理器调度8.4.1 实时调度8.4.2 多处理器调度8.5 优先级倒置8.6 练习题8.1 处理器调度概念8.1.1 调度的技术背景在此前我们已经介绍了进程和线程机制, 它们可以使得C原创 2021-08-05 00:06:58 · 465 阅读 · 0 评论 -
清华向勇《操作系统》学习笔记7:进程和线程
文章目录7.1 进程7.1.1 进程的概念7.1.2 进程控制块7.1.3 进程状态7.1.4 三状态进程模型7.1.5 挂起进程模型7.1.6 状态队列7.2 线程7.2.1 背景和需求7.2.2 线程的概念7.2.3 用户线程7.2.4 内核线程进程和线程表征操作系统的运行过程是如何维护的。7.1 进程7.1.1 进程的概念进程是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。这里特别注意程序和进程之间的关系:程序=文件(静态的可执行文件)进程=程序+执行过程(数据和和运原创 2021-08-03 21:01:49 · 208 阅读 · 0 评论 -
清华向勇《操作系统 》学习笔记6:页面置换算法
文章目录6.1 页面置换算法概念6.2 局部页面置换算法6.2.1 最优置换算法(OPT)6.2.2 先进先出算法(FIFO)6.2.3 最近最久未使用算法(LRU)6.2.4 时钟算法(Clock)6.2.5 最不常用算法(LFU)6.2.6 Belady现象6.2.7 几种算法的对比6.3 全局页面置换算法6.3.1 背景6.3.2 工作集置换算法6.3.3 缺页率置换算法6.1 页面置换算法概念本节强烈建议看视频:课程第九讲。其中给出了大量的动画示例,有助于理解。另外,我认为需要足量的练习。留原创 2021-08-02 12:09:17 · 444 阅读 · 0 评论 -
清华向勇《操作系统》Lab1-2 记录:QEMU使用小结
QEMU是一种常见的硬件模拟器,这里我们尝试不使用虚拟机,在WSLg上使用QEMU进行操作系统实验。为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习:从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。在初始化位置0x7c00设置实地址断点,测试断点正常。从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和 bootblock.asm进行比较。自己找一个bootloader或内核中的代码位置,设置断点并进行测试。首先需要在原有的WSLg基础原创 2021-07-21 20:52:33 · 314 阅读 · 2 评论 -
清华向勇《操作系统 》学习笔记5:虚拟存储概念
文章目录5.0 虚存的需求背景5.1 覆盖技术和交换技术5.2 局部性原理5.3 虚存的概念5.4 虚拟页式存储5.5 缺页异常5.0 虚存的需求背景虚存是一种放大机制,和地震中的弹性回跳、投资中的杠杆、电路中的放大器一样,都是借力打力,产生一种等效的放大作用。实际的存储受限于成本等原因,为了物尽其用,往往设计为层次结构,大容量存储往往性能较差,性能较好的存储往往设计的很小。但借助软硬件的协同,将读写较慢的硬盘作为读写较快的内存来使用,如果处理得当,相当于提高了存储的综合性能。我们可以将其戏称为“原创 2021-08-01 17:05:36 · 195 阅读 · 0 评论 -
清华向勇《操作系统 》学习笔记4:非连续内存,页表
文章目录4.1 非连续内存分配的背景与需求4.2 段式存储管理4.2.1 段式存储管理概念4.2.2 段式存储的访问4.3 页式存储管理4.3.1 页式存储的基本单元4.3.2 页式存储的地址转换4.4 页表4.4.1 基本要点4.4.2 快表4.4.3 多级页表4.4.4 反置页表4.5 段页式存储管理4.6 课后题知识点整理4.1 非连续内存分配的背景与需求之前已经讲到操作系统的连续内存分配,但比如在WFA(worst-fit allocation,先拆最大块方法)中,随着分配的进行,较大的内存申请原创 2021-07-31 14:33:53 · 432 阅读 · 0 评论 -
清华向勇《操作系统 》学习笔记3:连续物理内存
文章目录0. 综述1. 地址空间和地址生成1.1 地址空间的定义1.2 逻辑地址的生成0. 综述基本要求:一个进程需要一块存储时分配,完成工作后收回基本结构:首先分为物理存储和逻辑存储。物理存储可以从计算机体系结构的三个重要模块入手:CPU、内存和IO我们可以将各个部分以存储为逻辑,做层次化的区分:大体的调用关系如下,首先要考虑最为快速的缓存,其存取速度与CPU主频相同。缓存的使用是我们所不能意识到的,因为其依靠硬件实现。但内存和虚存是我们需要在操作系统当中操作的。逻辑地址空间:物理地址如原创 2021-07-30 23:25:14 · 290 阅读 · 1 评论 -
清华向勇《操作系统》Lab1-3,4 记录
lab 1-3关于A20 Gate,参考这篇博文即可:http://hengch.blog.163.com/blog/static/107800672009013104623747/ucore中的A20代码如下:.code16 # Assemble for 16-bit mode cli # Disable interr原创 2021-07-30 19:36:16 · 129 阅读 · 0 评论 -
清华向勇《操作系统》Lab1-1 记录:Makefile使用小结
今日份发现的一个好玩的缩写:Perl = “Pathologically Eclectic Rubbish Lister”https://chyyuu.gitbooks.io/ucore_os_docs/content/lab1/lab1_2_1_1_ex1.html理解通过make生成执行文件的过程。(要求在报告中写出对下述问题的回答)列出本实验各练习中对应的OS原理的知识点,并说明本实验中的实现部分如何对应和体现了原理中的基本概念和关键知识点。在此练习中,大家需要通过静态分析代码来了解:.原创 2021-07-20 23:23:04 · 227 阅读 · 0 评论 -
清华向勇《操作系统 》学习笔记2
2. 启动、中断、异常和系统调用文章目录2. 启动、中断、异常和系统调用2.1 计算机系统的启动过程2.1.1 BIOS2.1.2 主引导记录2.1.3 加载操作系统2.2 中断、异常和系统调用2.2.1 背景2.2.2 定义2.2.3 三种机制的对比2.2.4 中断2.2.5 系统调用2.1 计算机系统的启动过程CPU在加电之后,执行的第一条指令在内存中。但是我们说过,停电之后,内存中的DRAM会丢失全部数据。所以CPU是如何启动的呢?本节参考:https://www.cnblogs.com/原创 2021-07-19 17:18:38 · 345 阅读 · 1 评论 -
清华向勇《操作系统 》学习笔记第一章
文章目录第一章 操作系统概述1.1 操作系统定义操作系统的难点操作系统的实例、演变第一章 操作系统概述主要讲以下的几个模块:中断和系统调用:分别是软件和硬件、软件和软件之间的联结内存管理:负责调度内存资源(物理内存和虚存)进程和线程:负责程序运行过程的调度CPU调度:进程共用处理器时的时间共享进程间通信:同步互斥文件系统:组织文件,便于读写和查找I/O子系统:使用较为统一性的接口对不同的外设兼容1.1 操作系统定义控制程序?控制程序执行,防止不当使用,为使用者提供服务中间层?协原创 2021-07-18 16:01:46 · 296 阅读 · 1 评论