1 操作系统基本概念

清华大学 操作系统课笔记

功能定义

  1. 向上管理应用程序,并为应用程序提供服务
  2. 向下管理、分配硬件资源

操作系统拆分

  1. Linux、Windows等操作系统提供的界面接口(Shell)
  2. 操作系统内部kernel

kernel内部组件

  1. CPU调度
  2. 物理内存管理
  3. 虚拟内存管理
  4. 文件系统管理
  5. 中断和设备驱动

kernel特征

  1. 并发:
    一段时间内,系统中同时存在多个运行的程序,需要OS管理和调度
    (并行:一个时间点内,系统中同时运行多个应用程序,需要多CPU支持)
  2. 共享:
    • 同时访问
    • 互斥共享
  3. 虚拟:
    利用多道程序设计技术,使每个用户都觉得有一个计算机专门为自己服务
    • CPU → 进程
    • 磁盘→文件
    • 内存→地址空间
  4. 异步:
    并发的程序不是一贯到底,而是走走停停,但只要运行环境相同,结果也要相同

如何学习OS

  • 我听到的我会忘记
  • 我看到的我能记住
  • 只有我做过的我才能理解

发展

硬件发展和需求变化共同推动OS发展

image-20200705094101123

结构设计发展

早期

  1. PC:简单操作系统MS-DOS
    • 单体操作系统
    • 没有模块化、分层设计
    • 没有保护机制,易受攻击、破坏
  2. Server:Unix
    • 分层、模块化设计

微内核

  1. 内核只放基本功能(如中断处理、消息传递),其他功能(如FS、内存管理)通过外层模块实现。模块间不通过函数调用机制,仅通过消息传递机制通信
  2. 降低了模块间的耦合度,灵活、安全
  3. 问题:服务模块交互开销较大,性能较差,因此工业界目前较少使用

外核

  1. Kernel分成两个ExoKernel(外核)和LibOS(操作系统库)
  2. ExoKernel负责管理硬件,向上为LibOS服务。针对不同的应用程序可以设计不同的LibOS(有利于提升效率)
  3. 目前停留在学术研究

VMM(虚拟机监视器)

  1. 位于操作系统之下
  2. 虚拟出多台完整的计算机,虚拟机并不知道自己运行在VMM
  3. 目的:充分利用富余的计算机资源
posted @ 2022-02-16 14:04  DreamEagle  阅读(171)  评论(0编辑  收藏  举报