计算机操作系统

概述

大纲:中断,系统调用,内存管理,进程线程,调度,同步,文件系统,I/O

什么是操作系统

  • 功能上
    • 对用户来说,OS是控制
    • 管理应用程序的运行
    • 为应用程序提供服务
    • 杀死应用程序
  • 对下
    • 资源分配,管理,外设管理(多个资源的协调)

抽象

承上启下的作用:层次架构

  • 硬件之上
  • 应用程序(比如办公软件,视频播放软件等等)之下
    • OS为应用软件提供服务支撑
    • 分为两部分:shell部分,对外的接口。kernel部分,也就是OS的本身

kernel部分

  • CPU管理,进程线程
  • 内存管理(物理内存,虚拟内存)
    • 虚拟内存:给上层应用提供尽可能大的内存空间
  • 文件系统管理
  • (底层相关)中断处理和设备驱动 -> 直接和硬件打交道

操作系统的特征

  • 并发concurrency:同时存在多个运行的程序,需要OS管理和调度
    • 一段时间内,多个程序
    • 并行parallelism:一个时间点上多个程序。一般并行的需要有多个CPU
  • 共享:有效让资源共享给需要的应用程序
    • 对于一个内存单元:一个时间点上只有一个程序访问一个资源
    • 同时访问?互斥共享?
  • 虚拟:让每个用户都觉得有一个计算机专门为他服务
    • 把一台机器虚拟成多台机器
  • 异步(虽然执行的步骤不同,但是结果也相同)
    • 不是一贯到底的,是走走停停的,向前推荐的速度不可知
    • 但是运行环境相同,OS要保证运行的结果也相同

为什么学习OS

  • 效率,可靠 -> 算法
  • 硬件
    • 良好的硬件管理,合理的资源分配
  • 硬件可以完成很多OS以前关注的问题
  • 需要权衡
    • 时间空间
    • 性能和可预测
    • 公平和性能

经典OS

  • UNIX
  • Linux:移动终端的占有量非常大
  • Windows

历史