![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统笔记
操作系统笔记
Hydrion-Qlz
啥都想学又都没时间开始的大学牲
(如需博客中某文件pdf或者是需要什么资源可直接邮箱联系
qlz_huo@163.com
展开
-
为了提高对主存的访问速度提出了哪些技术
为了提高对主存的访问速度提出了哪些技术Enhanced DRAMCache DRAMSDRAM由于SDRAM是根据统一的时钟信号来发数据,因此这种技术允许CPU在向内存发送取数据指令后去处理其他进程而不用阻塞,只需在固定的时间(内存准备完数据)后取出数据即可,避免了CPU的忙等DDR SDRAM在SDRAM的基础上有每个时钟信号发送一个数据改为每个时钟发送两条数据,即在时钟的上升沿和下降沿分别发送一次数据,加快了内存的处理速度...原创 2022-01-07 11:52:14 · 559 阅读 · 0 评论 -
一个二道组关联缓存大小为8KB,每一行有16B大小,主存有64MB,是根据字地址索引的,画出主存地址格式
一个二道组关联缓存大小为8KB,每一行有16B大小,主存有64MB,是根据字地址索引的,画出主存地址格式由于主存有64MB,且地址根据字索引,则共有64M个字,因此主存地址长度为 26bit由于行大小等于块大小,则每一块包含16个字,即Word的长度为4bit则块号长度为26−4=22bit26-4=22bit26−4=22bit由于缓存为8KB,每一行大小为16B,因此共有0.5K个行,即512行,即292^929行由于每个组有两行,则Set的长度为8bit因此Tag的长度为22−8=14bi原创 2022-01-14 19:35:31 · 941 阅读 · 0 评论 -
The Sleeping-Barber problem
The Sleeping-Barber problem理发店由一个带n把椅子的等候室和一个带一把理发椅的理发室组成。如果没有顾客,理发师就睡觉。如果顾客进入理发店,所有的椅子都被占满了,那么顾客就离开了理发店。如果理发师很忙,但椅子有空,顾客就坐在其中一张空椅子上。如果理发师睡着了,顾客就会叫醒理发师。编写一个程序来协调理发师和顾客。共享变量chairCount = n //空闲椅子数量 barberChairCount = 1 //理发椅数量互斥变量chairCountMutex = 1 /原创 2022-01-07 00:20:09 · 798 阅读 · 2 评论 -
自旋锁为什么不适用于单处理器系统
自旋锁为什么不适用于单处理器系统解释为什么自旋锁不适用于单处理器系统,但通常用于多处理器系统。自旋锁不适合单处理器的原因是由于当一个进程处于自旋锁状态时说明其正在等待某一个资源,而在单处理器系统中,一旦发生了这种自旋锁,那么拥有资源的那个进程也会由于无法得到CPU而一直等待,这样之后,占用CPU的进程会等待另一个进程释放资源,占用资源的进程会等待另一个进程释放CPU,从而导致程序进入一个死锁的状态,因此单处理器不适合自旋锁在多处理器中,即使一个进程处于自旋锁状态而占用一个CPU,拥有资源的进程也可以原创 2022-01-14 19:34:41 · 1976 阅读 · 2 评论 -
为什么调度是要区分CPU型进程与IO型进程
为什么调度是要区分CPU型进程与IO型进程因为二者对CPU的使用有较大差别,I/O操作只需少量的CPU时间片,大部分时间用于I/O的等待,而CPU约束操作需要用整块时间,在CPU操作的后台可以同时运行I/O等待操作,二者互不影响, 通过区分两种操作,加上系统的调度,可以更好的利用CPU资源,提高运行效率...原创 2022-01-09 16:48:28 · 1142 阅读 · 0 评论 -
微内核方法在系统设计中的主要优势是什么
微内核方法在系统设计中的主要优势是什么易于扩充,易于移植提高系统的可靠性:提供多种操作环境便于实现分布计算:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上...原创 2022-01-14 19:34:10 · 811 阅读 · 0 评论 -
使用FAT将文件块链接在一起的链接分配有什么优点
使用FAT将文件块链接在一起的链接分配有什么优点显式链接,支持随机存取通过 FAT 指针可以直接访问中间的块,不需要去轮流访问文件中的每个块。FAT 常常都位于主存中,存取速度很快,可以加快访问速度。...原创 2022-01-09 16:48:59 · 1330 阅读 · 0 评论 -
什么是设备独立性? 为什么要引入设备独立性?如何实现设备独立性?
什么是设备独立性? 为什么要引入设备独立性?如何实现设备独立性什么是设备独立性设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。为什么要引入设备独立性引入设备独立性后可以调高设备的利用率和分配时的灵活性;提高系统的可适应性和可扩展性;可以方便用户操作,易于实现IO重定向如何实现设备独立性为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类原创 2022-01-09 16:48:13 · 13492 阅读 · 8 评论 -
什么是SPOOLing技术
什么是SPOOLing技术SPOOLing 技术就是利用多道程序中的一道程序来模拟脱机输入时的外围控制机的功能,把低速 I/O 设备上的数据传送到高速磁盘上;用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与 CPU 对数据的处理同时进行,这种在联机情况下实现的同时外围操作称为 SPOOLing ,或称假脱机操作。...原创 2022-01-09 16:49:20 · 4901 阅读 · 0 评论 -
设备驱动程序要完成什么工作
设备驱动程序要完成什么工作将接收到的抽象要求转换为具体要求。检查用户 I/O 请求的合法性,了解 I/O 设备的状态,传递有关参数,设置设备的工作方式。发出 I/O 命令,启动分配到的 I/O 设备,完成指定的 I/O 操作及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O 请求,自动地构成通道程序...原创 2022-01-11 22:10:04 · 1086 阅读 · 0 评论 -
内核在进程之间切换上下文所采取的操作
内核在进程之间切换上下文所采取的操作内核在进程间进行上下文切换时,首先需要将当前进行的状态保存在对应的PCB中,包括CPU寄存器中的内容,堆,用户栈,内存管理信息,数据,文本,然后需要将下一个进程中的PCB中的内容取出来设置到相应的寄存器中...原创 2022-01-09 16:49:36 · 814 阅读 · 0 评论 -
解释内部碎片和外部碎片之间的区别
解释内部碎片和外部碎片之间的区别内碎片:是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间,占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块外碎片:是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域,这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请...原创 2022-01-09 16:49:50 · 1651 阅读 · 1 评论 -
分层系统设计方法的主要优点是什么
分层系统设计方法的主要优点是什么低层和高层可分别实现(便于扩充);高层错误不会影响到低层,便于调试、利于功能的增删改;调用关系清晰(高层对低层单向依赖),避免递归调用,有利于保证设计和实现的正确性...原创 2022-01-14 19:33:36 · 1409 阅读 · 0 评论 -
多道程序的优点
多道程序的优点多道批处理系统同时在内存中存放多个作业,通过操作系统的调度使得当正在执行的作业需要做I/O操作时切换到另一个作业,等待I/O完成后继续执行,这种机制使得CPU总在执行其中一个作业,也就是说在所有程序未执行结束前CPU不会因为无事可干而歇着,与单道批处理系统相比,这种方式提高了系统的资源利用率;另外由于CPU一直工作,系统吞吐量也较单道批处理大...原创 2022-01-08 18:42:58 · 1127 阅读 · 0 评论 -
对比三种多线程模型的优缺点(多对一,多对多,一对一)
对比三种多线程模型的优缺点多对一模型多对一模型将多个用户线程映射到一个内核线程上,线程之间的切换由用户的代码来进行。优点:相对于一对一模型,多对一模型的线程切换要快速许多。由于多个用户线程对应一个内核线程,因此用户线程数量几乎没有限制。缺点:如果其中一个用户线程阻塞,那么所有的线程将都无法执行在多处理器系统上,处理器的增多线程性能也不会有明显的帮助一对一模型一般直接使用API或系统调用创建的线程均为一对一的线程。一个用户使用的线程就唯一对应一个内核使用的线程。优点:用户线程原创 2022-01-08 18:42:16 · 3745 阅读 · 0 评论 -
短程调度,中程调度和长程调度的对比
短程调度,中程调度和长程调度的对比short-term scheduling短程调度,又称为CPU调度,任务是选择可被下一个执行并分配CPU的进程是在ready队列中挑选进程进入running状态短程调度频率高,速度快medium-term scheduling中程调度是为了缓和内存紧张的情况,将内存中处于阻塞状态的进程切换到外存上,即将其状态切换到挂起状态,当这些进程重新具备运行条件时,再从外存上调入内存long-term scheduling长程调度,又称作业调度,任务是原创 2022-01-07 11:51:24 · 1490 阅读 · 0 评论 -
典型操作系统的定义比较
典型操作系统的比较a. Batch b. Time sharing c. Real time d. Network e. DistributedBatch一批作业以脱机处理的方式输入到磁带/磁鼓中Time Sharing把CPU时间分成若干个大小相等(或不等)的时间单位(时间片),每个中断用户获得CPU分配的时间片后开始运行,当时间片时间到,该用户暂停运行,等待下一次时间分配后开始继续运行Real Time当外界事件或者数据产生的时候,能够在一定时间限制内完成特原创 2022-01-07 11:51:04 · 281 阅读 · 0 评论 -
第二类读者写者问题:写者优先
第二类读者写者问题:写者优先条件:多个读者可以同时进行读写者必须互斥(只允许一个写者写,也不能读者写者同时进行)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)互斥变量wMutex = 1 //写互斥变量wCountMutex = 1 //写数量记录互斥变量rMutex = 1 // 读互斥变量rCountMutex = 1 //读数量记录互斥变量共享变量wCount = 0 //写进程的数量rCount = 0 //读进程的数量write// 记录写原创 2022-01-07 11:50:25 · 5326 阅读 · 1 评论 -
wait()和sign()如果不是原子执行的后果
wait()和sign()如果不是原子执行的后果如果wait()和signal()信号量操作不是原子执行的,则可能违反互斥在wait()函数中,首先需要判断该进程所需的所有资源是否都已经空闲如果存在不空闲的资源的话,则该进程进入第一个不空闲的资源的等待队列,直到该资源空闲时才被唤醒如果所有资源都空闲的话,则该在wait()函数中将该进程所需的所有资源都分配给该进程当wait()和signal()函数不是原子地执行的时候,会出现一种情况即两个进程共同需要的资源只有一个,并且这两个进程其他所有资源原创 2022-01-07 00:20:37 · 1120 阅读 · 1 评论 -
操作系统笔记及思维导图汇总附期末复习建议
写在前面本文中笔记内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载笔记是我当时在上课期间整理的,到后半部分的时候由于实验和考试安排的比较紧,就没来得及做,因此只到了第九章,但是后面几个章节都比较重要,考试中都是大题(简答or计算,例如虚拟内存那部分的页置换算法,页置换原理,以及磁盘访存的几种算法),如果想得分的话千万不能忽视思维导图是在复习期间整理的,当时复习只有三天时间(中途电脑还坏了,绝望),因此整理的思维导图也不全面,复习到中间了才想起来可以做思维导图最后再看一遍,于是中间原创 2022-01-05 14:34:32 · 2935 阅读 · 0 评论 -
操作系统第九章笔记---存储管理
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录思维导图Background指令与数据绑定到内存地址Logical vs Physical Address Space地址重定位Memory-Management Unit (MMU)Dynamic LoadingDynamic LinkingOverlaysSwappingContiguous Allocation(连续分配)存储管理方式Single-partition allocationMulti.原创 2022-01-05 13:46:58 · 995 阅读 · 0 评论 -
操作系统第八章笔记---死锁
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录思维导图Introduction定义资源的分类死锁的原因Deadlock CharacterizationSystem ModelResource-Allocation Graph(资源分配图)Basic FactsMethods for Handling Deadlocks鸵鸟策略Deadlock PreventionMutual ExclusionHold and WaitNo Preemption.原创 2022-01-05 13:36:23 · 406 阅读 · 0 评论 -
操作系统第七章笔记---进程同步
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录思维导图Background进程间的交互关系The Critical-Section Problem (临界区问题)临界区的访问过程同步机制应遵守的准测两进程互斥的软件方法算法1缺点算法2优缺点算法3Synchronization Hardware (同步的硬件实现)Test-and-Set指令Swap 指令优缺点硬件方法的优点硬件方法的缺点Semaphores利用信号量来描述互斥关系利用信号量来描述前.原创 2022-01-05 13:31:19 · 830 阅读 · 0 评论 -
操作系统第六章笔记---CPU调度
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录思维导图Basic ConceptsOS三级调度CPU SchedulerCPU Scheduling SchemeDispatcherScheduling Criteria(调度准则)Scheduling AlgorithmsFCFS SchedulingSJF SchedulingPriority Scheduling确定优先级Round Robin (RR)Multilevel QueueMul.原创 2022-01-05 13:25:23 · 896 阅读 · 0 评论 -
操作系统第五章笔记---线程
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录Overview进程线程优点基本概念进程和线程的比较BenefitsUser and Kernel ThreadsKernel ThreadsUser Threads对比Multithreading ModelsMany-to-One多对一One-to-One一对一Many-to-many Model多对多模型Two-level ModelThreading IssuesSemantics of for.原创 2022-01-05 13:18:11 · 851 阅读 · 0 评论 -
操作系统第四章笔记---进程
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录Process ConceptIntroduce**Sequential environment (顺序环境)****Concurrent environment (并发环境)**多道程序设计对OS的要求Process进程与程序进程的特征进程的类型系统进程与用户进程的区别进程描述进程状态进程状态变迁newreadyrunningWaitingexit挂起状态挂起状态的引入七状态进程模型新状态转换Proc.原创 2022-01-05 13:14:47 · 1129 阅读 · 0 评论 -
操作系统第三章笔记--操作系统结构
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录Operating-System StructuresOperating System Services(操作系统服务)Additional Operating System ServiceSystem Calls(系统调用)Processing of system call过程三种传参方式Types of System CallsSystem Programs(系统程序)Common System .原创 2022-01-03 12:47:11 · 1122 阅读 · 0 评论 -
操作系统第二章笔记---计算机系统结构
本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载文章目录文章目录文章目录思维导图Computer System Operation中断机制分类目的功能I/O StructureI/O Interruptssynchronous I/ODMA structureStorage StructureMain MemorySecondary Storagecachecoherency and consistency (一致性)Storage Hierarchy(存储层次)Hardw.原创 2022-01-03 12:42:36 · 879 阅读 · 0 评论 -
操作系统第一章笔记---绪论
什么是操作系统本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载Operating system is a program that manage the computer hardware. 操作系统是管理计算机硬件的程序在计算机用户和计算机硬件之间起媒介作用的一种程序。计算机系统部件硬件(Hardware) – provides basic computing resources (CPU, memory, I/O devices).提供基本的运算资源操作系统原创 2022-01-03 12:36:49 · 1249 阅读 · 0 评论