当前位置: 首页 > news >正文

操作系统面试问题(4)

32.什么是操作系统

操作系统是一种管理硬件和软件的应用程序。也是运行在计算机中最重要的软件。它为硬件和软件提供了一种中间层,让我们无需关注硬件的实现,把心思花在软件应用上。

通常情况下,计算机上会运行着许多应用程序,它们都需要对内存和CPU进行交互,操作系统就是为了保证这些交互能够准确运行。

 

 33.操作系统的主要功能

进程管理:在单核处理器下,操作系统只需给每个进程一个任务,管理起来很简单。而在多核处理器下,又要为进程分配任务,又要管理处理器的调度、分配、回收。

内存管理:操作系统要管理内存的分配、回收。在进程需要的时候分配内存,进程完成后回收内存,协调内存资源,通过合理的页面置换算法进行页面的换入换出。

设备管理:根据确定的设备分配原则对设备进行分配,使设备和主机能够并行工作。

文件管理:有效管理文件存储空间,让文件访问和文件保护更有效。

提供用户接口:使用户能够通过应用程序发起系统调用操控硬件。

34.操作系统的目的 

(1)管理计算机资源,包括CPU、内存、磁盘、打印机

(2)提供图形界面,以供用户操控硬件

(3)为其他软件服务,操作系统与软件交互,为其分配资源。

 35.为什么Linux系统下的应用不能在Windows下运行

最本质的原因就是格式不同和API不同,Linux的API指的是系统调用,而Windows的API指的是DLL,这是一个库,里面包含代码和数据。

36.陷入内核

​“陷入内核”(Trap into Kernel)​​ 是操作系统中的一种关键机制,指​​用户态程序主动或被动触发切换至内核态​​,由操作系统内核接管执行权限的过程。其核心目的是​​安全地访问受保护的硬件或系统资源​​。 

38.用户态和内核态

内核态:特权级为0,处于内核态的CPU可以访问任意数据,可以从一个程序切换为另一个程序,并且不会发生抢占情况。

用户态:特权级为3,CPU只能访问受限的内存,不允许访问外围设备(如网卡、硬盘),CPU不允许独占,能够被其他程序获取。

39.用户态和内核态的切换

  1. ​用户程序调用glibc库​

    • glibc作为标准库,封装了系统调用的关键API(如open()write())。
    • 根据CPU体系结构(如ARM/x86)和应用程序二进制接口(ABI)设置参数。
  2. ​触发模式切换​

    • glibc调用​​软件中断指令(SWI)​​,触发特权级切换:
      • 更新​​CPSR寄存器​​(ARM架构),将CPU模式改为​​超级用户模式​​(内核态)。
      • 跳转到固定地址 ​​0x08​​(ARM的异常向量表入口)。
  3. ​内核态处理​

    • 从地址0x08开始执行​​中断处理程序​​(ARM中为vector_swi()):
      • 从SWI指令中提取​​系统调用号(SCNO)​​。
      • 以SCNO为索引,查系统调用表sys_call_table,跳转到对应的内核函数(如sys_write)。
  4. ​返回用户态​

    • 系统调用执行完成后:
      • 恢复用户模式的寄存器状态。
      • CPU切换回​​用户模式​​,程序继续执行。

 

40.什么是内核 

内核是操作系统的​​最核心程序​​,直接控制计算机所有硬件和软件资源,是Bootloader完成初始化后加载的第一个程序​​。

引导加载程序(Bootloader)​
  • ​定义​​:负责将操作系统内核从磁盘​​加载到内存​​的小型程序。
  • ​工作流程​​:
    1. ​硬件启动​​:电源通电或重启时,BIOS执行硬件自检(POST)。
    2. ​定位Bootloader​​:BIOS读取磁盘的​​主引导记录(MBR)​​或UEFI查找ESP分区中的引导程序。
    3. ​加载内核​​:Bootloader将内核镜像(如Linux的vmlinuz)从磁盘载入内存,并移交控制权。
启动流程全貌​
  1. ​BIOS​​ → 2. ​​Bootloader(MBR/ESP)​​ → 3. ​​内核加载​​ → 4. ​​操作系统初始化​

 

相关文章:

  • CMD常见命令
  • deep seek简介和解析
  • Etcd 数据存储文件
  • Java 匿名内部类的作用
  • 洛谷 P1179【NOIP 2010 普及组】数字统计 —— 逐位计算
  • MTU最大传输单位
  • Java 集合体系深度解析面试篇
  • 各类音频放大器电路原理简析
  • Tomcat 日志体系深度解析:从访问日志配置到错误日志分析的全链路指南
  • 首版次软件测试的内容有哪些?首版次软件质量影响因素是什么?
  • 互联网大厂Java求职面试:基于RAG的智能问答系统设计与实现-1
  • 【进化算法】常见单目标进化算法一览
  • 权限控制模型全解析:RBAC、ACL、ABAC 与现代混合方案
  • Spring Boot + MyBatis-Plus 高并发读写分离实战
  • 大白话解释地址线宽度
  • AIOps 工具介绍
  • 智汇云舟亮相第二十七届北京科博会
  • C#里创建一个MaterialDesign3的导航条
  • 云上系统CC攻击如何进行检测与防御?
  • LeetCode 解题思路 47(最长回文子串、最长公共子序列)
  • 习近平会见古共中央第一书记、古巴国家主席迪亚斯-卡内尔
  • 850亿元!2025年中央金融机构注资特别国债(一期)拟第一次续发行
  • 国家主席习近平在莫斯科出席红场阅兵式
  • 全国人大常委会启动食品安全法执法检查
  • 第32届梅花奖终评启幕,上海京剧院《智取威虎山》满堂彩
  • 中美“第二阶段”贸易协定是否会在会谈中提出?商务部回应