这篇文章主要介绍操作系统的定义、架构层次、界面和内核、内部组成和特征等内容。

概述

操作系统定义

用户角度 :操作系统是一个控制软件。

  • 管理应用软件:可以限制不同的应用程序占用不同的资源
  • 为应用程序提供服务:I/O 服务,声卡、网卡的访问服务
  • 杀死应用程序

程序角度 :操作系统是资源管理器。

  • 管理外设,分配资源
  • 抽象化作用
    • CPU 抽象成进程
    • 磁盘抽象成文件
    • 内存抽象成地址空间

操作系统的架构层次

硬件之上、应用软件之下(为应用软件提供服务支持)。

操作系统的界面和内核

Linux、Windows、Android 的界面属于外壳(shell),而不是内核(kernel)。kernel 是操作系统的研究重点,处于 shell 之下。

操作系统内部组成

操作系统(kernel)内部组件包括:

  • CPU 调度器
  • 物理内存管理
  • 虚拟内存管理
  • 文件系统管理
  • 中断处理与 I/O 设备驱动

操作系统特征

  • 并发
    • 计算机系统中同时存在多个运行的程序,需要 OS 管理和调度。
  • 共享
    • “同时”访问或互斥共享。
  • 虚拟
    • 利用多道程序设计技术,让每一个用户都觉得有一个计算机专门为他服务。
  • 异步
    • 每个程序的执行不是一贯到底,而是走走停停 & 交替执行,向前推进速度不可预知;
    • 只要运行环境相同,OS 保证程序运行结果相同。

「并发」在一段时间内可以有多个程序运行,而「并行」是在一个时间点上可以有多个程序运行,并行需要多核 CPU 支持。