操作系统笔/面试题
操作系统面试题
我是小杨我就这样
当一个代码的工匠回首往事,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样当他老去的时候,可以很自豪地告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅
公众号《小杨的技术人生》
展开
-
操作系统笔试题(二)
文章目录第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第一题一作业8:00到达系统,估计运行时间1消失,若10点开始执行,响应比为?3相应比 = (等待时间 + 执行时间)/ 执行时间第二题磁盘检查、磁盘清理、碎片整理的概念?磁盘检查:检擦磁盘情况磁盘清理:清理废物、获取更多可用空间碎片整理:优化磁盘文件存储碎片:磁盘碎片也是文件碎片,因为文件被分散保存在磁盘不同地方,而不是连续保存在磁盘簇中,虚拟内存管理程序会对磁盘频繁读写,产生大量的碎片.原创 2020-09-13 15:23:53 · 629 阅读 · 0 评论 -
操作系统笔试题(一)
文章目录第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题第一题()是指从作业提交给系统到作业完成的时间间隔周转时间周转时间:作业提交~作业完成,其中包含了几乎所有的过程响应时间:从提交第一个请求到产生第一个响应等待时间:作业提交~作业开始执行运行时间:作业开始执行~作业执行完成第二题抢占式调度方式系统中系统调度完成时会返回,以下不正确的是()只有当调用者进程仍具有最高优先级时,才会返回到调用者进程继续执行(✔)引发重新调度(✔)无条件返回调用者进程(×原创 2020-09-05 09:48:53 · 2078 阅读 · 1 评论 -
操作系统面试题(二十三):为什么有了进程还要有线程?
进程:可以让多个程序并发执行,提高系统的资源利用率和系统的吞吐量进程的缺点:进程在同一时刻只能做一件事进程如股票在执行的过程中被阻塞,那么这个进程将被挂起,有些等待的资源就得不到执行进程好比一个车间,完成一个任务,线程好比一个车间中的每一个工人,各司其职操作i系统引入线程,作为并发执行的基本单位,减少程序在开发执行时所付出的时间和空间开销,提高并发性能参考文章:面试被问进程和线程,面试官说答得不错!...原创 2020-09-02 08:24:36 · 769 阅读 · 0 评论 -
操作系统面试题(二十二):什么是僵尸进程
僵尸进程僵尸进程是已经完成且处于终止状态,但在进程表中任然存在的进程。僵尸进程通常存在于父子关系的进程中,由于父进程仍需读取子进程的退出状态导致的原创 2020-08-25 08:14:28 · 648 阅读 · 0 评论 -
操作系统面试题(二十一):什么是DMA
DMADMA(Direct Memory Access 直接内存访问)DMA意味着CPU授予I/O模块权限不涉及在不涉及CPU的情况下依然可以读取/写入内存,即DMA不需要CPUde支持DMAC(DMA 控制器)控制直接内存访问的过程DMA的优点:缓解总线上的拥塞DMA设备可以直接在内存之间传输数据,而不是使用CPU作为中介提升系统并发CPU可以去处理别的任务了...原创 2020-08-22 08:34:40 · 3104 阅读 · 0 评论 -
操作系统面试题(二十):导致线程出现死锁的情况
线程死锁互斥(Mutual Exclusion)一次只能有一个线程使用该资源,利用互斥锁锁住。如果另一个线程请求该资源,则必须延迟请求,知道该线程释放资源为止保持并等待(Hold and wait)一个线程占有至少一个资源,并且正等待获取其他线程所持有的资源无抢占(No Preemption)资源不能被抢占,即在线程完成其任务之前,只能由它占有该资源,不允许中途被其他线程抢走循环等待(Circular Wait)一组等待线程{P0,P1,P2……Pn},...原创 2020-08-18 09:15:08 · 513 阅读 · 0 评论 -
操作系统面试题(十九):什么是RR调度算法
RR调度算法RR(Round Robin)RR调度算法主要针对分时系统,== 将时间片以相同部分并循环的分配给每个进程==RR调度算法没有优先级的概念RR算法的特点:算法实现简单每个进程都会占有时间片,不会出现线程饥饿的问题...原创 2020-08-15 18:41:15 · 3619 阅读 · 0 评论 -
操作系统面试题(十八):什么是实时系统
实时系统实时系统对时间做出了严格的要求,实时系统分为两种硬实时系统软实时系统硬实时操作系统规定了系统某个动作必须在规定时间内完成/发生有时候系统的一些操作过早、过久都会对OS造成损伤软实时系统软实时系统可以接受偶尔违反时限要求,针对那些不会对操作系统造成损伤的程序例:多媒体程序、手机、数字音频……硬实时系统和软实时系统的指标:是否在时刻内必须完成是否会对系统造成损伤...原创 2020-08-14 18:08:29 · 949 阅读 · 0 评论 -
操作系统面试题(十七):虚拟内存技术如何实现的?
虚拟内存技术虚拟内存技术的实现是建立在离散分配的内存管理的基础上的目前最常用的三种实现虚拟内存技术的方法:请求分页存储管理请求分段存储管理请求段页式存储管理以上三种方式,无论哪种,都需要以下三个条件:一定容量的内存和外存程序执行时,只需要将程序的一部分装入内存,就可以运行了缺页中断若需要执行的程序未在内存中(即“缺页/段”),则处理器会通知操作系统将相应的页/段调入到内存中,与此同时也会将不常用的页/段调出到外外存中虚拟地址空间逻辑地址转化为物理地址..原创 2020-08-09 08:34:39 · 1635 阅读 · 0 评论 -
操作系统面试题(十六):再讲下虚拟存储器
虚拟存储器虚拟存储器是基于前面说过的局部性原理,在程序运行时,可以将部分程序装入内存,而将其他部分留在外存,程序依然运行外存的大小往往远大于内存,由于局部性原理的作用,我们可以运行的软件的内存大小实际上可以比计算机系统的内存大在程序执行时,若所访问的信息不在内存中,这时操作系统(OS)会将所需的资源从外存调入内存,继续执行程序。同时,操作系统也会将暂时不用的资源从内存移到外存,释放内存空间计算机为用户提供了一个比实际内存大的多的存储器——虚拟存储器虚拟存储器本质上也是时间换空间,利用CPU...原创 2020-08-05 08:25:54 · 403 阅读 · 0 评论 -
面试被问进程和线程,面试官说答得不错!
进程和线程【1】CPUCPU(中央处理器)是计算机的核心,承担了所有的计算任务CPU就像一座无时无刻都在运行的工厂一个工厂(CPU)会有许多的车间假定CPU一次只能运行一个任务,即一次只能供给一个车间使用,其他车间都必须停止【2】进程进程就是工厂(即CPU)里面的一个个车间,其代表CPU所能处理的单个任务工厂(CPU)一次只能运行一个任务,即一次只能运行一个进程,其他进程都得处于非运行状态一个车间中会有很多工人,他们共同完成一个车间(进程)的任务【3】线程线程...原创 2020-08-04 08:19:51 · 969 阅读 · 0 评论 -
操作系统面试题(十五):虚拟内存技术的局部性原理
局部性原理局部性原理不仅适用于程序结构,也适用于数据结构正是由于局部性原理的存在,才可以实现只装入部分程序到内存就开始运行局部性原理的表现:时间局部性:如果程序中的某条指令一旦执行,不久之后该指令可能再次被执行。如果某数据彼访问过,不久之后该数据可能被再次访问产生时间局部的典型原因:程序中的循环空间局部性:一旦程序访问了某个存储单元,不久之后其附近的存储单元也将被访问(程序在一段时间内访问同一范围内的地址)产生空间局部性的典型原因:指令一般都是顺序存放,顺序执行。数据一...原创 2020-07-31 18:34:50 · 2043 阅读 · 0 评论 -
操作系统面试题(十四):什么是虚拟内存?
虚拟内存(virtual Memory)日常生活中,当我们使用电脑的时候,尤其是windows电脑,经常会打开许多软件,这些软件占用的内存已经远远大于计算机的物理内存。之所以会这样,就是因为虚拟内存的存在虚拟内存可以让程序拥有超过系统实际物理内存大小的可用内存空间虚拟内存会为每个进程提供一个一致的,私有的地址空间,它让每个进程都拥有一片连续完整的内存空间,这样能更加有效管理内存并减少出错虚拟内存是计算机系统内存管理的一种技术,可以手动设置电脑的虚拟内存虚拟内存的一个重要意义:定义了一个连...原创 2020-07-30 20:40:38 · 3619 阅读 · 0 评论 -
操作系统面试题(十三):CPU寻址?为什么需要虚拟地址?
【1】CPU寻址方式现代的处理器使用的都是一种叫做虚拟地址寻址(Virtual Addressing) 的寻址方式使用虚拟地址,CPU要将虚拟地址翻译成物理地址才能访问实际的物理内存内存管理单元(MMU): CPU内部的一个硬件,负责完成虚拟地址到物理地址的转换【2】为什么需要虚拟地址?反向思考:若没有虚拟地址呢?在没有虚拟地址的空间中,程序都是直接访问的实际物理地址(即直接操作物理内存),这样造成了如下问题:用户程序可以任意访问内存,任意寻址内存的每个字节,没有顺序,没有规则,...原创 2020-07-28 09:38:44 · 3173 阅读 · 1 评论 -
操作系统面试题(十二):逻辑地址和物理地址
逻辑地址(虚拟地址)在我们的编程中一般只会触碰到逻辑地址,例如C语言的指针,里面存储的数值就是逻辑地址,指向内存中的一个地址。逻辑地址由操作系统决定物理地址物理地址指的是真实物理内存中的地址,更具体地说是指内存地址寄存器中地址。物理地址是内存单元真正的地址...原创 2020-07-27 08:42:46 · 1963 阅读 · 0 评论 -
操作系统面试题(十一):分页机制与分段机制的共同点和区别
共同点目的相同:分页和分段都是为了提高内存利用率,减少内存碎片存储方式相同:都是离散存储注意:分页和分段是离散存储,但页内和段内都是连续存储的不同点划分的内存大小不同分页:页的大小是固定的,由操作系统决定分段:段大小不固定,由程序决定(例如:主程序段……)含义不同分页:满足操作系统内存管理的需求分段:段时逻辑信息的单位,满足用户需求,段有具体的意义...原创 2020-07-26 09:18:28 · 1643 阅读 · 0 评论 -
操作系统面试题(十):页式内存管理中的块表和多级页表
文章目录块表【1】块表【2】多级页表【3】总结块表在页式内存管理中有2个重要的问题:虚拟地址到物理地址的转换要快当虚拟空间很大时,相应的页表也会变得很大为了解决这两个问题,引入了块表和多级页表块表用于解决地址转换速度问题多级页表用于解决页表过大,资源浪费问题【1】块表块表可以直接理解为页式内存管理的高速缓存(Cache)块表的作用:加速虚拟地址到物理地址的转换速度块表中存放着页表的一部分甚至全部内容块表作为页表的高速缓存器(Cache),作用与页表的本质作用一致.原创 2020-07-23 14:46:12 · 3455 阅读 · 1 评论 -
操作系统面试题(一):什么是操作系统?
操作系统我通过四点来简单说一下吧:1.原创 2020-07-10 09:01:44 · 720 阅读 · 0 评论 -
操作系统面试(二):什么是系统调用呢?
进程在系统上的运行分为2个级别用户态(user mode):用户态运行的进程可以直接读取用户程序的数据系统态(kernel mode):系统态运行的程序可以访问计算机的任何资源,不受限制平常我们运行的程序都是用户态的,如果想要将进程运行在系统态则需要利用系统调用系统调用在我们运行的用户程序中,凡是与系统级别的资源有关的操作(例如文件管理、进程控制、内存管理等)都必须通过系统调用方式向OS提出服务请求,并由OS代为完成平常我门的进程几乎都是用户态,读取用户数据,当涉及到系统操作,计算机..原创 2020-07-10 22:16:43 · 1411 阅读 · 0 评论 -
操作系统面试(三):进程和线程的区别
进程:一段正在运行的代码线程:是进程划分成的更小的运行单位一个进程在执行过程中可以产生多个线程每个线程都有自己私有的程序计数器、虚拟机栈、本地方法栈线程与进程最大的区别在于:进程:进程之间几乎是独立的线程:同一进程的线程之间极可能互相影响线程与进程的特点:线程:执行开销小,但不利于资源的管理和保护进程:与线程相反...原创 2020-07-16 14:45:50 · 400 阅读 · 0 评论 -
操作系统面试题(四):进程的状态
进程的状态进程的状态大致可分为5种状态(和线程很像):创建状态(new):进程正在被创建就绪状态(ready):进程已处于准备运行阶段进程已获得除了处理器之外的一切所需资源,一旦得到处理器资源(处理器分配的时间片)就可以运行运行状态(running):进程正在处理器上运行单核cpu下任意时刻只有一个进程在运行阻塞状态(waiting):等待状态如等待资源分配,I/O完成等。即使此刻处理器空闲也不运行结束状态(terminated):进程正在从系统种消失可..原创 2020-07-17 20:56:15 · 641 阅读 · 0 评论 -
操作系统面试题(五):进程间常见的通信方式
进程间常见的通信方式管道/匿名管道:父子进程/兄弟进程之间的通信方式没有名字的管道如何通信,当然是亲近的进程之间有名管道:任意进程间可以通信。严格遵守FIFO(先进先出)原则,并以磁盘文件的方式存在有名字了,都可以联系了信号(signal):用于通知接受进程某个事件发生了“给一个信号”呗,代表发生了什么消息队列(message queue):消息的链表。既然是队列当然也服从FIFO(先进先出原则)消息队列克服了信号承载信息量少的问题,信号只是一个简单的..原创 2020-07-18 08:29:36 · 589 阅读 · 0 评论 -
操作系统面试题(六):线程间的同步方式有哪些?
线程间的同步方式线程同步: 是两个/多个共享关键资源的线程并发执行线程同步就是为了避免关键资源的使用冲突【1】互斥量(Mutex)采用互斥对象机制,只有拥有了互斥对象的线程才有访问资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问【2】信号量(semphares)信号量允许同一时刻多个线程访问同一个资源,但是要控制最大线程数量【3】事件(Event)利用通知操作的方式,保持多线程同步,可以方便的实现多线程优先级比较...原创 2020-07-18 13:55:05 · 1187 阅读 · 0 评论 -
操作系统面试题(七):系统中进程的调度算法有哪些?
文章目录进程调度算法【1】先到先服务算法(FCFS)【2】短作业优先算法(SJF)【3】时间片轮转调度算法(Round Robin RR)【4】多级反馈队列调度算法进程调度算法为了确定进程的执行顺序,实现CPU利用率最大化【1】先到先服务算法(FCFS)按照进入就绪队列的顺序为进程分配资源,并立即执行,一直执行到完成/发生阻塞放弃cpu时再重新调度【2】短作业优先算法(SJF)从就绪队列中选出估计运行时间最短的进程,为之分配资源,使它立即执行并一直到结束【3】时间片轮转调度算法(Ro.原创 2020-07-19 18:32:05 · 708 阅读 · 0 评论 -
操作系统(八):操作系统的内存管理是干啥的
内存管理概述主要有两点功能:操作系统的内存管理主要负责内存的分配和回收内存管理还负责地址转换逻辑地址转换成对应的物理地址原创 2020-07-20 08:27:52 · 472 阅读 · 0 评论 -
操作系统(九):常见地几种内存管理机制
内存管理方法可以简单分为:连续分配管理机制:给程序分配一个连续的内存空间例如:块式管理非连续分配管理机制:给程序分配离散的内存空间例如:段页式管理【1】块式管理块式管理是很久以前的内存管理方式(古老)块式管理将内存分类一个个连续的内存块,每个块中只能包含一个进程这样就导致极大的内存空间浪费,程序用不完一个块的情况碎片: 块中未被使用的内存空间【2】页式管理页式管理将内存分为大小相等且固定的一页一页的离散空间大小:页 < 块页式管理:提高了内存..原创 2020-07-20 08:51:38 · 2181 阅读 · 0 评论