互联网大厂面试高频题-操作系统部分
前言
哈喽各位小伙伴们,本期小梁给大家带来了互联网大厂面试中操作系统部分的高频题,本文会以通俗易懂的语言以及图解形式描述,希望能给大家的面试带来一点帮助,祝大家offer拿到手软!!!
话不多说,我们立刻进入本期正题!
1 说说什么是操作系统吧。
答:操作系统是管理计算机硬件与软件资源、为用户提供交互接口的核心系统软件。
2 说说操作系统的功能吧。
答:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户接口。
(1)进程管理:负责程序的执行,包括进程的创建、调度、同步、通信和终止,确保系统资源的高效利用和多个进程的协调运行。
(2)内存管理:负责物理内存的分配与回收,提供虚拟内存功能,实现内存的扩充,保证各进程有效使用内存且互不干扰。
(3)文件系统管理:负责文件的存储、检索、更新和删除,管理磁盘空间的使用,提供文件访问控制和安全保护。
(4)设备管理:负责所有输入输出设备的管理,包括设备驱动程序的加载、I/O请求的调度和执行,以及设备状态的监控。
(5)用户接口:提供用户与操作系统交互的界面,包括命令行接口(CLI)和图形用户接口(GUI),方便用户操作计算机。
3 什么是用户态和内核态?
答:操作系统中的用户态和内核态是指处理器执行代码时的两种不同的权限级别或模式。
用户态:是应用程序执行时所处的较低权限级别;
内核态:是操作系统核心代码执行时所处的较高权限级别,可以直接访问硬件资源,可以控制 cpu、内存、硬盘等硬件和执行特权指令。
4 ⽤户态和内核态是如何切换的?
答:用户态和内核态之间的切换通常通过以下三种模式实现
(1)系统调用(System Call):
当应用程序需要执行一些只有内核才能执行的操作(如文件I/O、进程管理等)时,它会执行一个系统调用。
执行系统调用时,处理器从用户态切换到内核态,将控制权交给内核。
内核执行完系统调用后,将结果返回给应用程序,并切换回用户态。
(2)中断(Interrupt):
当硬件设备(如磁盘、网络适配器)需要操作系统处理某个事件时,它会发送一个中断信号给处理器。
处理器接收到中断信号后,会暂停当前的用户态进程,切换到内核态,执行相应的中断处理程序。
中断处理完成后,处理器通常会恢复被中断的用户态进程。
(3)异常(Exception):
当应用程序执行非法操作(如访问非法内存地址、执行特权指令)时,会触发一个异常。
处理器响应异常,从用户态切换到内核态,由内核决定如何处理该异常。
异常处理完毕后,内核可能会终止违规的应用程序,或者将其状态恢复到异常发生前的状态,并重新切换到用户态。