现代操作系统一点点

现代操作系统

操作系统为所有其他软件提供基础的运行环境。

操作系统包含很多用于控制输入/输出设备的驱动

文件也是抽象出来的

操作系统的一个主要任务是隐藏硬件,呈现给程序(以及程序员)良好、清晰、优雅、一致的抽象。

shell也是操作系统提供给用户的一个用户接口

作为资源管理者的操作系统

把操作系统看作向应用程序提供基本抽象的概念,是一种自顶向下的观点。按照另一种自底向上的观点,操作系统则用来管理一个复杂系统的各个部分。现代计算机包含计算存储时钟网口和其他外设。从这个角度看,操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他IO接口设备的分配。

作业job

批处理系统batch system

为什么C、JAVA、Python基本上输出语句都用print,因为在计算机发展的初期,输出主要就是用来让打印机打印的。那时候可能用纸质媒介记录信息,可能还没有显示器呢吧

控制卡片有JOB LOAD $RUN E N D ,还有一个 END,还有一个 END,还有一个FORTRAN卡片,这些基本的控制卡片是现代shell和命令解释器的先驱。

栈stack是一种特殊的线性表,像烤串、弹夹、碟子,物理存在为内存的一片区域,stack是一种数据结构。分配一段内存空间创建一个stack栈

为了从操作系统中获得服务,用户程序必须使用系统调用(system call)以陷入内核并调用操作系统。

Trap指令把用户态切换成内核态,并启用操作系统。当有关工作完成之后,在系统调用后面的指令把控制权返回给用户程序。

现代计算机应该是使用trap而不是一条指令来执行系统调用。

多线程允许CPU保持两个不同的线程状态,然后在纳秒级的时间尺度内来回切换。

时钟周期

多线程不提供真正的并行处理。在一个时刻只有一个进程在运行,但是线程的切换时间则减少到纳秒数量级

CPU中寄存器的存储容量都小于1KB

三级Cache一般用的是SRAM

内存条一般用的是DRAM

RAM random access memory

SRAM static random access memory

DRAM dynamic random access memory

DDR double data rate synchronous dynamic random access memory 双倍数据速率时钟动态随机记忆

用户与硬件交互的流程

user-->operation system-->设备驱动程序(device driver)-->设备控制器(是插在电路板上的一块芯片或一组芯片)-->设备本身(设备本身有个相对简单的接口,这个接口已经被标准化了,SATA就是其中一种接口)


以下内容为AI生成,

用户与硬件交互流程,为了更清晰地理解,可以将这个过程分为几个层次:

  • 用户层:用户通过应用程序或命令行工具发起操作请求。
  • 操作系统层:操作系统接收用户的请求,并通过系统调用接口(syscall)进行处理。
  • 设备驱动程序层:操作系统将请求传递给相应的设备驱动程序,设备驱动程序负责与特定硬件通信。
  • 设备控制器层:设备驱动程序与设备控制器交互,设备控制器管理硬件的具体操作。
  • 硬件设备层:设备控制器通过标准化接口(如SATA、USB等)与实际的硬件设备通信。

具体流程如下:

  1. 用户通过应用程序发起一个操作请求(例如读取文件)。
  2. 操作系统接收到请求后,将其转换为系统调用。
  3. 系统调用被传递给相应的设备驱动程序。
  4. 设备驱动程序与设备控制器通信,发送指令。
  5. 设备控制器通过标准化接口(如SATA)与硬件设备交互,执行具体操作。
  6. 操作完成后,结果逐层返回给用户。

这种分层设计使得不同层次的功能更加明确,也便于维护和扩展。


IO设备的中断(Interrupt)是计算机系统中一种重要的机制,用于通知CPU有外部事件发生,需要立即处理。当中断发生时,CPU会暂停当前正在执行的任务,转而处理中断请求,处理完毕后再返回到原来的任务。

中断的工作原理

  1. 触发中断:当IO设备完成某个操作(如数据传输完成、错误发生等),它会向CPU发送一个中断信号。
  2. 保存现场:CPU接收到中断信号后,会保存当前执行状态(如寄存器内容、程序计数器等),以便稍后能够恢复执行。
  3. 执行中断服务程序(ISR, Interrupt Service Routine):CPU跳转到预先设定的中断处理程序地址,执行相应的处理逻辑。
  4. 恢复现场:中断处理完成后,CPU恢复之前保存的状态,继续执行原来的任务。

英文翻译

"中断"对应的英文是 Interrupt 。完整的术语可以是 Interrupt Request (IRQ) 或者 Interrupt Service Routine (ISR),具体取决于上下文:

  • Interrupt:中断
  • Interrupt Request (IRQ):中断请求
  • Interrupt Service Routine (ISR):中断服务程序

在硬件和操作系统的设计中,中断机制是非常关键的部分,它使得CPU能够高效地响应外部事件,而不必频繁轮询设备状态。

相关推荐
三十..2 小时前
Ceph 三大存储接口深度实践与数据保护指南
运维·ceph
9分钟带帽2 小时前
linux_系统开机自动执行shell脚本
linux·服务器
蝶豆花3 小时前
基于商城系统的功能,自动化,性能-测试报告
运维·自动化
袋鼠云数栈3 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
黎阳之光3 小时前
视频孪生智护供水生命线:黎阳之光赋能医疗与园区水务高质量升级
运维·物联网·算法·安全·数字孪生
志栋智能4 小时前
AI驱动无代码:降低巡检超自动化的门槛
大数据·运维·网络·人工智能·自动化
嵌入式小能手4 小时前
飞凌嵌入式ElfBoard-进程间的通信之命名管道
linux·服务器·算法
AOwhisky4 小时前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
Land03295 小时前
RPA网页自动化:元素定位失效的7种根因与XPath鲁棒性改造方案
运维·selenium·自动化·rpa
Starry-sky(jing)5 小时前
# Linux 下 Qt 应用无障碍自动化:记一次wx无人值守系统的架构演进
linux·qt·自动化