操作系统
文章平均质量分 92
以计算机专业的操作系统课程理论知识为主,主要对课程知识进行总结学习。
何为xl
发布简单小项目和自己的学习笔记
展开
-
【操作系统】进程管理(五)—— 信号量机制
进程互斥的四种软件实现方式(单标志法、双标志先检查、双标志后检查、Peterson算法)进程互斥的三种硬件实现方式(中断屏蔽方法、TS/TSL指令、Swap/XCHG指令)在双标志先检查法中,进入区的“检查”、“上锁” 操作无法一气呵成,从而导致了两个进程有可能同时进入临界区的问题;所有的解决方案都无法实现“让权等待”1965年,荷兰学者Dijkstra提出了一种卓有成效的实现进程互斥、同步的方法——信号量机制。问题描述。原创 2022-10-06 00:30:00 · 10829 阅读 · 3 评论 -
【操作系统】进程管理(四)—— 进程同步与进程互斥
利用“开/关中断指令”实现(与原语的实现思想相同,即在某进程开始访问临界区到结束访问为止都不允许被中断,也就不能发生进程切换,因此也不可能发生两个同时访问临界区的情况)优点:简单、高效缺点:不适用于多处理机;只适用于操作系统内核进程,不适用于用户进程(因为开/关中断指令只能运行在内核态,这组指令如果能让用户随意使用会很危险)原创 2022-10-05 10:00:00 · 2017 阅读 · 0 评论 -
【操作系统】进程管理(六)—— 死锁
为什么会产生死锁?产生死锁的条件;解决死锁的方法。在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁”。发生死锁后若无外力干涉,这些进程都将无法向前推进。死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象。饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象。比如:在短进程优先(SPF)算法中,若有源源不断的短进程到来,则长进程将一直得不到处理机,从而发生长进程“饥饿”。死循环:某进程执行过程中一直跳不出某个循环原创 2022-10-04 19:27:11 · 898 阅读 · 0 评论 -
【操作系统】进程管理(三)—— 进程调度
等待时间相同时,要求服务时间短的优先(SJF 的优点)要求服务时间相同时,等待时间长的优先(FCFS 的优点)对于长作业来说,随着等待时间越来越久,其响应比也会越来越大,从而避免了长作业饥饿的问题。注意:进程切换是有代价的,因此如果过于频繁的进行进程调度、切换,必然会使整个系统的效率降低,使系统大部分时间都花在了进程切换上,而真正用于执行进程的时间减少。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。原创 2022-10-04 09:18:59 · 2631 阅读 · 0 评论 -
【操作系统】进程管理(二)—— 线程
在上图中,内核级线程中可以运行任意一个有映射关系的用户级线程代码,只有两个内核级线程中正在运行的代码逻辑都阻塞时,这个进程才会阻塞。缺点:一个用户进程会占用多个内核级线程,线程切换由操作系统内核完成,需要切换到核心态,因此线程管理的成本高,开销大。缺点:一个用户进程会占用多个内核级线程,线程切换由操作系统内核完成,需要切换到核心态,因此线程管理的成本高,开销大。每个用户进程有与用户级线程同数量的内核级线程。在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分为几种多线程模型。原创 2022-10-02 19:43:13 · 1569 阅读 · 0 评论 -
【操作系统】进程管理(一)—— 进程
进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。简化理解:反正进程控制就是要实现进程状态转换学习技巧:进程控制会导致进程状态的转换。更新PCB中的信息a. 所有的进程控制原语一定都会修改进程状态标志b. 剥夺当前运行进程的CPU使用权必然需要保存其运行环境c. 某进程开始运行前必然要恢复期运行环境将PCB插入合适的队列分配/回收资源。原创 2022-10-01 21:42:53 · 1302 阅读 · 0 评论 -
【操作系统】I/O 管理(二)—— I/O 核心子系统
手工操作阶段:主机直接从 I/O设备获得数据,由于设备速度慢,主机速度很快。人机速度矛盾明显,主机要浪费很多时间来等待设备。如下图。批处理阶段引入了脱机输入/输出技术(用磁带完成):引入脱机技术后,缓解了CPU与慢速I/O设备的速度矛盾。另一方面,即使CPU在忙碌,也可以提前将数据输入到磁带;即使慢速的输出设备正在忙碌,也可以提前将数据输出到磁带。为什么称为“脱机”—— 脱离主机的控制进行的输入/输出操作。设备的固有属性可分为三种:独占设备、共享设备、虚拟设备。原创 2022-09-15 21:37:50 · 1690 阅读 · 0 评论 -
【操作系统】I/O 管理(一)—— I/O 管理概述
I/O 设备由机械部件和电子部件组成。I/O 设备的机械部件主要用来执行具体I/O操作。如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。I/O 设备的电子部件通常是一块插入主板扩充槽的印刷电路板。三、I/O 控制方式I/O 控制方式,即用什么样的方式来控制 I/O设备的数据读/写。1. 完成一次读 / 写操作的流程;2. CPU干预的频率;3. 数据传送的单位;4. 数据的流向;5. 主要缺点和主要优点。三、I/O 控制方式。原创 2022-09-15 20:16:59 · 1681 阅读 · 1 评论 -
【操作系统】文件管理(六)—— 文件存储空间管理
操作系统对文件管理中需要对磁盘块进行管理。这其中包含对空闲磁盘块和非空闲磁盘块的管理。对非空闲磁盘块的管理涉及文件的物理结构/文件的分配方式。对空闲磁盘块的管理涉及文件存储空间的管理。文件的物理结构(文件的分配方式)原创 2022-09-12 11:47:31 · 2615 阅读 · 0 评论 -
【操作系统】文件管理(七)—— 文件系统的层次结构与基本操作
假设某用户请求删除文件 “D:/工作目录/学生信息.xlsx” 的最后100条记录。进行 Create 系统调用时,需要提供的几个主要参数:操作系统在处理 Create 系统调用时,主要做了两件事:进行 Delete 系统调用时,需要提供的几个主要参数:操作系统在处理 Delete 系统调用时,主要做了几件事:在很多操作系统中,在对文件进行操作之前,要求用户先使用 open 系统调用“打开文件”,需要提供的几个主要参数:操作系统在处理 open 系统调用时,主要做了几件事:读文件:将文件数据读入内存,原创 2022-09-12 12:04:37 · 5099 阅读 · 0 评论 -
【操作系统】文件管理(五)—— 文件的物理结构(文件的分配方式)
操作系统对文件管理中需要对磁盘块进行管理。这其中包含对空闲磁盘块和非空闲磁盘块的管理。对空闲磁盘块的管理涉及文件的物理结构/文件的分配方式。对非空闲磁盘块的管理涉及文件存储空间的管理。隐式链接 —— 除文件的最后一个盘块之外,每个盘块中都存有指向下一个盘块的指针。文件目录包括文件第一块的指针和最后一块的指针。优点:很方便文件拓展,不会有碎片问题,外存利用率高。缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间。原创 2022-09-12 11:02:26 · 3643 阅读 · 0 评论 -
【操作系统】文件管理(四)—— 文件的保护和共享
注意:多个用户共享同一个文件,意味着系统中只有“一份”文件数据。并且只要某个用户修改了该文件的数据,其他用户也可以看到文件数据的变化。如果是多个用户都“复制”了同一个文件,那么系统中会有“好几份”文件数据。其中一个用户修改了自己的那份文件数据,对其他用户的文件数据并没有影响。原创 2022-09-12 11:00:00 · 1513 阅读 · 0 评论 -
【操作系统】文件管理(三)—— 文件的目录结构
FCB 的有序集合称为“文件目录”,一个FCB就是一个文件目录项。FCB 中包含了文件的基本信息(文件名、物理地址、逻辑结构、物理结构等),存取控制信息(是否可读/可写、禁止访问的用户名单等),使用信息(如文件的建立时间、修改时间等)。最重要,最基本的还是文件名、文件存放的物理地址。在查找各级目录的过程中只需要用到“文件名”这个信息,只有文件名匹配时,才需要读出文件的其他信息。因此可以考虑让目录表“瘦身”来提升效率。索引结点:存放除了文件名之外的文件描述信息。若使用索引结点机制,在文件目录的每个目录原创 2022-09-12 10:15:00 · 8308 阅读 · 0 评论 -
【操作系统】文件管理(二)—— 文件的逻辑结构
所谓的“逻辑结构”,就是指在用户看来,文件内部的数据应该是如何组织起来的。而“物理结构”指的是在操作系统看来,文件的数据是如何存放在外存中的。无结构文件:文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件”。如:Windows 操作系统中的 .txt 文件。有结构文件:由一组相似的记录组成,又称“”。每条记录又若干个数据项组成。如:数据库表文件。一般来说,每条记录有一个数据项可作为关键字(作为识别不同记录的ID)根据各条记录的长度(占用的存储空间)是否相等,又可分为和两种。顺序文件:文件中的记录原创 2022-09-12 10:00:00 · 3080 阅读 · 0 评论 -
【操作系统】文件管理(一)—— 文件管理的概述
一、文件的属性二、文件内部的数据应该怎样组织起来?(逻辑结构)三、文件之间应该怎样组织起来?(目录结构)四、从上往下看,文件应如何存放在外存?(物理结构)五、操作系统应该向上提供哪些功能?六、文件各项与文件保护七、文件管理概述总结文件——就是一组有意义的信息/数据集合思考计算机中存放了各种各样的文件,一个文件有哪些属性?文件内部的数据应该怎样组织起来?文件之间又应该又应该怎么组织起来?从下往上看,OS应提供哪些功能,才能方便用户、应用程序使用文件?原创 2022-09-12 09:45:00 · 2122 阅读 · 0 评论 -
【操作系统】内存管理(四)—— 内存的分配与回收(2)
与“分页”最大的区别就是——离散分配时所分配地址空间的基本单位不同。分段管理中产生的外部碎片也可以用“紧凑”来解决,只是需要付出较大的时间代价。原创 2022-09-11 17:55:37 · 2860 阅读 · 0 评论 -
【操作系统】内存管理(五)—— 内存空间的扩充
覆盖技术用于同一个程序或进程中,交换技术应用于不同进程(作业)中。二、虚拟内存技术基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。原创 2022-09-11 18:50:56 · 2745 阅读 · 0 评论 -
【操作系统】内存管理(三)—— 内存的分配与回收(1)
在算法实现中,最佳适应算法与最大适应法需要对可用块进行排序或遍历查找,而首次适应法和邻近适应法只需要简单查找。综合来看,四种算法中,首次适应算法的效果反而更好。原创 2022-09-11 14:35:43 · 2737 阅读 · 0 评论 -
【操作系统】内存管理(二)—— 程序运行的基本过程和要求
内存可存放数据。程序执行前需要先放到内存中才能被CPU处理—— 缓和CPU与硬盘之间的速度矛盾思考:在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。那么,如何区分各个程序的数据是放在什么地方的呢?答案:给内存的存储单元编地址内存地址从 0 开始,每个地址对应一个存储单元如果计算机“按字节编址”,则每个存储单元大小为 1字节,即 1B,即 8个二进制位;如果字长为16位的计算机“按字编址”,则每个存储单元大小为 1个字;每个字的大小为 16 个二进制位。原创 2022-09-11 11:16:29 · 1384 阅读 · 0 评论 -
【操作系统】内存管理(一)—— 内存管理的概述与总结
操作系统对内存空间进行合理的划分和有效的动态分配,这就是内存管理的概念。内存管理的功能详细内容见:内存管理(三)—— 内存的分配与回收(1)内存管理(四)—— 内存的分配与回收(2)负责程序的与的转换。程序员写程序时应该只需要关注指令、数据的逻辑地址。而逻辑地址到物理地址的转换(这个过程称为地址重定位)应该由操作系统负责,这样就保证了程序员写程序时不需要关注物理内存的实际情况。要了解地址转换,对程序的运行过程需要一定的了解。详细内容见:内存管理(二)—— 程序运行的基本过程和要求游戏 GTA 的大小超过 6原创 2022-09-11 19:00:29 · 942 阅读 · 0 评论 -
【操作系统】操作系统的运行环境与体系结构
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。...原创 2022-08-04 23:12:24 · 2117 阅读 · 0 评论 -
【操作系统】操作系统的概述
操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。操作系统是系统资源的管理者向上层提供方便易用的服务是最接近硬件的一层软件windows10的任务管理器,如下图,可以较为直观的展示操作系统对计算机硬件和软件资源的管理。......原创 2022-08-04 12:46:42 · 7072 阅读 · 0 评论