• 约 6 分钟

操作系统·概述

操作系统的基本概念

操作系统的概念

操作系统的特征

  • 并发
  • 共享
    • 互斥共享方式
    • 同时访问方式(分时)
  • 虚拟
    • 虚拟处理器(时分复用)
    • 虚拟存储器(空分复用)
  • 异步:进程的执行不是一贯到底的,是以不可预知的速度向前推进

操作系统的目标和功能

  • 作为计算机系统资源的管理者
    • 处理机管理
    • 存储器管理
    • 文件管理
    • 设备管理
  • 作为用户与计算机之间的接口
    • 命令接口
      • 联机命令(交互式命令)
      • 脱机命令(批处理命令)
    • 程序接口:由一组系统调用(广义指令)组成
  • 实现计算机资源的扩充

操作系统发展历程

手工操作阶段

  • 缺点
    • 独占全机
    • CPU利用不充分

批处理阶段

  • 单道批处理系统
    • 主要特征
      • 自动性
      • 顺序性
      • 单道性
    • 缺点(问题)
      • CPU与I/O串行,利用率不高
  • 多道批处理系统
    • 特点
      • 多道
      • 宏观上并行
      • 微观上串行
    • 优点
      • 利用率高
      • 吞吐量大
    • 缺点
      • 用户响应时间长
      • 不提供人机交互能力

分时操作系统

  • 分时技术
  • 分时操作系统的主要特征
    • 同时性
    • 交互性
    • 独立性(注意并不是封闭性,封闭性是单道的特征)
    • 及时性

实时操作系统

  • 硬实时系统
  • 软实时系统

网络操作系统和分布式计算机系统

个人计算机操作系统

操作系统结构

分层结构

  • 描述:内核分多层,每层可单向调用更低一层的接口
  • 优点
    • ⭐️便于调试和验证
    • 易扩充、易维护。层间接口清晰固定
  • 缺点
    • 各层边界难以合理定义
    • ⭐️跨层调用,时间长,效率低

模块化

  • 描述
    • 内核划分为多个模块,各模块相互协作
    • ⭐️内核=主模块+可加载内核模块
    • 主模块只负责核心功能
  • 优点
    • 逻辑清晰易于维护,可同时开发i
    • ⭐️动态加载新模块
    • ⭐️任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高
  • 缺点
    • 接口定义未必合理、实用
    • 模块相互依赖,难以调试、验证

宏内核

  • 描述:所有系统功能都放在内核里
  • 优点:❗️性能高
  • 缺点
    • ❗️内核庞大 功能复杂 难以维护
    • ❗️某个功能模块出错,导致整个系统崩溃

微内核

  • 描述
    • 只把中断、原语、进程通信等最核心的功能放入内核
    • 进程管理、文件管理、设备管理等功能以进程形式运行在用户态
  • 优点
    • ❗️内核小 易于维护 内核可靠性高
    • ❗️内核外的功能模块出错不会导致整个系统崩溃
  • 缺点
    • ❗️频繁“变态”,性能低
    • ❗️服务器不能直接相互调用,需要通过微内核通信

外核 详细介绍

  • ⭐️描述:
    • 内核负责进程调度、进程通信等
    • 外核为用户进程分配未经抽象的硬件资源,且由外核保证资源使用安全
  • 优点
    • ⭐️直接分配“不虚拟、不抽象”的硬件资源
    • ⭐️减少了“映射层”(抽象资源映射到实际资源的层次),提升效率
  • 缺点
    • 降低了系统的一致性
    • 使系统变得更复杂

操作系统引导

一些概念

  • CMOS
  • MBR
  • PBR
  • 启动管理器

CPU视角的引导过程

  • 爷(又)活了
  • 用BIOS里面的指令完成硬件自检,找到可启动的存储器的MBR
  • 用MBR找到活动分区
  • 用PBR找到最好的伙伴(OS)的启动管理器
  • 启动管理器来了,来吧蹂躏我😘

BIOS ROM RAM MM的关系

主存是一个逻辑上的空间,不仅仅包括内存条上的存储空间(RAM),还包括一些ROM,而BIOS是写在ROM里面的,逻辑上归为主存的一部分

操作系统运行环境

处理器运行模式

  • 变态
    • 应用程序(被管理程序、用户自编程序、上层程序)在用户态(目态)执行非特权指令
    • 内核程序(管理程序、操作系统程序)在内核态(管态、核心态)执行特权指令
    • 用户程序通过访管指令(属于非特权指令),引起中断并自动由操作系统在管态执行响应操作
    • 操作系统执行一条特权指令(中断返回指令)让权到用户态
  • 操作系统内核
    • 时钟管理
    • 中断机制
    • 原语(Atomic Operation)
    • 系统控制的数据结构及处理

中断

  • 内部异常(内中断)
    • 故障(Fault)
    • 自陷(Trap)
    • 终止(Abort)
  • 外部中断(狭义中断)
    • 可屏蔽中断INTR
    • 不可屏蔽中断NMI
  • 软件中断
    • 故障
    • 自陷
  • 硬件中断
    • 终止
    • INTR
    • NMI

系统调用

  • 按功能分类
    • 设备管理
    • 文件管理
    • 进程控制
    • 进程通信
    • 内存管理

常见特权指令

  • I/O指令
  • 访问程序状态
  • 存取特殊寄存器
  • 其他

外核

What is exokernal?

  • traditional os
    • abstracts and protects system resources
      • physical mem -> virtual mem
      • disk -> virtual file systems
    • Benefits:
      • portable interface
      • apps are unconcerned with lower levels of hardware management
    • Problems:
      • lack of flexibility
      • a gap between apps and actual hdware (the indication of files are actually there?????)
      • level differentiate
  • Exokernel?
    • gives as much control over systems as possible, without compromising system security or integrity
    • separates system protection from systems management
    • SysCalls are way less

Are exokernel better than traditional operating systems?

  • MORE chaos
  • but less redundancy

How do exokernels work?

What are the advantages / disadvantages of exokernel?

Advantages

  • Minimizes the hardware abstraction
  • Reduce the overhead by removing SysCalls
  • Provide apps with the freedom they need to manage system resources
  • Offer finer-grain protection levels
  • Permit shared access to system resources via the LibOS

Disadvantages

  • need for further research

虚拟机

  • 裸金属
  • 寄宿
林威
林威 咖味十足的软件工程师