![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
掉进红汤锅的喜鹊
这个作者很懒,什么都没留下…
展开
-
操作系统(thuOS)笔记(十四) 第二十一讲 文件系统
操作系统(thuOS)笔记(十四) 第二十一讲 文件系统21.1 文件系统和文件21.1 文件系统和文件原创 2020-09-30 17:15:12 · 193 阅读 · 0 评论 -
操作系统(thuOS)笔记(十五) 第二十三讲 I/O子系统
操作系统(thuOS)笔记(十四) 第二十三讲 文件系统23.1 I/O特点23.2 IO结构23.3 IO数据传输23.4 磁盘调度23.5 磁盘缓存23.1 I/O特点三种常见设备接口类型同步与异步I/O用户进程与设备进行IO操作时,用户发出IO请求,操作系统将其转换成设备驱动,设备驱动会把它转换成硬件的控制,控制硬件进行相应操作,硬件操作完成后悔产生中断,由内核中的中断处理例程进行响应,最后送到设备驱动,然后回到用户态阻塞IO:Wait 发送请求到数据回来中间进程是要处于等待状态的原创 2020-09-30 17:14:13 · 239 阅读 · 0 评论 -
操作系统(thuOS)笔记(十三) 第二十讲 死锁与进程通信
操作系统(thuOS)笔记(十三) 第二十讲 死锁与进程通信20.1 死锁的概念20.1 死锁的概念由于共享资源而导致无限期等待的现象死锁示例: 单向通行桥梁在交汇处相遇,都在等对方过去,就卡住了解决的方法很简单,一辆车往后退就可以了与此同时,也可能出现饥饿的现象,即一个方向的车一直在走,另一个方向的车走不了进程访问资源的流程资源分类资源分配图示例如下图,进程P3占用R3,用完了之后释放,P2运行;不存在死锁下面这种就存在死锁了,P3申请R2,P2占用R2,P2原创 2020-09-27 22:02:37 · 208 阅读 · 0 评论 -
操作系统(thuOS)笔记(十二) 第十八讲 信号量与管程
操作系统(thuOS)笔记(十二) 第十八讲 信号量与管程18.1 信号量13.2 信号量使用生产者-消费者问题18.3 管程18.4 哲学家就餐问题18.5 读者-写者问题18.1 信号量回顾信号量(semaphore)操作系统提供的一种协调共享资源访问的方法。就像球场上,如果没有裁判,都按规则踢,但对规则的理解若有不同,则就会出现问题;因此引入裁判,即OS类比成铁路如图的铁路,进来一辆车,sem-1再来一辆,sem再-1变成0了再来车发现红灯了,就要等待了有一辆货车装卸完原创 2020-09-26 18:06:50 · 190 阅读 · 0 评论 -
操作系统(thuOS)笔记(十一) 第十七讲 同步互斥
操作系统(thuOS)笔记(十一) 第十七讲 同步互斥原创 2020-09-26 12:12:10 · 270 阅读 · 0 评论 -
操作系统(thuOS)笔记(十) 第十五讲 处理机调度
操作系统(thuOS)笔记(十) 第十五讲 处理机调度原创 2020-09-21 09:13:16 · 272 阅读 · 0 评论 -
操作系统(thuOS)笔记(九) 第十二讲 进程控制
操作系统(thuOS)笔记(九) 第十二讲 进程控制进程切换进程切换原创 2020-09-20 13:01:08 · 176 阅读 · 0 评论 -
操作系统(thuOS)笔记(八) 第十一讲进程和线程
操作系统(thuOS)笔记(八) 第十一讲进程和线程11.1 进程的概念11.2 进程控制块(PCB,Process Control Block)11.3 进程状态11.4 三状态进程模型11.5 挂起进程模型11.6 线程的概念11.7 用户线程11.8 内核线程轻权进程(LightWeight Process)11.1 进程的概念进程的定义进程表现了,程序在对数据进行处理时,是如何进行操作的。静态的程序被加到内存当中时,首先把代码放到内存里,然后在上面加上了堆、栈、数据段等。这些内容是在程序原创 2020-09-16 22:34:03 · 158 阅读 · 0 评论 -
操作系统(thuOS)笔记(七) 第九讲 页面置换算法
操作系统(thuOS)笔记(六) 第九讲 页面置换算法9.1 置换算法的概念9.2 最优算法、先进先出算法和最近最久未使用算法最优置换算法(OPT,optimal)先进先出算法(First-In First-Out, FIFO)最近最久未使用算法(Least Recently Used,LRU)9.3 时钟置换算法和最不常用置换算法时钟置换算法最不常用算法(Least Frequently Used, LFU)9.1 置换算法的概念功能和目标页面锁定(frame locking)把必须常驻的页面锁原创 2020-09-15 14:48:36 · 263 阅读 · 0 评论 -
操作系统(thuOS)笔记(六) 第八讲 虚拟存储概念
操作系统(thuOS)笔记(六) 第八讲 虚拟存储概念8.1 虚拟存储的需求背景8.2 覆盖和交换覆盖技术交换技术覆盖和交换的比较8.3 局部性原理8.4 虚拟存储概念8.5 虚拟页式存储8.6 缺页异常8.1 虚拟存储的需求背景在非连续存储内存分配的基础上,可以把一部分内容放到外存里的做法。这样,应用程序有更大的空间可以使用。之前计算机组成原理学过,SRAM非易失价格便宜,DRAM速度快价格贵,很难折中价格和性能代码都放到内存里不够了,不够用的原因是多线程、多进程、并发性提高。解决办法:原创 2020-09-12 22:40:21 · 150 阅读 · 0 评论 -
操作系统(thuOS)笔记(五) 第七讲 实验二 物理内存管理
操作系统(thuOS)笔记(五) 第七讲 实验二 物理内存管理了解x86保护模式中的特权级了解特权级切换过程了解段/页表准备阶段default_init(void)default_init_memmap(struct Page *base, size_t n)default_alloc_pages(size_t n)default_free_pages()了解x86保护模式中的特权级基本上操作系统有一个级别,应用程序有一个级别就够了,另外另个level是预留的。Linux只使用level0和level3原创 2020-09-10 21:22:14 · 539 阅读 · 0 评论 -
操作系统(thuOS)笔记(四) 第六讲 物理内存管理:非连续内存分配
操作系统(thuOS)笔记(三) 第五讲 物理内存管理:非连续内存分配非连续内存分配的需求背景段式存储管理页式存储管理页表快表和多级页表反置页表段页式存储管理非连续内存分配的需求背景连续内存分配时必须物理地址连续,这可能没有满足需求大小的空间。不连续,找到合适空间的机会更高,但是也多了一些麻烦。基本块,段式比较大,页式比较小。连续分配的缺点分配给程序的物理内存必须连续存在内外碎片内存分配的动态修改困难内存利用效率低非连续分配的设计目标:提高内存利用率效率和管理灵活性允许一个程序的使用非连原创 2020-09-04 17:23:08 · 201 阅读 · 0 评论 -
操作系统(thuOS)笔记(三) 第五讲 物理内存管理:连续内存分配
计算机体系结构和内存层次抽象、保护、共享、虚拟化操作系统的内存管理方式重定位(relocation)分段(segmentation)分页(paging)虚拟存储(virtual memory)(目前多数系统采用按需页式虚拟存储)地址空间和地址生成物理地址空间 在写程序时是不知道写在哪里了,这样是不方便的 0~ MAXsys逻辑地址空间 在CPU运行的进程看到的地址 0~ MAXprog逻辑地址生成需要靠重定位来定位到物理地址地址检查段长度寄存器和段基址寄存器来检查地址是否合法原创 2020-09-03 22:27:58 · 254 阅读 · 0 评论 -
操作系统(thuOS)笔记(二) 第四讲 实验一 BootLoader启动ucore os
第四讲 实验一 BootLoader启动ucore os 4.1 启动顺序理解x86-32的启动过程理解实模式、保护模式4.2 C函数调用的实现4.3 GCC内联汇编(inline assembly)示例1:示例2:先修知识4.4 x86中断处理过程4.1 启动顺序理解x86-32的启动过程x86启动顺序-寄存器初始值CS和EIP的默认值如第三讲所述,只要一开电,就会把CS和EIP设成这两个值,然后决定在哪个地址取得相应的指令去执行。实际地址为Base + EIP = FFFF0000H + 0原创 2020-08-28 22:56:39 · 366 阅读 · 0 评论 -
操作系统(thuOS)笔记(一) 第三讲 启动、中断、异常和系统调用
thuOS笔记(一) 第三讲 启动、中断、异常和系统调用3.1 BIOSBIOS加载程序BIOS系统调用3.2 系统启动流程CPU初始化:**加点稳定后**,从0xFFFF0读第一条跳转指令BIOS初始化:从磁盘读取加载程序主引导记录MBR格式活动分区引导扇区格式加载程序(BootLoader)系统启动规范3.3 中断、异常和系统调用比较段机制 页机制通用寄存器 段寄存器 指令指针寄存器 标志寄存器 控制寄存器 系统地址寄存器 调试寄存器MD→MKDIR→Make DirectoryCD→CHDIR原创 2020-08-26 23:29:55 · 363 阅读 · 0 评论