
操作系统
文章平均质量分 90
操作系统知识点,以理论为主。
王道计算机操作系统学习笔记
NUC_Dodamce
醉生梦死谁成器,拓马长枪定乾坤。
展开
-
操作系统-内存管理(快表的地址变换机构,两级页表,虚拟内存的基本概念,基本页式管理下的页表和页面置换算法)
与基本分页管理相比,请求分页管理中,为了实现“请求调页”,操作系统需要知道每个页面是否已经调入内存,如果还没调入,那么也需要知道该页面在外存中存放的位置。有的页面修改过,就需要将外存中的归数据覆盖,因此,操作系统也需要记录各个页面是否被修改的信息。事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源。基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。原创 2023-01-03 21:33:12 · 2273 阅读 · 0 评论 -
操作系统-内存管理(内存的分配与回收(非连续分配方式,基本分页存储管理方式,基本地址变换机构))
只要给出一个逻辑地址,系统就可以自动地算出页号(系统已知页面大小)、页内偏移量两个部分,并不需要显式地告诉系统这个逻辑地址中,页内偏移量占多少位。进程未执行时,页表的始址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把它们放到页表寄存器中。因此,页式管理中地址是一维的。页表在内存中是连续存储的,如果已知页表在内存的起始地址为X,页表大大小为4KB,系统的物理内存的大小为4GB。通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M(页表项数)。原创 2022-12-14 21:57:42 · 1316 阅读 · 0 评论 -
操作系统-内存管理(覆盖与交换技术,内存空间的分配与回收(连续分配方式管理方式))
邻近适应算法的规则可能会导致无论低地址、高地址部分的空闲分区都有相同的概率被使用,也就导致了高地址部分的大分区更可能被使用,划分为小分区,最后导致无大分区可用(最坏适应算法的缺点)缺点:每次都选最大的分区进行分配,虽然可以让分配后留下的空闲区更大,更可用,但是这种方式会导致较大的连续空闲区被迅速用完。为了避免最好适应算法产生的大量内存碎片,在分配内存时优先使用最大的连续空闲区,这样分配后剩余的空闲区就不会太小,更方便使用。缺点:每次都选最小的分区进行分配,会留下越来越多的、很小的、难以利用的内存块。原创 2022-10-19 17:26:02 · 1932 阅读 · 0 评论 -
操作系统-内存管理(内存基础知识,了解逻辑地址到物理地址,编译于链接,内存管理的基本概念)
内存的作用:储存数据。程序执行前,需要先将程序放到内存中才能被CPU处理。之所以这样,是因为CPU的速度和硬盘(外存)的速度差异太大,中间的这层内存就是为了缓和这样的矛盾。在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。为了区分各个程序的数据存放的位置,就需要对内存进行编址。原创 2022-10-17 17:57:56 · 829 阅读 · 0 评论 -
操作系统-进程与线程(管程、死锁、产生死锁的条件,预防死锁策略、银行家算法,安全序列求法)
王道计算机操作系统学习心得# 1. 管程因为通过信号量保证互斥和同步比较复杂,所以引入了管程。管程实际上是一种高级同步机制。管程的引入也是用来实现进程的同步于互斥的。管程的定义有点像类,在管程中,有对临界资源的说明,有一组API来操作临界资源,同时也有对临界资源初始化的语句。**管程的特点:(这里的过程指的是一组函数)**1. 局部于管程的数据只能被局部于管程的过程所访问2. 一个进程只有通过调用管程内的过程才能进入管程访问共享数据3. 每次仅允许一个进程在管程内执行原创 2022-10-11 18:39:49 · 2798 阅读 · 0 评论 -
操作系统-进程与线程(同步互斥典型模型-读者写者模型,哲学家进餐问题)
王道操作系统学习笔记,心得。有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。原创 2022-09-29 00:57:24 · 750 阅读 · 0 评论 -
操作系统-进程与线程(同步互斥典型模型-生产者,消费者模型、吸烟者问题)
王道计算机操作系统(线程同步互斥实例,生产者消费者模型,吸烟者模型)学习笔记心得。原创 2022-09-25 23:26:09 · 857 阅读 · 0 评论 -
操作系统-进程与线程(互斥锁,信号量,信号量实现进程同步与互斥)
如果进程申请不可用锁会阻塞。整型信号量的缺陷是存在“忙等”问题,因此人们又提出了“记录型信号量”,即用记录型数据结构表示的信号量。简单的理解就是:前V后P,先执行的进程V操作,后执行的进程P操作等待先执行的进程V操作。信号量的值=这种资源的剩余数量(信号量的值如果小于0,说明此时有进程在等待这种资源)如果代码1,代码2没有执行,P2会阻塞在P(S)上,没法运行代码4。只有代码1,代码2执行后,V(S)唤醒P2进程,P2进程才执行代码4。V(S)―释放一个资源s,如果有进程在等待该资源,则唤醒一个进程。原创 2022-09-06 18:40:02 · 1115 阅读 · 0 评论 -
操作系统-进程与线程(进程同步与互斥,进程互斥的软硬件实现方式)
若刚开始lock是true,则执行TLS后old返回的值为true,while循环条件满足,会一直循环,直到当前访问临界区的进程在退出区进行“解锁”。当前访问临界资源的进程访问结束,释放该资源之后,另一个进程才能去访问临界资源。(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两个同时访问临界区的情况)每个进程在进入临界区之前先检查当前有没有别的进程想进入临界区,如果没有,则把自身对应的标志flag[i]设为true,之后开始访问临界区。原创 2022-09-02 23:40:36 · 698 阅读 · 0 评论 -
操作系统-进程与线程(调度器与闲逛进程,调度算法与评价标准)
最短剩余时间优先算法:每当有进程加入就绪队列,就绪队列改变时就需要调度,如果新到达的进程剩余时间比当前运行的进程剩余时间更短,则由新进程抢占处理机,当前运行进程重新回到就绪队列。思路:在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务(响应比:(等待时间+要求服务时间)÷要求服务时间。时刻1,此时p2进程到达,p1进程时间片到,p1进程到第二级队列队尾。p2进程进入第一级队列队尾。时刻5,进程p3进程到达,p3进入第一级队列,p2被抢占,p2回到原来队列的队尾,CPU调度p3。原创 2022-09-02 00:13:31 · 2290 阅读 · 0 评论 -
操作系统-进程与线程(线程的状态与转化,线程的组织与控制,处理机调度的概念与层次,进程调度的过程与方式)
剥夺式:(抢占式)当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。进程切换是有代价的,因此如果过于频繁的进行进程调度、切换,必然会使整个系统的效率降低,使系统大部分时间都花在了进程切换上,而真正用于执行进程的时间减少。内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)剥夺式进程调度方式可以让进程以时间片轮转的方式来进行调度,同时也具备优先处理任务的能力。...原创 2022-08-16 17:16:08 · 438 阅读 · 0 评论 -
操作系统-进程与线程(线程概念,线程与进程对比,线程属性、线程的实现方式和多线程模型)
引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务。内核级线程中可以运行任意一个有映射关系的用户级线程代码,只有两个内核级线程中正在运行的代码逻辑都阻塞时,这个进程才会阻塞。缺点一个用户进程会占用多个内核级线程,线程切换由操作系统内核完成,需要切换到核心态,因此线程管理的成本高,开销大。在设计线程时,可以结合用户及线程和内核级线程。在用户态的线程称为用户级线程,在内核态的线程称为内核级线程。一个进程可以有多个线程。...原创 2022-08-01 21:55:47 · 406 阅读 · 0 评论 -
操作系统-进程与线程(进程的概念、组成、特征、进程的状态与转化)
当进程运行结束后,会执行exit系统调用结束进程,此时进程的状态为终止状态,CPU负责回收进程申请的系统资源和PCB。PID操作系统为了区分不同的进程,当进程创建时,操作系统会给进程创建一个唯一、不重复的编号。当进程创建完成后就会进入就绪状态,就绪状态的进程已经具备运行的条件了,只是此时CPU没有运行这个进程。进入阻塞态的进程当等待的系统资源就绪的时候,会从阻塞态进入就绪态重新等待CPU调度。结构每个进程都会配置一个PCB。此时进程正在等待CPU调度,如果进程被CPU调度,此时进程的状态运行态。......原创 2022-08-01 10:25:16 · 1270 阅读 · 1 评论 -
操作系统-进程与线程(进程控制,进行控制相关的原语、三种进程通信方式)
进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。原创 2022-08-01 19:11:55 · 1517 阅读 · 0 评论 -
操作系统-计算机系统概述(操作系统引导BIOS、虚拟机)
CPU会执行内存中磁盘引导程序,根据主引导记录(MBR)中的分区表找到C盘的引导记录(PBR)。进而执行C盘中的启动管理器。虚拟机使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(VirtualMachine,VM),每个虚拟机器都可以独立运行一个操作系统。主存上有一块ROM芯片叫BIOS,包含了ROM引导程序(自举程序)。ROM引导程序会指示CPU将磁盘中的主引导记录读入内存中。分区表磁盘中不同盘分别占用的大小,以及每个分盘的地址。操作系统引导启动计算机时让操作体系运行起来。...原创 2022-07-25 18:57:10 · 3182 阅读 · 0 评论 -
操作系统-计算机系统概述(中断与异常、系统调用、操作系统体系结构)
因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。不同的中断信号,需要用不同的中断处理程序来处理。特殊有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令――陷入指令,该指令会引发一个内部中断信号(系统调用)。陷入指令并不是特权指令。...原创 2022-07-25 16:28:28 · 1041 阅读 · 0 评论 -
操作系统-计算机系统概述(基本概念与功能、操作系统特征,发展分类、运行机制)
是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。操作系统(OperatingSystem,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。..原创 2022-07-24 23:00:05 · 1141 阅读 · 0 评论