当前位置:网站首页 > 编程语言 > 正文

操作系统的基本操作(操作系统的基本操作单位)



管理软/硬件资源,为程序提供服务的程序

“精准”的定义毫无意义

操作系统如何从一开始变成现在这样的?

  • 三个重要线索
    • 计算机(硬件)
    • 程序(软件)
    • 操作系统(管理软件的软件)

操作系统=对象+API(应用视角/设计)=C程序(硬件视角/实现)

image-20220314085237096

Bootloader:加载OS(硬盘->内存),使从cpu执行操作系统

BootLoader一般位于硬盘的第一个主引导扇区 (一个扇区的大小为512Byte)

image-20220314112509811

1.POST(加电自检):寻找显卡和执行BOIS

2.BOIS把BootLoader从硬盘加载到内存

image-20220314112650905

image-20220314113347137

定义

  • 系统调用(来源于应用程序)

    应用程序主动向操作系统发出服务请求

  • 异常(来源于不良的应用程序)

    非法指令或者其他坏的处理状态(如:内存出错)

  • 中断(来源于外设)

    来自不同的硬件设备的计时器和网络的中断

为什么应用程序不能直接访问外设而要借助操作系统呢?

  • 在计算机运行中,内核是被信任的第三方
  • 只有内核可以执行特权指令
  • 为了方便应用程序

中断异常系统调用的区别

源头 处理时间 响应 中断 外设 异步 持续,对用户应用程序是透明的 异常 应用程序意想不到的行为 同步 杀死或重新执行意想不到的应用程序指令 系统调用 应用程序请求操作系统提供服务 异步或同步 等待和持续(等待服务完成之后继续执行)

系统调用发出请求的那个点是同步的,但是返回的那个点可能是异步的

中断和异常处理机制

  • 中断是外设的事件
  • 异常是内部CPU的事件
  • 中断和异常迫使CPU访问一些被中断和异常服务访问的功能

硬件

设置中断标记[CPU初始化]

1.将内部、外部事件设置中断标记

2.中断事件的ID

软件

  • 保存当前处理状态
  • 中断服务程序处理
  • 清除中断标记
  • 恢复之前保存的处理状态

异常

  • 保存现场(产生异常这条指令的地址,以及当前一些寄存器保存的内容等)
  • 异常处理
    • 杀死产生了异常的程序
    • 重新执行异常指令
  • 恢复现场

系统调用

标准C库的一个例子

  • C语言中,应用程序调用时,会触发系统调用

程序访问主要是通过高层次的API接口而不是直接进行系统调用

  • Win32 API用于Windows
  • POSIX API用于POSIX-based systems(包括UNIX Linux Mac OS X的所有版本)
  • Java API用于Java虚拟机(JVM)

通常情况下,与每个系统调用相关的序号,系统调用接口根据这些序号来维护表的索引

系统调用接口调用内核态中预期的系统调用,并返回系统调用的状态和其他任何返回值

用户不需要知道系统调用是如何实现的,只需要获取API和了解操作新系统将什么作为返回结果,操作系统接口的细节大部分都隐藏在API中,通过运行程序支持的库来管理(用包含编译器的库来创建函致集)

跨越操作系统边界的开销

中断,异常,系统调用其实是跨越了操作系统的边界,保证了整个系统安全稳定正常的运行,所以会有必要的开销

  • 在执行时间上的开销超过程序调用
  • 开销
    • 建立中断/异常/系统调用号与对应服务例程映射关系的初始化开销
    • 建立内核堆栈
    • 验证参数
    • 内核态映射到用户态的地址空间

      ​ 更新页面映射权限

    • 内核态独立地址空间

      ​ TLB

到此这篇操作系统的基本操作(操作系统的基本操作单位)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • M301h刷机后蓝牙不能用(刷机后蓝牙和wifi不能用怎么办)2025-07-28 23:27:07
  • 换国内ip的加速器(换国内ip的加速器推荐)2025-07-28 23:27:07
  • 字体图标的好处(字体图标怎么做出来的)2025-07-28 23:27:07
  • git用法详解(git用处)2025-07-28 23:27:07
  • github国内替代(github 国内版)2025-07-28 23:27:07
  • sinomed是什么意思(slammed什么意思)2025-07-28 23:27:07
  • 一级什么叫一级标题二级标题一,二级什么叫一级标题二级标题(一)(一级什么叫一级标题二级标题二级什么叫一级标题二级标题内容)2025-07-28 23:27:07
  • ip地址为回环地址(ip地址为回环地址什么意思)2025-07-28 23:27:07
  • lda主题模型困惑度(lda主题模型困惑度一直递减)2025-07-28 23:27:07
  • 认证识别码是什么(识别认证怎么写)2025-07-28 23:27:07
  • 全屏图片