
操作系统
文章平均质量分 62
计算机操作系统相关技术分享
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
AI算法攻城狮
互联网算法工程师,拥有扎实的理论基础和丰富的算法落地实践经验
展开
-
1.4.1 大内核和微内核
操作系统的体 系结构是一个开放的问题。操作系统在核心态威应用程序提供公共的服务,那么操作系统在核心态应该提供什么服务,怎样提供服务?有关这个 问题的回答,形成了两种主要的体系结构:大内核与微内核。大内核系统将操作系统的主要内容模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各管理模块之间共享信息,能有效 利用相互之间的有效特性, 所以具有无可比拟的性能优势。但原创 2016-06-20 00:05:30 · 3643 阅读 · 0 评论 -
1.5.1 并行性与并发性的区别和联系
并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理器系统中每个时刻却仅有一道程序执行,故微观上这些程序只能分时地交替执行。倘若在计算机系统中有多个处理器,则这些可以并发执行的程序便被分配到多个处理器上,实现并行执行,即利用每个处理器来处理原创 2016-06-19 22:18:31 · 3515 阅读 · 0 评论 -
1.5.2 特权指令与非特权指令
所谓特权指令是指有特权权限的指令,由于这类指令的权限最大,如果使用不当,将导致整个系统崩溃。比如:清内存、置时钟、分配系统资源、修改虚存的段表和页表,修改用户的访问权限等。如果所有的程序都能使用这些 指令,那么你的系统一天死机n回就不足为奇了。为了保证系统安全,这类指令只能用于操作系统或其他系统软件,不直接提供给用户使用。因此,特权执行必须在核心态执行。实际上,cpu在核心态下可以执行指令系统的全原创 2016-06-19 22:37:57 · 13574 阅读 · 2 评论 -
1.5.3 访管指令与访管中断
访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。为什么要在程序中引入访管指令呢?这是因为用户程序只能在用户态下运行,如果用户程序想要完成用户态下无法完成的工作,该怎么办呢?解决这个问题要靠访管指令。访管 指令本原创 2016-06-19 22:57:22 · 13526 阅读 · 2 评论 -
2.1进程与线程
(1)为什么要引入进程?在多道程序同时运行的背景下,进程之间需要共享系统资源,这样就会导致各程序在执行过程中出现相互制约的关系,程序的执行就会表现出间断性的特性。这些特性都是在程序的执行过程中发生的,是动态的过程。而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述在内存的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其他执行程序的关系,因此,程序这个静态概原创 2015-12-06 01:59:28 · 801 阅读 · 0 评论 -
2.2 处理机调度
(1)为什么要进行处理机调度?若没有处理机调度,就意味着要等到当前运行的进程执行完毕后,下一个进程才能执行,而实际情况中,进程时常需要等待一些外部设备的输入,而外部设备的输入与处理机相比是非常缓慢的,如果让处理机总是等待外部设备,那么对处理机的资源是极大的浪费。而引入处理机调度后,可以在运行进程等待外部设备时,把处理机调度给其他进程,从而提高处理机的利用率,用一句简单的话说,就是为了合理地处理原创 2016-06-25 23:08:54 · 940 阅读 · 0 评论 -
2.3 进程同步
(1)为什么要引入进程同步的概念?在多道程序共同执行的条件下,进程与进程是并发执行的,不同进程之间存在着不同的相互制约的关系。为了协调进程之间的相互制约的关系,引入了进程同步的概念。(2)不同的进程之间会存在什么关系?进程之间存在同步和互斥的制约关系。同步是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上 协调它们的工作次序而等待,传递信息所产生的制约关系。原创 2016-06-25 23:41:06 · 798 阅读 · 0 评论 -
2.4 死锁
(1)为什么会产生死锁?产生死锁有什么条件?由于系统中存在一些不可剥夺资源,而当两个或两个以上的进程占用自身资源,并请求对方资源时,会导致每个进程都无法向前推进,这就是死锁。死锁产生的必要条件有四个,分别是互斥条件,不剥夺条件,请求并保持条件和循环等待条件。互斥条件是指进程要求分配的资源是排他性的,即最多只能同时给一个进程使用。不剥夺条件是指进程在使用资源完毕之前,资源不能被强制夺走。原创 2016-06-26 00:06:10 · 692 阅读 · 0 评论 -
2.5.1 进程与程序的区别和联系
(1)进程是程序及其数据在计算机上的一次运行活动,是一个动态的概念。进程的运行实体是程序,离开程序的进程没有存在的意义。从静态角度看,进程是由程序,数据和进程控制块(PCB)三部分组成的。而程序是一组有序的指令集合,是一个静态的概念。(2)进程是程序的一次执行过程,它是动态地创建和消亡的,具有一定的生命周期,是暂时存在的;而程序则是一组代码的集合,他是永久存在的,可长期保存。(3)一个进程原创 2016-06-26 00:35:58 · 1334 阅读 · 0 评论 -
2.5.2 死锁与饥饿
具有等待队列的信号量的实现可能导致这样的情况: 两个或多个进程无限地等待一个事件,而该事件只能由这些等待进程之一来产生。这里的事件是V操作的执行(即释放资源)。 当出现这样的状态时,这些进程称为死锁。与死锁相关的另一个问题是无限期阻塞或饥饿,即进程在信号量内无穷等待的情况。产生饥饿的主要原因是:在一个动态系统中,对于每类系统资源,操作系统需要一个分配策略,当多个进程同时申请 某类资源时,由原创 2016-06-27 21:40:20 · 1250 阅读 · 0 评论 -
2.5.4 进程同步,互斥的区别和联系
并发进程的执行会产生相互制约的关系:一种是进程之间竞争使用临界资源,只能让它们逐个使用,这种现象称为互斥,是一种竞争关系;另一种是进程之间协同完成任务,在关键点上等待另一个进程发来的消息,以便协同一致,是一种协作关系。原创 2016-06-27 21:59:20 · 2276 阅读 · 0 评论 -
2.5.5 作业和进程的关系
进程是系统资源的使用者,系统的资源的大部分都是以进程为单位分配的。而用户使用计算机是为了实现一串相关的任务,通常把用户要求计算机完成的这一串任务成为作业。(1)批处理系统中作业与进程的关系(进程组织)批处理系统中的可以通过磁记录设备或卡片机向系统提交批作业,由于系统的spooling输入进程将作业放在磁盘的输入井中,作为后备作业。作业调度程序(一般也作为独立的进程运行)每当选择一道后备作业原创 2016-06-27 23:55:28 · 1938 阅读 · 0 评论 -
3.1.1内存管理的概念
内存管理是操作系统设计中最重要和最复杂的内容之一,虽然 计算机硬件一直在飞速发展,内存 容量也在 不断增长,但是仍然不可能将用户进程所需要的全部程序和数据放入主存中,所以操作系统必须将内存空间进行合理地划分和有效地动态分配。操作系统对内存的划分和动态分配就是内存管理的概念。 有效的内存管理在多道程序设计中非常重要,不仅方便用户使用存储器,提高内存利用率,还可以通过虚拟技术从逻辑上扩充存储器。 内原创 2016-07-23 23:14:49 · 917 阅读 · 0 评论 -
3.1.2覆盖和交换
覆盖和交换是在多道程序环境下用来扩充内存的两种方法。1.覆盖早期的计算机系统中,主存容量小,虽然主存中仅存放一道用户程序,但是存储空间放不下用户进程的现象也经常发生,这一矛盾可以用覆盖基础来解决。 覆盖的基本思想是:由于程序运行时并非任何时候都要访问程序及数据的各个部分(尤其是大程序),因此可以把用户空间分成一个固定区和若干覆盖区。将经常活跃的部分放在固定区。其余部分按调用关系 分段。首先将那些即原创 2016-07-24 12:07:30 · 1359 阅读 · 0 评论 -
3.1.3连续分配管理方式
连续分配方式,是指为一个用户程序分配一个连续的内存空间。它主要包括单一连续分配、固定分区分配和动态分区分配。1、单一连续分配内存在此方式下分为系统区和用户区,系统区仅提供给操作系统使用,通常在低地址部分,用户区是为用户提供的、除系统区之外的内存空间。这种方式无需进行内存保护。这种方式的优点是简单、无外部碎片,可以采用覆盖技术,不需要额外的技术支持。缺点是只能用于单用户、单任务的操作系统原创 2016-07-15 20:25:55 · 1783 阅读 · 0 评论 -
3.1.4.1 基本分页存储管理方式
非连续分配允许一个程序分散地装入到不相邻的内存分区中,根据分区的大小是否固定分为分页存储管理方式和分段存储管理方式。分页存储管理方式中,又根据运行作业时是否要把作业的所有页面都装入内存才能运行分为基本分页存储管理方式和请求分页存储管理方式。1、基本分页存储管理方式固定分区会产生内部碎片,动态分区会产生外部碎片,这两种技术对内存的利用率都比较低。我们希望内存的使用能尽量避免碎片的产生。这原创 2016-07-13 23:58:02 · 3638 阅读 · 0 评论 -
3.1.4.2 基本分段存储方式
段式管理方式是按照用户进程中的自然段划分逻辑空间。例如,用户进程由主程序、两个子程序、栈和一段数据组成,于是可以把这个用户进程划分为5个段,每段从0开始编址,并分配一段连续的地址空间(段内要求连续,段间不要求连续,因此整个作业的地址空间是二维的)。其逻辑地址由段号S与段内偏移量W两部分组成。如下图,段号为16位,段内偏移量为16位,则一个作业最多可有2^16个段,最大段长为64KB。原创 2015-12-07 23:45:14 · 1595 阅读 · 0 评论 -
3.1.4.3 段页式管理方式
页式管理系统能有效地提高内存利用率,而分段存储管理能反映程序的逻辑结构并有利于段的共享。如果能将这两种存储管理方法结合起来, 就形成了段页式存储管理方式。在段页式系统中,作业的地址空间首先被分成若干个逻辑段,每段都有自己的段号,然后再将每一段分成若干个大小固定的页。对内存空间的管理仍然和分页存储管理一样,将其分成若干个和页面大小相同的存储块,对内存的分配以存储块为单位。在段页式系统中,原创 2016-07-11 22:50:57 · 1191 阅读 · 0 评论 -
3.1.5 内存管理
(1)为什么要进行内存管理?在单道批处理系统阶段,一个系统一个时间段内只执行一个程序,内存的分配及其简单,仅分配给当前运行进程即可。而引入了多道程序并发执行之后,进程之间共享的不仅仅是处理机,还有主存储器。然而, 共享主存会形成一些特殊的挑战。如果不对内存进行管理,容易导致内存数据的混乱,以至于限制进程的并发 执行。所以为了更好地支持多道程序并发执行,必须要进行内存 管理。(2)页式管理中每个页表...原创 2016-06-28 22:08:37 · 930 阅读 · 0 评论 -
3.2 虚拟内存管理
3.2.1 虚拟内存的基本概念1、传统存储管理方式的特征各种内存管理策略都是为了同时将多个进程保证在内存中以便允许多道程序设计。它们都具有以下两个共同的特征:1)一次性:作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:①当作业很大,不能全部被装入内存时,将使该作业无法运行。②当大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程原创 2016-07-18 23:34:34 · 736 阅读 · 0 评论 -
3.2.1虚拟内存的基本概念
3.2.1 虚拟内存的基本概念1、传统存储管理方式的特征各种内存管理策略都是为了同时将多个进程保证在内存中以便允许多道程序设计。它们都具有以下两个共同的特征:1)一次性:作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生:①当作业很大,不能全部被装入内存时,将使该作业无法运行。②当大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度的下降。2)驻留性:作原创 2016-07-19 22:18:28 · 1373 阅读 · 1 评论 -
3.2.2 请求分页管理方式
请求分页系统建立在基本分页系统基础之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。 在请求分页系统中,只要将当前需要的一部分页面装入内存,便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。 为了实现请求分页,系统必须提供一定原创 2016-07-19 23:40:27 · 2774 阅读 · 0 评论 -
3.2.3页面置换算法
进程运行时,若其访问的页面不在内存而徐将其调入,但内存已无空闲时间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区。 而选择调入页面的算法就称为页面置换算法。好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问或者较长时间不会再访问的页面先调出。1.最佳置换算法(OPT)最佳(Optimal,OPT)置换算法所选择的被淘汰页面将是以后永不适用的,或者是在最长时间内不再被访问的原创 2016-07-20 21:38:12 · 2944 阅读 · 0 评论 -
3.2.4页面分配策略
1.驻留集大小对于分页式的虚拟内存,在准备执行时,不需要也不可能把一个进程的所有页都读取到内存,因此,操作系统必须决定读取多少页,也就是说,给特定的进程分配多大的内存空间,这需要考虑以下几点: 1)分配给一个进程的存储量越小,在任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率。 2)如果一个进程在主存中的页数过少,尽管有局部性原理,页错误率仍然会相对较高。 3)如果页数过多原创 2016-07-21 23:14:18 · 2608 阅读 · 0 评论 -
3.2.5 抖动
在页面置换过程中的一种最糟糕的情形是,刚刚置换的页面马上又要换入主存,刚刚换出的页面马上又换入主存,刚刚换入的页面马上就要换出主存,这种频繁的页面调度行为称为抖动,或颠簸。如果一个进程在换页上用的时间多于执行时间,那么这个进程就在颠簸。频繁的发生缺页中断(抖动),其主要原因是某个进程频繁访问的页面数目高于可用的物理页帧数目。虚拟内存技术可以在内存中保留更多的进程以提高系统效率。在稳定状态,几乎原创 2016-07-22 22:16:47 · 819 阅读 · 0 评论 -
3.2.6工作集
工作集(或驻留集)是指在某段时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长时间不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。工作集模型的原理是:让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序。如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系原创 2016-07-22 22:51:04 · 1115 阅读 · 0 评论 -
3.2.7 地址翻译
有一个TLB与一个data Cache存储器以字节为编址单位虚拟地址14位物理地址12位页面大小为64字节TLB为四路相连,共有16个条目data Cache是物理寻址,直接映射的,行大小为4个字节,总共有16个组写出访问地址0X03d4,0X00f1和0X0229的过程 因为本系统以字节编址,页面大小为64字节,则页内偏移址为log2(64B/1B)=6位,原创 2016-07-22 23:08:40 · 1104 阅读 · 0 评论 -
3.2.8 虚拟内存管理
(1)为什么要引入虚拟内存?多道程序并发执行不仅使进程之间共享了处理器,还同时共享了主存。然而,随着处理器需求的增长,进程的执行速度会以某种合理平滑的方式慢下来。但是,如果同时执行的进程太多,那么就需要很多的内存,当一个程序没有内存空间可用时,那么它甚至无法运行。所以,在物理上扩展内存相对有限的条件下,应当尝试以一些其他可行的方式在逻辑上来扩充内存。(2)内存空间的大小由什么因素决定?原创 2016-07-03 23:53:05 · 931 阅读 · 0 评论 -
3.3 分页管理与分段管理的比较
分页分段目的页是信息的物理单位,分页是为实现离散分配方式,以减少内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。长度页的大小固定且由系统决定,由系统把逻辑地址化分为页号和页内地址两部分,由机器硬件实现,因而在系统中只能原创 2015-12-07 00:34:11 · 3019 阅读 · 0 评论 -
4.1.6 文件系统基础
(1)什么是文件?什么是文件系统?文件是以计算机硬盘为载体存储在计算机上的信息集合,它的形式很多样化,可以是文本文档、图片、程序等。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关软件;被管理文件;实施文件管理所需的数据结构。(2)文件系统要完成哪些功能?对于用户而言,文件系统最主要的功能就是实现对文件的原创 2016-07-04 23:13:47 · 809 阅读 · 0 评论 -
4.2.4 文件系统实现
(1)在目录中查找某个文件可以使用什么方法?可以采用线性列表或哈希表法。线性列表就是把文件名组织成一个线性表,查找的时候依次与线性表中每个表项进行比较。若把文件名按序排列使用折半查找法 可以降低平均的查找时间,但是建立新文件时会增加维护线性表的开销。哈希表是用文件名通过哈希函数得到一个指向文件的指针,这种方法非常迅速,但是要注意避免冲突。(2)文件的逻辑结构和物理结构有何区别?单个原创 2016-07-04 22:38:30 · 771 阅读 · 0 评论 -
4.4 文件系统疑难点 3-4
3、文件系统实现概述(1)创建 为了创建一个文件,应用程序调用逻辑文件系统。逻辑文件系统知道目录结构形式。它将分配一个新的FCB给文件,把相应目录读入内存,用新的文件名更新该目录和FCB,并将结果写回到磁盘。文件权限文件日期(创建,访问,写)文件所有者,组,ACL文件大小文件数据块(2)打开 一旦文原创 2016-07-06 00:01:02 · 778 阅读 · 0 评论 -
4.4 文件管理疑难点 1-2
1、磁盘结构 引导控制块包括系统从该分区引导操作系统所需要的信息。如果磁盘没有操作系统,那么这块的内容为空。它通常为分区的第一块。UFS称之为引导块;NTFS称之为分区引导扇区。分区控制块包括分区详细信息,如分区的块数,块的大小,空闲块的数量和指针、空闲FCB的数量和指针等。UFS称之为超级块;而NTFS称之为主控文件表。2、内存结构内存分区表包含所有安装分区的信息。内原创 2016-07-05 23:20:23 · 821 阅读 · 0 评论 -
4.3.4 磁盘组织与管理
一、磁盘地址结构:柱面号、盘面号、扇区号二、读写时间(1)寻道时间:将磁头移动到指定磁道所需要的时间。(2)延迟时间:磁头定位到某一磁道的扇区所需要的时间。(3)传输时间:从磁盘读出或向磁盘写入数据所经历的时间。(4)启动时间:(一般忽略):控制器的启动时间。三、调度算法(1)先来先服务(2)最短寻道时间优先:选择与当前磁头所在磁道距离最近的请求(3)扫描算法:原创 2015-12-08 00:21:12 · 1313 阅读 · 0 评论 -
5.1 I/O 管理知识框架
一、概述1、I/O设备分类2、I/O控制方式(1)程序直接控制(2)中断驱动方式(3)DMA方式(4)通道方式二、缓冲区1、单缓冲2、双缓冲3、循环缓冲4、缓冲池5、缓冲区与高速缓存的对比三、设备分配1、概述(1)独占设备 独占式使用(2)共享设备 分时式共享(3)虚拟设备 spooling方式2、数据结构DCT、COCT原创 2016-07-08 23:27:39 · 708 阅读 · 0 评论 -
5.1.4 I/O管理概述
一、设备分类1、按传输速率分(1)低速:如键盘、鼠标(2)中速:如行式打印机、激光打印机(3)高速:如磁带机、磁盘机、光盘机2、按信息交换单位分(1)块设备:如磁盘(2)字符设备:如键盘,打印机二、控制方式1、程序直接控制:程序直接对设备特环测试2、中断驱动:引入中断机制,当设备准备完成时,发生中断3、DMA:在I/O设备与主存之间开辟直接数据通路4原创 2015-12-08 01:56:30 · 1199 阅读 · 0 评论 -
5.1.2 I/O控制方式
设备管理的主要任务之一是控制设备和内存或处理器之间的数据传送,外围设备和内存之间的输入输出控制方式有四种。1、程序直接控制方式计算机从外部设备读取数据到存储器,每次读一个字的数据。对读入的每一个字,CPU需要对外设状态进行循环检查,直到确定该字已经在I/O控制器的数据寄存器中。在程序直接控制方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于I/O设备完成数据I/原创 2016-07-09 00:28:08 · 4425 阅读 · 1 评论 -
5.2.6 I/O核心子系统
1、当处理机和外部设备速度差距较大时,并且此时不想让其中一方等待,有什么办法可以解决问题?可以采用缓冲技术来缓解处理机和外部设备速度上的矛盾,即在某块地方(一般为主存)上设立一片缓冲区,外部设备与处理机的输入输出都经过缓冲区,这样外部设备和处理机都不用互相等待。2、什么是设备独立性?引入设备独立性有什么好处?设备独立性是指用户在编程序时使用的设备与实际设备无关。一个程序应独立于分配给它...原创 2016-07-06 23:37:35 · 933 阅读 · 0 评论 -
5.3 输入/输出(I/O)管理
1、分配设备首先根据I/O请求中的物理设备名查找系统设备表(SDT),从中找出该设备的DCT,再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便请求I/O进程的PCB挂在设备队列上;空闲则按照一定算法计算设备分配的安全性,安全则将设备分配给请求进程,否则仍将其PCB挂到设备队列。2、分配控制器。系统把设备分配给请求I/O的进程后,再到其DCT中找出与该设备连接的 控制器的C原创 2016-07-07 23:51:57 · 801 阅读 · 0 评论 -
6.2.3 分块查找
分块查找,又称为索引顺序查找,吸收了顺序查找和折半查找各自的优先,既有动态结构,又适于快速查找。分块查找的基本思想:将查找表分为若干个字块。块内的元素可以无序,但块之间是有序的,即第一个块中的最大关键字小于第二个块中的所有记录的关键字,即第二个块中的最大关键字小于第三个块中的所有记录的关键字,依次类推。再建立一个索引表,索引表中的每个元素含有各块中最大关键字和各块中第一个元素的地址,索引表按关...原创 2016-09-18 17:14:56 · 1366 阅读 · 0 评论