OSTEP 阅读笔记(Ch02.操作系统介绍)

第二章 操作系统介绍

基本概念

  • 操作系统中最重要的 3 个概念
    • 虚拟化(virtualization)
    • 并发(concurrency)
    • 持久性(persistence)
  • 运行程序:执行指令
  • 操作系统的出现,是为了让系统更加易于使用、能够高效地运行
  • 操作系统利用虚拟化技术(virtualization),将物理资源抽象为更通用、强大的虚拟形式
    • 虚拟化技术允许多个程序同时运行,并让他们似乎有着自己独立的物理设备
    • 但是实际的物理设备是有限的,
  • 方便应用程序调用一些物理设备(还有保护的原因),操作系统为用户提供了很多系统调用,用于运行程序、访问内存和设备等
  • Virtualizing the CPU
    • 可以多个程序一起运行(顺序由操作系统调度)
  • Virtualizing Memory
    • 让每个程序认为自己有独立的地址空间(虚存空间)
    • 代码输出的地址是虚拟地址
  • Concurrency
    • 多线程是一种并发
    • 非原子操作可能会引发错误
    • 操作系统需要处理并发问题
  • Persistence
    • 由于断电或者系统崩溃等问题,需要持久存储数据
    • 文件系统:操作系统中操理磁盘的软件
    • 操作系统中没有虚拟磁盘,程序共享文件
      • 硬件驱动程序很复杂,硬件相关(Windows中加入了硬件抽象层 HAL)
    • 处理系统崩溃
      • 日志
    • 性能优化
      • 写时复制

设计目标

  • 处理上述问题
  • 抽象(层)
  • 高性能
  • 保护与隔离
  • 能源效率
  • 安全

历史

  • 早期
    • 只是一些库
  • 限制应用程序功能
    • 系统调用、权限分级
  • multiprogramming
    • 调度程序
    • 内存保护
  • PC:低成本、速度快、大众化