操作系统OS面试题八股文.pdfVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档免费下载、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
图⽂详解操作系统⾯试⾼频题,这次吊打⾯试官,我觉得稳了(⼿动 dog)。整理:楼仔,作者:三分恶, 戳原⽂链接。 引论 什么是操作系统? 可以这么说,操作系统是⼀种运⾏在内核态的软件。 它是应⽤程序和硬件之间的媒介,向应⽤程序提供硬件的抽象,以及管理硬件资源。 操作系统主要有哪些功能? 操作系统最主要的功能: 处理器(CPU)管理:CPU的管理和分配,主要指的是进程管理。 内存管理:内存的分配和管理,主要利⽤了虚拟内存的⽅式。 外存管理:外存(磁盘等)的分配和管理,将外存以⽂件的形式提供出去。 I/O管理:对输⼊/输出设备的统⼀管理。 除此之外,还有保证⾃身正常运⾏的健壮性管理,防⽌⾮法操作和⼊侵的安全性管理。 微信搜楼仔或扫描下⽅⼆维码关注楼仔的原创公众号,回复110 即可免费领取。 操作系统结构 什么是内核? 可以这么说,内核是⼀个计算机程序,它是操作系统的核⼼,提供了操作系统最核⼼的能⼒,可以控制操作系统中 所有的内容。 什么是⽤户态和内核态? 内核具有很⾼的权限,可以控制 cpu 、内存、硬盘等硬件,出于权限控制的考虑,因此⼤多数操作系统,把内存分 成了两个区域: 内核空间,这个内存空间只有内核程序可以访问; ⽤户空间,这个内存空间专⻔给应⽤程序使⽤,权限⽐较⼩; ⽤户空间的代码只能访问⼀个局部的内存空间,⽽内核空间的代码可以访问所有内存空间。因此,当程序使⽤⽤户 空间时,我们常说该程序在⽤户态执⾏,⽽当程序使内核空间时,程序则在内核态执⾏。 ⽤户态和内核态是如何切换的? 应⽤程序如果需要进⼊内核空间,就需要通过系统调⽤,来进⼊内核态: 内核程序执⾏在内核态,⽤户程序执⾏在⽤户态。当应⽤程序使⽤系统调⽤时,会产⽣⼀个中断。发⽣中断后, CPU 会中断当前在执⾏的⽤户程序,转⽽跳转到中断处理程序,也就是开始执⾏内核程序。内核处理完后,主动 触发中断,把 CPU 执⾏权限交回给⽤户程序,回到⽤户态继续⼯作。 微信搜楼仔或扫描下⽅⼆维码关注楼仔的原创公众号,回复110 即可免费领取。 进程和线程 并⾏和并发有什么区别? 并发就是在⼀段时间内,多个任务都会被处理;但在某⼀时刻,只有⼀个任务在执⾏。单核处理器做到的并发,其 实是利⽤时间⽚的轮转,例如有两个进程A和B,A运⾏⼀个时间⽚之后,切换到B,B运⾏⼀个时间⽚之后⼜切换 到A 。因为切换速度⾜够快,所以宏观上表现为在⼀段时间内能同时运⾏多个程序。 并⾏就是在同⼀时刻,有多个任务在执⾏。这个需要多核处理器才能完成,在微观上就能同时执⾏多条指令,不同 的程序被放到不同的处理器上运⾏,这个是物理上的多个进程同时进⾏。 什么是进程上下⽂切换? 对于单核单线程 CPU ⽽⾔,在某⼀时刻只能执⾏⼀条 CPU 指令。上下⽂切换 (Context Switch) 是⼀种将 CPU 资 源从⼀个进程分配给另⼀个进程的机制。从⽤户⻆度看,计算机能够并⾏运⾏多个进程,这恰恰是操作系统通过快 速上下⽂切换造成的结果。在切换的过程中,操作系统需要先存储当前进程的状态 (包括内存空间的指针,当前执 ⾏完的指令等等) ,再读⼊下⼀个进程的状态,然后执⾏此进程。 进程有哪些状态? 当⼀个进程开始运⾏时,它可能会经历下⾯这⼏种状态: 上图中各个状态的意义: 运⾏状态(Runing):该时刻进程占⽤ CPU ; 就绪状态(Ready):可运⾏,由于其他进程处于运⾏状态⽽暂时停⽌运⾏; 阻塞状态(Blocked):该进程正在等待某⼀事件发⽣(如等待输⼊/输出操作的完成)⽽暂时停⽌运⾏,这 时,即使给它CPU控制权,它也⽆法运⾏; 当然,进程还有另外两个基本状态: 创建状态(new):进程正在被创建时的状态; 结束状态(Exit):进程正在从系统中消失时的状态; 什么是僵⼫进程? 僵⼫进程是已完成且处于终⽌状态,但在进程表中却仍然存在的进程。 僵⼫进程⼀般发⽣有⽗⼦关系的进程中,⼀个⼦进程的进程描述符在⼦进程退出时不会释放,只有当⽗进程通过 wait() 或 waitpid() 获取了⼦进程信息后才会释放。如果⼦进程退出,⽽⽗进程并没有调⽤ wait() 或 waitpid() ,那 么⼦进程的进程描述符仍然保存在系统中。 什么是孤⼉进程? ⼀个⽗进程退出,⽽它的⼀个或多个⼦进程还在运⾏,那么这些⼦进程将成为孤⼉进程。孤⼉进程将被 init 进程 (进程 ID 为 1 的进程) 所收养,并由 init 进程对它们完成状态收集⼯作。因为孤⼉进程会被 init 进程收养,所以孤 ⼉进程不会对系

文档评论(0)

jayjiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

认证主体焦**

1亿VIP精品文档免费下

相关文档

相关课程推荐