![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
阿龙-
这个作者很懒,什么都没留下…
展开
-
阿龙的学习笔记---如何用C++ STL 实现一个 LRU缓存
LRU缓存原理和链表实现:https://blog.csdn.net/weixin_41247813/article/details/82948989C++的STL的unordered_map 和 List 实现LRU缓存:https://blog.csdn.net/z702143700/article/details/48374201原创 2020-06-27 18:30:15 · 261 阅读 · 0 评论 -
阿龙的学习笔记---Linux I/O模型、多路复用I/O重点(转载)
Linux5种I/O模型。https://blog.csdn.net/ArrowYL/article/details/79934813这个的后半部分的例子有点意思。IO 多路复用之epoll 。 https://blog.csdn.net/daaikuaichuan/article/details/83717704原创 2020-06-26 20:41:20 · 67 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第十一章:I/O管理和磁盘调度
1. I/O设备设备的多样性导致很难找到一种统一的、一致的I/O解决办法。2. I/O功能的组织三种技术:程序控制I/O、中断控制I/O,直接存储器访问(DMA)。I/O设备的发展趋势,逐步让中央处理器从I/O任务中解脱出来,I/O模块有了自己的处理器甚至局部存储器。称为I/O通道。直接存储器访问:DMA单元能模拟处理器,处理器可以将I/O读写任务交给DMA控制器。DMA模块直接从存储器中或向存储器传送整块数据。数据不通过处理器,但是可能会占用系统总线。3. 操作系统I/O原创 2020-06-20 19:37:36 · 178 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第九章 + 第十章:调度
1. 调度类型调度是如何分配进程至处理器,而调度体现在在三个层次。长程调度:决定程序是否能够进入系统运行变成一个进程,他控制系统的并发度。执行的频率低。中程调度:是决定进程挂起还是在内存中。执行频率中等。短程调度:是指下次执行哪一个程序。时钟中断、I/O中断、系统调用、信号可能会引起短程调度。2. 单处理器调度算法规则:面向用户则需要尽量加快响应时间;而面向系统则是尽量提高处理器的效率。大多数系统中,适当的响应时间都是关键需求。先来先服务(FCFS):即选择在系统中时间最长的进程。时原创 2020-06-19 16:56:46 · 270 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第八章:虚拟内存
1. 硬件和控制结构分段和分页使得进程中的内存访问变成逻辑地址,且执行过程中,这些段或页不一定需要全部都在内存中。虚存工作原理: 虚拟内存通常从磁盘中分配,用户将感受到一个更大的内存。如果访问到一个不再内存中的逻辑地址时,则会产生一个缺页中断,操作系统会通过I/O操作,将包含这个逻辑地址的块换入内存中。优点: 虚存让能容纳的进程更多了,则处理器空闲的机会就更小,所以一定程度上提高了处理器的利用率。由于局部性原理,虚拟内存的可行性是可以的。分页:与简单分页的方式类似,可能页表中会多一些控制位,比原创 2020-06-18 19:29:56 · 171 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第七章:内存管理
1. 内存管理的原因重定位: 程序会换出换入内存,要知道程序在哪个区域,处理器和操作系统要能将程序代码中的内存访问转换到实际的物理内存地址。保护:进程外的程序不能未经授权访问本进程的空间。用户进程不能访问操作系统的部分。(但这好像是处理器硬件管的事情,将内存访问限定在一定范围内,没懂。)共享: 合作同步进程可能要共享同一片内存。逻辑组织: 内存外存都是以线性的物理形式,而程序被构造成模块,需要分段技术来组织各个程序。物理组织: 在内存和外存之间传输数据,需要由操作系统来管理。2. 内存分区原创 2020-06-18 16:38:21 · 210 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第六章:并发性:死锁和饥饿
1. 死锁原理死锁是一组进程,在互相竞争资源或者互相通信时,发生的永久性阻塞。每个进程都占用某个资源,并且在等待另一个资源。死锁的条件:互斥:一次只有一个进程能够占有一个资源。占有且等待:在等待资源时,继续占有资源。不可抢占:不能抢占其他进程以持有的资源。循环等待:存在闭合的进程链。每个进程至少占有下一个进程的所需资源。2. 死锁预防破坏四个条件之一,则死锁无法出现。互斥:无法破坏。占有且等待:一次性申请所有资源。不可抢占:变为可抢占资源。循环等待:给资源排序,只能按原创 2020-06-18 15:19:28 · 174 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第五章:并发性:互斥与同步
1.并发的原理多程序并发甚至并行会带来一些问题,主要是对于共享资源的访问。对于临界资源的保护要实施互斥,一个资源在被使用时,其他进程或线程不能进入临界区访问临界资源。2. 互斥:软件或硬件支持软件方法不需要程序设计语言或操作系统支持而实现,会有一定的缺陷和低效性。硬件方法可以使用专用机器指令,比如compare&swap这个原子操作,或者exchange原子操作,利用程序设计实现互斥。但也有严重缺点,忙等待,可能会有饥饿或者死锁。所以操作系统或者程序设计语言中提供的某些机制会更好原创 2020-06-17 18:19:58 · 327 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第四章:线程
1. 线程与进程二者的关系之前写过一个博客。多线程是一个进程中多个线程并发的能力。多线程下,进程有与之关联的PCB和用户地址空间,但每个线程会有许多单独的栈、线程上下文、PC、用于局部变量的静态空间。线程的优点:创建和终止比进程快;线程间切换比进程快;无需内核就可以实现同进程下的多线程之间通信,但需要做好保护,要考虑到同步问题。2. 线程分类用户级线程: 管理线程的工作由应用程序完成。可以使用线程库设计成多线程。优点是节省了内核切换线程的开销,可以使用线程库的调度算法而不影响原创 2020-06-17 16:30:17 · 239 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第三章:进程描述和控制
1. 进程定义:一个正在执行的程序实例;能分配给处理器并执行的实体;一组由命令、当前状态、数据、一组相关的系统资源表征的活动单元。由进程控制块来表示,包括:程序代码、标识符、状态、优先级、程序计数器、内存指针、上下文数据、I/O状态信息、记账信息。2. 进程状态五状态模型:运行、就绪、阻塞、新建、终止。挂起态: 当进程被交换至磁盘中,设置为挂起态,这样能够拓展内存,让更多的进程并发运行,提高效率。挂起时也会有状态变化:阻塞/挂起态——I/O完成——变成就绪/挂起态。3.原创 2020-06-16 19:10:32 · 150 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第二章:操作系统概述
1. 操作系统的目标和功能作为用户与计算机之间的接口,提供服务:程序开发、运行、I/O设备访问、文件访问控制、系统访问、错误检测响应、记账。作为资源管理器:控制处理器和其他资源。2.发展史串行处理:无操作系统,按顺序指向指令,通过硬件将程序输入计算机。简单批处理系统:作业可以排队了,将一堆作业放在输入设备中,监控程序在一个作业完成后,自动切换下一个作业。多道批处理系统:解决I/O设备处理慢的问题,在I/O设备处理时,切换下一个程序运行。分时系统:多个用户分享处理器的时间,所以叫分时。原创 2020-06-16 17:37:42 · 164 阅读 · 0 评论 -
阿龙的学习笔记---《操作系统 - 精髓与设计原理》笔记---第一章:计算机系统概述
1. 基本构成计算机主要由4个部分构成:处理器:数据处理。存储器:一般指的是内存。输入输出模块:各种外设,如硬盘。系统总线:在处理器、存储器、输入输出设备之间提供通信。3. 指令的执行最基本的包括两步:取指令 + 执行指令 = 指令周期程序计数器(Program Counter PC) 中保存下一条指令的位置,取到的指令放在指令寄存器(Instruction Register IR) 中。4. 中断可以分为四种:(这个分类有点奇怪…)程序中断:程序执行的结果产生原创 2020-06-16 16:39:56 · 138 阅读 · 0 评论 -
阿龙的学习笔记---操作系统---进程与线程、进程间/线程间通信方式、多进程与多线程
进程与线程进程与线程概述进程: 一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间比如在Windows系统中,一个运行的xx.exe就是一个进程。线程: 线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。进程是资源分配的单位,资源分配给进程,同一进程的所有线程共享该进程的所有资源。线程是资源调度的单位,处理机分给线程,即..原创 2020-06-04 16:27:51 · 210 阅读 · 0 评论